Skip to content

Commit c34e747

Browse files
author
Ayush Rangwala
committed
Cleanup Webhook server setup
- Called the webhook server cleanup function - Only ignore controlplane cleanup when using existing cluster - Added test to check the directory exists post stop
1 parent e552aee commit c34e747

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

pkg/envtest/envtest_test.go

+17-2
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ import (
2323

2424
. "github.com/onsi/ginkgo"
2525
. "github.com/onsi/gomega"
26+
2627
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2728
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
2829
apierrors "k8s.io/apimachinery/pkg/api/errors"
2930
"k8s.io/apimachinery/pkg/runtime"
3031
"k8s.io/apimachinery/pkg/types"
32+
3133
"sigs.k8s.io/controller-runtime/pkg/client"
3234
)
3335

@@ -65,8 +67,8 @@ var _ = Describe("Test", func() {
6567
Name: crd.GetName(),
6668
}
6769
var placeholder v1beta1.CustomResourceDefinition
68-
err := c.Get(context.TODO(), crdObjectKey, &placeholder)
69-
if err != nil && apierrors.IsNotFound(err) {
70+
if err = c.Get(context.TODO(), crdObjectKey, &placeholder); err != nil &&
71+
apierrors.IsNotFound(err) {
7072
// CRD doesn't need to be deleted.
7173
continue
7274
}
@@ -845,4 +847,17 @@ var _ = Describe("Test", func() {
845847
close(done)
846848
}, 30)
847849
})
850+
851+
Describe("Stop", func() {
852+
It("should cleanup webhook /tmp folder with no error when using existing cluster", func(done Done) {
853+
env := &Environment{}
854+
_, err := env.Start()
855+
Expect(err).NotTo(HaveOccurred())
856+
Expect(env.Stop()).To(Succeed())
857+
858+
// check if the /tmp/envtest-serving-certs-* dir doesnt exists any more
859+
Expect(env.WebhookInstallOptions.LocalServingCertDir).ShouldNot(BeADirectory())
860+
close(done)
861+
}, 30)
862+
})
848863
})

pkg/envtest/server.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,15 @@ func (te *Environment) Stop() error {
158158
return err
159159
}
160160
}
161+
162+
if err := te.WebhookInstallOptions.Cleanup(); err != nil {
163+
return err
164+
}
165+
161166
if te.useExistingCluster() {
162167
return nil
163168
}
164-
err := te.WebhookInstallOptions.Cleanup()
165-
if err != nil {
166-
return err
167-
}
169+
168170
return te.ControlPlane.Stop()
169171
}
170172

pkg/envtest/webhook.go

+1
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ func (o *WebhookInstallOptions) PrepWithoutInstalling() error {
167167
if err := o.setupCA(); err != nil {
168168
return err
169169
}
170+
170171
if err := parseWebhook(o); err != nil {
171172
return err
172173
}

pkg/envtest/webhook_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,6 @@ var _ = Describe("Test", func() {
100100
type rejectingValidator struct {
101101
}
102102

103-
func (v *rejectingValidator) Handle(ctx context.Context, req admission.Request) admission.Response {
103+
func (v *rejectingValidator) Handle(_ context.Context, _ admission.Request) admission.Response {
104104
return admission.Denied(fmt.Sprint("Always denied"))
105105
}

pkg/webhook/server_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ var _ = Describe("Webhook Server", func() {
4343

4444
BeforeEach(func() {
4545
ctx, ctxCancel = context.WithCancel(context.Background())
46-
// closed in indivual tests differently
46+
// closed in individual tests differently
4747

4848
servingOpts = envtest.WebhookInstallOptions{}
4949
Expect(servingOpts.PrepWithoutInstalling()).To(Succeed())

0 commit comments

Comments
 (0)