Skip to content

Commit 7dfaa74

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

File tree

7 files changed

+374
-417
lines changed

7 files changed

+374
-417
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 & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ import (
2020
"bytes"
2121
"context"
2222
"errors"
23+
"io/ioutil"
2324
"os"
24-
"os/exec"
25-
"path/filepath"
2625
"strings"
2726
"testing"
2827
"time"
@@ -32,6 +31,7 @@ import (
3231
core "k8s.io/api/core/v1"
3332
"k8s.io/apimachinery/pkg/runtime/schema"
3433
"k8s.io/apimachinery/pkg/types"
34+
"k8s.io/client-go/rest"
3535
"sigs.k8s.io/controller-runtime/pkg/envtest"
3636
"sigs.k8s.io/controller-runtime/pkg/manager"
3737
"sigs.k8s.io/controller-runtime/pkg/reconcile"
@@ -242,10 +242,10 @@ func TestReconcileFailedWith(t *testing.T) {
242242
// and point that path.
243243
func TestAddIfNotPresent(t *testing.T) {
244244
const defKubectlPath = "/usr/local/kubebuilder/bin"
245-
var kubectlPath string
246245

247246
// Run local kube-apiserver & etecd
248247
testEnv := envtest.Environment{}
248+
249249
restConf, err := testEnv.Start()
250250
if err != nil {
251251
t.Log("Maybe, you have to make sure control plane binaries" + " " +
@@ -256,6 +256,12 @@ func TestAddIfNotPresent(t *testing.T) {
256256
t.Error(err)
257257
}
258258

259+
// Add user for test
260+
user, err := testEnv.AddUser(envtest.User{Name: "default", Groups: []string{"system:masters"}}, &rest.Config{})
261+
if err != nil {
262+
t.Error(err)
263+
}
264+
259265
// Create manager
260266
mgrOpt := manager.Options{}
261267
mgr, err := manager.New(restConf, mgrOpt)
@@ -268,11 +274,9 @@ func TestAddIfNotPresent(t *testing.T) {
268274
_ = mgr.GetCache().Start(ctx)
269275
}()
270276

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")
277+
ctl, err := user.Kubectl()
278+
if err != nil {
279+
t.Error(err)
276280
}
277281

278282
// kubectl arg for "kubectl apply"
@@ -488,7 +492,6 @@ func TestAddIfNotPresent(t *testing.T) {
488492
globalObjectTracker.SetMetricsDuration(st.metricsDuration)
489493

490494
for i, yobjList := range st.objects {
491-
var cmd *exec.Cmd
492495
var stdout bytes.Buffer
493496
var stderr bytes.Buffer
494497
var cmdArgs []string
@@ -529,26 +532,38 @@ func TestAddIfNotPresent(t *testing.T) {
529532
t.Error(err)
530533
}
531534

535+
tmpManifests, err := ioutil.TempFile("", "tmp-manifests-*.yaml")
536+
if err != nil {
537+
t.Error(err)
538+
}
539+
_, err = tmpManifests.WriteString(yobj)
540+
if err != nil {
541+
t.Error(err)
542+
}
543+
err = tmpManifests.Close()
544+
if err != nil {
545+
t.Error(err)
546+
}
547+
defer os.Remove(tmpManifests.Name())
548+
532549
// Set up kubectl command
533550
if st.actions[i] != "Delete" {
534551
if len(st.defaultNamespace) != 0 {
535-
cmdArgs = append(applyArgs, "-n", st.defaultNamespace, "-f", "-")
552+
cmdArgs = append(applyArgs, "-n", st.defaultNamespace, "-f", tmpManifests.Name())
536553
} else {
537-
cmdArgs = append(applyArgs, "-f", "-")
554+
cmdArgs = append(applyArgs, "-f", tmpManifests.Name())
538555
}
539556
} else {
540557
if len(st.defaultNamespace) != 0 {
541-
cmdArgs = append(deleteArgs, "-n", st.defaultNamespace, "-f", "-")
558+
cmdArgs = append(deleteArgs, "-n", st.defaultNamespace, "-f", tmpManifests.Name())
542559
} else {
543-
cmdArgs = append(deleteArgs, "-f", "-")
560+
cmdArgs = append(deleteArgs, "-f", tmpManifests.Name())
544561
}
545562
}
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 {
563+
stdOut, stdErr, err := ctl.Run(cmdArgs...)
564+
if err != nil {
565+
stdout.ReadFrom(stdOut)
566+
stderr.ReadFrom(stdErr)
552567
t.Logf("action: %v\n", st.actions[i])
553568
t.Logf("stdout: %v\n", stdout.String())
554569
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)