Skip to content

Commit feae58d

Browse files
bump k8s to 1.21
Co-authoured-by: atoato88 <[email protected]> Signed-off-by: varshaprasad96 <[email protected]>
1 parent 0e6c4fa commit feae58d

File tree

7 files changed

+374
-418
lines changed

7 files changed

+374
-418
lines changed

examples/guestbook-operator/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ module sigs.k8s.io/kubebuilder-declarative-pattern/examples/guestbook-operator
33
go 1.13
44

55
require (
6-
github.com/go-logr/logr v0.3.0
7-
k8s.io/apimachinery v0.20.1
8-
k8s.io/client-go v0.20.1
9-
sigs.k8s.io/controller-runtime v0.8.0
6+
github.com/go-logr/logr v0.4.0
7+
k8s.io/apimachinery v0.21.1
8+
k8s.io/client-go v0.21.1
9+
sigs.k8s.io/controller-runtime v0.9.0
1010
sigs.k8s.io/kubebuilder-declarative-pattern v0.0.0
1111
)
1212

examples/guestbook-operator/go.sum

Lines changed: 155 additions & 186 deletions
Large diffs are not rendered by default.

go.mod

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ require (
66
github.com/blang/semver/v4 v4.0.0
77
github.com/evanphx/json-patch/v5 v5.1.0
88
github.com/go-git/go-git/v5 v5.1.0
9-
github.com/go-logr/logr v0.3.0
9+
github.com/go-logr/logr v0.4.0
1010
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
11-
github.com/prometheus/client_golang v1.7.1
12-
github.com/stretchr/testify v1.6.1
13-
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0
14-
golang.org/x/tools v0.0.0-20200714190737-9048b464a08d
15-
k8s.io/api v0.20.1
16-
k8s.io/apimachinery v0.20.1
17-
k8s.io/cli-runtime v0.20.1
18-
k8s.io/client-go v0.20.1
11+
github.com/prometheus/client_golang v1.11.0
12+
github.com/stretchr/testify v1.7.0
13+
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
14+
golang.org/x/tools v0.1.0
15+
k8s.io/api v0.21.1
16+
k8s.io/apimachinery v0.21.1
17+
k8s.io/cli-runtime v0.21.1
18+
k8s.io/client-go v0.21.1
1919
k8s.io/klog v1.0.0
20-
k8s.io/kubectl v0.20.1
20+
k8s.io/kubectl v0.21.1
2121
sigs.k8s.io/cli-utils v0.16.0
22-
sigs.k8s.io/controller-runtime v0.8.0
23-
sigs.k8s.io/kustomize/api v0.3.2
22+
sigs.k8s.io/controller-runtime v0.9.0
23+
sigs.k8s.io/kustomize/api v0.8.8
2424
sigs.k8s.io/yaml v1.2.0
2525
)

go.sum

Lines changed: 155 additions & 188 deletions
Large diffs are not rendered by default.

pkg/patterns/declarative/metrics_test.go

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ import (
2020
"bytes"
2121
"context"
2222
"errors"
23-
"os"
24-
"os/exec"
25-
"path/filepath"
23+
"io/ioutil"
2624
"strings"
2725
"testing"
2826
"time"
@@ -32,6 +30,7 @@ import (
3230
core "k8s.io/api/core/v1"
3331
"k8s.io/apimachinery/pkg/runtime/schema"
3432
"k8s.io/apimachinery/pkg/types"
33+
"k8s.io/client-go/rest"
3534
"sigs.k8s.io/controller-runtime/pkg/envtest"
3635
"sigs.k8s.io/controller-runtime/pkg/manager"
3736
"sigs.k8s.io/controller-runtime/pkg/reconcile"
@@ -242,10 +241,10 @@ func TestReconcileFailedWith(t *testing.T) {
242241
// and point that path.
243242
func TestAddIfNotPresent(t *testing.T) {
244243
const defKubectlPath = "/usr/local/kubebuilder/bin"
245-
var kubectlPath string
246244

247245
// Run local kube-apiserver & etecd
248246
testEnv := envtest.Environment{}
247+
249248
restConf, err := testEnv.Start()
250249
if err != nil {
251250
t.Log("Maybe, you have to make sure control plane binaries" + " " +
@@ -256,6 +255,12 @@ func TestAddIfNotPresent(t *testing.T) {
256255
t.Error(err)
257256
}
258257

258+
// Add user for test
259+
user, err := testEnv.AddUser(envtest.User{Name: "default", Groups: []string{"system:masters"}}, &rest.Config{})
260+
if err != nil {
261+
t.Error(err)
262+
}
263+
259264
// Create manager
260265
mgrOpt := manager.Options{}
261266
mgr, err := manager.New(restConf, mgrOpt)
@@ -268,11 +273,9 @@ func TestAddIfNotPresent(t *testing.T) {
268273
_ = mgr.GetCache().Start(ctx)
269274
}()
270275

271-
// Set up kubectl command
272-
if envPath := os.Getenv("KUBEBUILDER_ASSETS"); envPath != "" {
273-
kubectlPath = filepath.Join(envPath, "kubectl")
274-
} else {
275-
kubectlPath = filepath.Join("/usr/local/kubebuilder/bin", "kubectl")
276+
ctl, err := user.Kubectl()
277+
if err != nil {
278+
t.Error(err)
276279
}
277280

278281
// kubectl arg for "kubectl apply"
@@ -488,7 +491,6 @@ func TestAddIfNotPresent(t *testing.T) {
488491
globalObjectTracker.SetMetricsDuration(st.metricsDuration)
489492

490493
for i, yobjList := range st.objects {
491-
var cmd *exec.Cmd
492494
var stdout bytes.Buffer
493495
var stderr bytes.Buffer
494496
var cmdArgs []string
@@ -529,26 +531,38 @@ func TestAddIfNotPresent(t *testing.T) {
529531
t.Error(err)
530532
}
531533

534+
tmpManifests, err := ioutil.TempFile(t.TempDir(), "tmp-manifests-*.yaml")
535+
if err != nil {
536+
t.Error(err)
537+
}
538+
_, err = tmpManifests.WriteString(yobj)
539+
if err != nil {
540+
tmpManifests.Close()
541+
t.Error(err)
542+
}
543+
err = tmpManifests.Close()
544+
if err != nil {
545+
t.Error(err)
546+
}
547+
532548
// Set up kubectl command
533549
if st.actions[i] != "Delete" {
534550
if len(st.defaultNamespace) != 0 {
535-
cmdArgs = append(applyArgs, "-n", st.defaultNamespace, "-f", "-")
551+
cmdArgs = append(applyArgs, "-n", st.defaultNamespace, "-f", tmpManifests.Name())
536552
} else {
537-
cmdArgs = append(applyArgs, "-f", "-")
553+
cmdArgs = append(applyArgs, "-f", tmpManifests.Name())
538554
}
539555
} else {
540556
if len(st.defaultNamespace) != 0 {
541-
cmdArgs = append(deleteArgs, "-n", st.defaultNamespace, "-f", "-")
557+
cmdArgs = append(deleteArgs, "-n", st.defaultNamespace, "-f", tmpManifests.Name())
542558
} else {
543-
cmdArgs = append(deleteArgs, "-f", "-")
559+
cmdArgs = append(deleteArgs, "-f", tmpManifests.Name())
544560
}
545561
}
546-
cmd = exec.Command(kubectlPath, cmdArgs...)
547-
cmd.Stdin = strings.NewReader(yobj)
548-
cmd.Stdout = &stdout
549-
cmd.Stderr = &stderr
550-
551-
if err := cmd.Run(); err != nil {
562+
stdOut, stdErr, err := ctl.Run(cmdArgs...)
563+
if err != nil {
564+
stdout.ReadFrom(stdOut)
565+
stderr.ReadFrom(stdErr)
552566
t.Logf("action: %v\n", st.actions[i])
553567
t.Logf("stdout: %v\n", stdout.String())
554568
t.Logf("stderr: %v\n", stderr.String())

pkg/patterns/declarative/reconciler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,8 @@ func (r *Reconciler) BuildDeploymentObjectsWithFs(ctx context.Context, name type
338338
if r.IsKustomizeOptionUsed() {
339339
// run kustomize to create final manifest
340340
opts := krusty.MakeDefaultOptions()
341-
k := krusty.MakeKustomizer(fs, opts)
342-
m, err := k.Run(manifestObjects.Path)
341+
k := krusty.MakeKustomizer(opts)
342+
m, err := k.Run(fs, manifestObjects.Path)
343343
if err != nil {
344344
log.Error(err, "running kustomize to create final manifest")
345345
return nil, fmt.Errorf("error running kustomize: %v", err)

pkg/test/mocks/manager.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,21 @@ import (
2828
"k8s.io/client-go/tools/record"
2929
"sigs.k8s.io/controller-runtime/pkg/cache"
3030
"sigs.k8s.io/controller-runtime/pkg/client"
31+
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
3132
"sigs.k8s.io/controller-runtime/pkg/healthz"
3233
"sigs.k8s.io/controller-runtime/pkg/manager"
3334
"sigs.k8s.io/controller-runtime/pkg/webhook"
3435
)
3536

3637
// Mock Types for Reconciler tests:
3738
type Manager struct {
38-
client client.Client
39-
cache cache.Cache
40-
config rest.Config
41-
Scheme *runtime.Scheme
42-
eventRecorder record.EventRecorder
43-
mapper meta.RESTMapper
39+
client client.Client
40+
cache cache.Cache
41+
config rest.Config
42+
Scheme *runtime.Scheme
43+
eventRecorder record.EventRecorder
44+
mapper meta.RESTMapper
45+
controllerOptions v1alpha1.ControllerConfigurationSpec
4446
}
4547

4648
var _ manager.Manager = &Manager{}
@@ -64,6 +66,10 @@ func (Manager) Start(context.Context) error {
6466
panic("implement me")
6567
}
6668

69+
func (m Manager) GetControllerOptions() v1alpha1.ControllerConfigurationSpec {
70+
return m.controllerOptions
71+
}
72+
6773
func (m Manager) GetConfig() *rest.Config {
6874
return &m.config
6975
}

0 commit comments

Comments
 (0)