Remove cached K8s client in test suites

The cached Kubernetes client used in our tests suites can cause cache
read errors during execution. This change swaps the client out for a
client that communicates with the API server on each request.

Signed-off-by: Drew Walters <andrew.walters@att.com>
Change-Id: I85d3cd0c716c6e3390a894231ffaad49193fb15c
This commit is contained in:
Drew Walters 2021-02-01 21:12:14 +00:00
parent 7b1e823edd
commit 2212b7eaeb
2 changed files with 13 additions and 7 deletions

View File

@ -80,8 +80,11 @@ var _ = BeforeSuite(func(done Done) {
})
Expect(err).ToNot(HaveOccurred())
k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme})
Expect(err).NotTo(HaveOccurred())
err = (&SIPClusterReconciler{
Client: k8sManager.GetClient(),
Client: k8sClient,
Scheme: scheme.Scheme,
}).SetupWithManager(k8sManager)
Expect(err).ToNot(HaveOccurred())
@ -91,9 +94,6 @@ var _ = BeforeSuite(func(done Done) {
Expect(err).ToNot(HaveOccurred())
}()
k8sClient = k8sManager.GetClient()
Expect(k8sClient).ToNot(BeNil())
close(done)
}, 60)

View File

@ -5,6 +5,7 @@ import (
"testing"
airshipv1 "sipcluster/pkg/api/v1"
"sipcluster/pkg/controllers"
metal3 "github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1"
. "github.com/onsi/ginkgo"
@ -52,11 +53,16 @@ var _ = BeforeSuite(func(done Done) {
Scheme: scheme.Scheme,
MetricsBindAddress: "0",
})
Expect(err).ToNot(HaveOccurred())
k8sClient = k8sManager.GetClient()
Expect(k8sClient).ToNot(BeNil())
k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme})
Expect(err).NotTo(HaveOccurred())
err = (&controllers.SIPClusterReconciler{
Client: k8sClient,
Scheme: scheme.Scheme,
}).SetupWithManager(k8sManager)
Expect(err).ToNot(HaveOccurred())
go func() {
err = k8sManager.Start(ctrl.SetupSignalHandler())