Skip to content

Commit

Permalink
Update envtest setup to latest
Browse files Browse the repository at this point in the history
Change as per operator-sdk current practices,
- Exact change as per SDK upgrade process is not
known, but has changed since 1.8.0

Also update envtest to cancel the controller context
before shutdown

Change triggered due to investigating:
https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.14.0/#upgrade-k8s-versions-to-use-122-golangv3

Signed-off-by: Shyamsundar Ranganathan <[email protected]>
  • Loading branch information
ShyamsundarR committed Mar 2, 2023
1 parent c2c0113 commit 54ceede
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 26 deletions.
11 changes: 7 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,14 @@ lint: golangci-bin ## Run configured golangci-lint and pre-commit.sh linters aga
testbin/golangci-lint run ./... --config=./.golangci.yaml
hack/pre-commit.sh

ENVTEST_K8S_VERSION = 1.25.0
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
setup-envtest:
mkdir -p ${ENVTEST_ASSETS_DIR}
test -f ${ENVTEST_ASSETS_DIR}/setup-envtest.sh || curl -sSLo ${ENVTEST_ASSETS_DIR}/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.8.3/hack/setup-envtest.sh
source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR)
envtest:
mkdir -p $(ENVTEST_ASSETS_DIR)
test -s $(ENVTEST_ASSETS_DIR)/setup-envtest || GOBIN=$(ENVTEST_ASSETS_DIR) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest

setup-envtest: envtest
KUBEBUILDER_ASSETS="$(shell $(ENVTEST_ASSETS_DIR)/setup-envtest use $(ENVTEST_K8S_VERSION) --bin-dir $(ENVTEST_ASSETS_DIR) -p path)"

test: generate manifests setup-envtest ## Run tests.
go test ./... -coverprofile cover.out $(GO_TEST_GINKGO_ARGS)
Expand Down
20 changes: 6 additions & 14 deletions controllers/drpolicy_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,8 @@ var _ = Describe("DrpolicyController", func() {
})
When(`a drpolicy creation request contains an invalid scheduling interval`, func() {
It(`should fail`, func() {
err := func() *errors.StatusError {
err := func(value string) *errors.StatusError {
path := field.NewPath(`spec`, `schedulingInterval`)
value := ``

return errors.NewInvalid(
schema.GroupKind{
Expand All @@ -289,12 +288,12 @@ var _ = Describe("DrpolicyController", func() {
),
},
)
}()
}
drp := drpolicy.DeepCopy()
drp.Spec.SchedulingInterval = `3s`
Expect(k8sClient.Create(context.TODO(), drp)).To(MatchError(err))
Expect(k8sClient.Create(context.TODO(), drp)).To(MatchError(err(drp.Spec.SchedulingInterval)))
drp.Spec.SchedulingInterval = `0`
Expect(k8sClient.Create(context.TODO(), drp)).To(MatchError(err))
Expect(k8sClient.Create(context.TODO(), drp)).To(MatchError(err(drp.Spec.SchedulingInterval)))
})
})

Expand All @@ -304,7 +303,6 @@ var _ = Describe("DrpolicyController", func() {
drp.Spec.DRClusters = nil
err := func() *errors.StatusError {
path := field.NewPath("spec", "drClusters")
value := "null"

return errors.NewInvalid(
schema.GroupKind{
Expand All @@ -313,15 +311,9 @@ var _ = Describe("DrpolicyController", func() {
},
drp.Name,
field.ErrorList{
field.Invalid(
field.Required(
path,
value,
validationErrors.InvalidType(
path.String(),
"body",
"array",
value,
).Error(),
"",
),
},
)
Expand Down
13 changes: 7 additions & 6 deletions controllers/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
controller_runtime_config "sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
"sigs.k8s.io/controller-runtime/pkg/envtest"
"sigs.k8s.io/controller-runtime/pkg/envtest/printer"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/log/zap"
"sigs.k8s.io/controller-runtime/pkg/manager"
Expand Down Expand Up @@ -56,6 +55,8 @@ var (
apiReader client.Reader
k8sClient client.Client
testEnv *envtest.Environment
ctx context.Context
cancel context.CancelFunc
configMap *corev1.ConfigMap
ramenConfig *ramendrv1alpha1.RamenConfig
testLogger logr.Logger
Expand All @@ -77,9 +78,7 @@ var (
func TestAPIs(t *testing.T) {
RegisterFailHandler(Fail)

RunSpecsWithDefaultAndCustomReporters(t,
"Controller Suite",
[]Reporter{printer.NewlineReporter{}})
RunSpecs(t, "Controller Suite")
}

func namespaceCreate(name string) {
Expand Down Expand Up @@ -113,7 +112,7 @@ var _ = BeforeSuite(func() {
ramencontrollers.ControllerType = ramendrv1alpha1.DRHubType

if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set {
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../testbin/bin")).To(Succeed())
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../testbin/k8s/1.25.0-linux-amd64")).To(Succeed())
}

rNs, set := os.LookupEnv("POD_NAMESPACE")
Expand Down Expand Up @@ -334,8 +333,9 @@ var _ = BeforeSuite(func() {
err = drpcReconciler.SetupWithManager(k8sManager)
Expect(err).ToNot(HaveOccurred())

ctx, cancel = context.WithCancel(context.TODO())
go func() {
err = k8sManager.Start(ctrl.SetupSignalHandler())
err = k8sManager.Start(ctx)
Expect(err).ToNot(HaveOccurred())
}()

Expand All @@ -347,6 +347,7 @@ var _ = BeforeSuite(func() {
}, 60)

var _ = AfterSuite(func() {
cancel()
Expect(k8sClient.Delete(context.TODO(), configMap)).To(Succeed())
By("tearing down the test environment")
err := testEnv.Stop()
Expand Down
2 changes: 1 addition & 1 deletion controllers/util/util_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ var _ = BeforeSuite(func() {

By("Setting up KUBEBUILDER_ASSETS for envtest")
if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set {
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../../testbin/bin")).To(Succeed())
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../../testbin/k8s/1.25.0-linux-amd64")).To(Succeed())
}

By("Bootstrapping test environment")
Expand Down
2 changes: 1 addition & 1 deletion controllers/volsync/volsync_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ var _ = BeforeSuite(func() {

By("Setting up KUBEBUILDER_ASSETS for envtest")
if _, set := os.LookupEnv("KUBEBUILDER_ASSETS"); !set {
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../../testbin/bin")).To(Succeed())
Expect(os.Setenv("KUBEBUILDER_ASSETS", "../../testbin/k8s/1.25.0-linux-amd64")).To(Succeed())
}

By("bootstrapping test environment")
Expand Down

0 comments on commit 54ceede

Please sign in to comment.