Skip to content

Commit 7ad0b25

Browse files
committed
Create an orchestrator package
This creates an interface for orchestrators both for vanilla kubernetes and openshift
1 parent c063f68 commit 7ad0b25

28 files changed

+1159
-1203
lines changed

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ image: ; $(info Building images...)
7575

7676
# Run tests
7777
test: generate lint manifests envtest
78-
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir=/tmp -p path)" HOME="$(shell pwd)" go test -coverprofile cover.out -v ${TESTPKGS}
78+
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use --bin-dir=/tmp -p path)" HOME="$(shell pwd)" go test -coverprofile cover.out -v ${TESTPKGS}
7979

8080
# Build manager binary
8181
manager: generate _build-manager
@@ -216,7 +216,7 @@ test-e2e-validation-only: ginkgo
216216
SUITE=./test/validation ./hack/run-e2e-conformance.sh
217217

218218
test-e2e: generate manifests skopeo envtest
219-
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir=/tmp -p path)"; source hack/env.sh; HOME="$(shell pwd)" go test ./test/e2e/... -timeout 60m -coverprofile cover.out -v
219+
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use --bin-dir=/tmp -p path)"; source hack/env.sh; HOME="$(shell pwd)" go test ./test/e2e/... -timeout 60m -coverprofile cover.out -v
220220

221221
test-e2e-k8s: export NAMESPACE=sriov-network-operator
222222
test-e2e-k8s: test-e2e
@@ -225,7 +225,7 @@ test-bindata-scripts: fakechroot
225225
fakechroot ./test/scripts/kargs_test.sh
226226

227227
test-%: generate manifests envtest
228-
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir=/tmp -p path)" HOME="$(shell pwd)" go test `go list ./$*/... | grep -v "/mock" | grep -v "/pkg/client"` -coverprofile cover-$*-$(CLUSTER_TYPE).out -coverpkg ./... -v
228+
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use --bin-dir=/tmp -p path)" HOME="$(shell pwd)" go test `go list ./$*/... | grep -v "/mock" | grep -v "/pkg/client"` -coverprofile cover-$*-$(CLUSTER_TYPE).out -coverpkg ./... -v
229229

230230
GOCOVMERGE = $(BIN_DIR)/gocovmerge
231231
gocovmerge: ## Download gocovmerge locally if necessary.

cmd/sriov-network-operator-config-cleanup/cleanup_test.go

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
. "github.com/onsi/ginkgo/v2"
88
. "github.com/onsi/gomega"
9+
910
"github.com/spf13/cobra"
1011
"go.uber.org/mock/gomock"
1112
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -16,9 +17,10 @@ import (
1617

1718
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
1819
"github.com/k8snetworkplumbingwg/sriov-network-operator/controllers"
20+
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
1921
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/featuregate"
20-
mock_platforms "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/mock"
21-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/openshift"
22+
orchestratorMock "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator/mock"
23+
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
2224
"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util"
2325
)
2426

@@ -31,8 +33,8 @@ type configController struct {
3133

3234
var (
3335
controller *configController
34-
testNamespace string = "sriov-network-operator"
35-
defaultSriovOperatorSpec = sriovnetworkv1.SriovOperatorConfigSpec{
36+
testNamespace = "sriov-network-operator"
37+
defaultSriovOperatorSpec = sriovnetworkv1.SriovOperatorConfigSpec{
3638
EnableInjector: true,
3739
EnableOperatorWebhook: true,
3840
LogLevel: 2,
@@ -135,15 +137,27 @@ func newConfigController() *configController {
135137

136138
t := GinkgoT()
137139
mockCtrl := gomock.NewController(t)
138-
platformHelper := mock_platforms.NewMockInterface(mockCtrl)
139-
platformHelper.EXPECT().GetFlavor().Return(openshift.OpenshiftFlavorDefault).AnyTimes()
140-
platformHelper.EXPECT().IsOpenshiftCluster().Return(false).AnyTimes()
141-
platformHelper.EXPECT().IsHypershift().Return(false).AnyTimes()
140+
orchestrator := orchestratorMock.NewMockInterface(mockCtrl)
141+
142+
orchestrator.EXPECT().ClusterType().DoAndReturn(func() consts.ClusterType {
143+
if vars.ClusterType == consts.ClusterTypeOpenshift {
144+
return consts.ClusterTypeOpenshift
145+
}
146+
return consts.ClusterTypeKubernetes
147+
}).AnyTimes()
148+
149+
// TODO: Change this to add tests for hypershift
150+
orchestrator.EXPECT().Flavor().DoAndReturn(func() consts.ClusterFlavor {
151+
if vars.ClusterType == consts.ClusterTypeOpenshift {
152+
return consts.DefaultConfigName
153+
}
154+
return consts.ClusterFlavorVanillaK8s
155+
}).AnyTimes()
142156

143157
err = (&controllers.SriovOperatorConfigReconciler{
144158
Client: k8sManager.GetClient(),
145159
Scheme: k8sManager.GetScheme(),
146-
PlatformHelper: platformHelper,
160+
Orchestrator: orchestrator,
147161
FeatureGate: featuregate.New(),
148162
UncachedAPIReader: k8sManager.GetAPIReader(),
149163
}).SetupWithManager(k8sManager)

controllers/drain_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import (
4040
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
4141
constants "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
4242
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/drain"
43-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms"
43+
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator"
4444
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/utils"
4545
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
4646
)
@@ -54,8 +54,8 @@ type DrainReconcile struct {
5454
drainCheckMutex sync.Mutex
5555
}
5656

57-
func NewDrainReconcileController(client client.Client, Scheme *runtime.Scheme, recorder record.EventRecorder, platformHelper platforms.Interface) (*DrainReconcile, error) {
58-
drainer, err := drain.NewDrainer(platformHelper)
57+
func NewDrainReconcileController(client client.Client, Scheme *runtime.Scheme, recorder record.EventRecorder, orchestrator orchestrator.Interface) (*DrainReconcile, error) {
58+
drainer, err := drain.NewDrainer(orchestrator)
5959
if err != nil {
6060
return nil, err
6161
}

controllers/drain_controller_test.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ import (
2121

2222
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
2323
constants "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
24-
mock_platforms "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/mock"
25-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/openshift"
24+
orchestratorMock "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator/mock"
2625
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/utils"
2726
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
2827
)
@@ -39,12 +38,9 @@ var _ = Describe("Drain Controller", Ordered, func() {
3938

4039
t := GinkgoT()
4140
mockCtrl := gomock.NewController(t)
42-
platformHelper := mock_platforms.NewMockInterface(mockCtrl)
43-
platformHelper.EXPECT().GetFlavor().Return(openshift.OpenshiftFlavorDefault).AnyTimes()
44-
platformHelper.EXPECT().IsOpenshiftCluster().Return(false).AnyTimes()
45-
platformHelper.EXPECT().IsHypershift().Return(false).AnyTimes()
46-
platformHelper.EXPECT().OpenshiftBeforeDrainNode(gomock.Any(), gomock.Any()).Return(true, nil).AnyTimes()
47-
platformHelper.EXPECT().OpenshiftAfterCompleteDrainNode(gomock.Any(), gomock.Any()).Return(true, nil).AnyTimes()
41+
orchestrator := orchestratorMock.NewMockInterface(mockCtrl)
42+
orchestrator.EXPECT().BeforeDrainNode(gomock.Any(), gomock.Any()).Return(true, nil).AnyTimes()
43+
orchestrator.EXPECT().AfterCompleteDrainNode(gomock.Any(), gomock.Any()).Return(true, nil).AnyTimes()
4844

4945
// we need a client that doesn't use the local cache for the objects
5046
drainKClient, err := client.New(cfg, client.Options{
@@ -62,7 +58,7 @@ var _ = Describe("Drain Controller", Ordered, func() {
6258
drainController, err := NewDrainReconcileController(drainKClient,
6359
k8sManager.GetScheme(),
6460
k8sManager.GetEventRecorderFor("operator"),
65-
platformHelper)
61+
orchestrator)
6662
Expect(err).ToNot(HaveOccurred())
6763
err = drainController.SetupWithManager(k8sManager)
6864
Expect(err).ToNot(HaveOccurred())

controllers/sriovnetworkpoolconfig_controller.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ import (
1818

1919
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
2020
constants "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
21-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms"
21+
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator"
2222
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/render"
2323
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
2424
)
2525

2626
// SriovNetworkPoolConfigReconciler reconciles a SriovNetworkPoolConfig object
2727
type SriovNetworkPoolConfigReconciler struct {
2828
client.Client
29-
Scheme *runtime.Scheme
30-
PlatformHelper platforms.Interface
29+
Scheme *runtime.Scheme
30+
Orchestrator orchestrator.Interface
3131
}
3232

3333
const (
@@ -49,13 +49,14 @@ const (
4949
// - https://pkg.go.dev/sigs.k8s.io/[email protected]/pkg/reconcile
5050
func (r *SriovNetworkPoolConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
5151
logger := log.FromContext(ctx).WithValues("sriovnetworkpoolconfig", req.NamespacedName)
52+
5253
isHypershift := false
53-
if r.PlatformHelper.IsOpenshiftCluster() {
54-
if r.PlatformHelper.IsHypershift() {
55-
isHypershift = true
56-
}
54+
if r.Orchestrator.ClusterType() == constants.ClusterTypeOpenshift &&
55+
r.Orchestrator.Flavor() == constants.ClusterFlavorHypershift {
56+
isHypershift = true
5757
logger = logger.WithValues("isHypershift", isHypershift)
5858
}
59+
5960
logger.Info("Reconciling")
6061

6162
// Fetch SriovNetworkPoolConfig

controllers/sriovnetworkpoolconfig_controller_test.go

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ import (
44
"context"
55
"sync"
66

7-
"k8s.io/apimachinery/pkg/api/errors"
8-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9-
"k8s.io/apimachinery/pkg/types"
10-
117
. "github.com/onsi/ginkgo/v2"
128
. "github.com/onsi/gomega"
13-
"go.uber.org/mock/gomock"
149

1510
mcfgv1 "github.com/openshift/api/machineconfiguration/v1"
11+
"go.uber.org/mock/gomock"
12+
"k8s.io/apimachinery/pkg/api/errors"
13+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
14+
"k8s.io/apimachinery/pkg/types"
1615

1716
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
1817
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
1918
constants "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
20-
mock_platforms "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/mock"
21-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/openshift"
19+
orchestratorMock "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator/mock"
2220
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
2321
"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util"
2422
)
@@ -45,15 +43,27 @@ var _ = Describe("SriovNetworkPoolConfig controller", Ordered, func() {
4543

4644
t := GinkgoT()
4745
mockCtrl := gomock.NewController(t)
48-
platformHelper := mock_platforms.NewMockInterface(mockCtrl)
49-
platformHelper.EXPECT().GetFlavor().Return(openshift.OpenshiftFlavorDefault).AnyTimes()
50-
platformHelper.EXPECT().IsOpenshiftCluster().Return(false).AnyTimes()
51-
platformHelper.EXPECT().IsHypershift().Return(false).AnyTimes()
46+
orchestrator := orchestratorMock.NewMockInterface(mockCtrl)
47+
48+
orchestrator.EXPECT().ClusterType().DoAndReturn(func() consts.ClusterType {
49+
if vars.ClusterType == consts.ClusterTypeOpenshift {
50+
return consts.ClusterTypeOpenshift
51+
}
52+
return consts.ClusterTypeKubernetes
53+
}).AnyTimes()
54+
55+
// TODO: Change this to add tests for hypershift
56+
orchestrator.EXPECT().Flavor().DoAndReturn(func() consts.ClusterFlavor {
57+
if vars.ClusterType == consts.ClusterTypeOpenshift {
58+
return consts.DefaultConfigName
59+
}
60+
return consts.ClusterFlavorVanillaK8s
61+
}).AnyTimes()
5262

5363
err = (&SriovNetworkPoolConfigReconciler{
54-
Client: k8sManager.GetClient(),
55-
Scheme: k8sManager.GetScheme(),
56-
PlatformHelper: platformHelper,
64+
Client: k8sManager.GetClient(),
65+
Scheme: k8sManager.GetScheme(),
66+
Orchestrator: orchestrator,
5767
}).SetupWithManager(k8sManager)
5868
Expect(err).ToNot(HaveOccurred())
5969

controllers/sriovoperatorconfig_controller.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import (
4848
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
4949
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/featuregate"
5050
snolog "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/log"
51-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms"
51+
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator"
5252
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/render"
5353
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
5454
)
@@ -57,7 +57,7 @@ import (
5757
type SriovOperatorConfigReconciler struct {
5858
client.Client
5959
Scheme *runtime.Scheme
60-
PlatformHelper platforms.Interface
60+
Orchestrator orchestrator.Interface
6161
FeatureGate featuregate.FeatureGate
6262
UncachedAPIReader client.Reader
6363
}
@@ -147,9 +147,9 @@ func (r *SriovOperatorConfigReconciler) Reconcile(ctx context.Context, req ctrl.
147147
}
148148

149149
// For Openshift we need to create the systemd files using a machine config
150-
if vars.ClusterType == consts.ClusterTypeOpenshift {
150+
if r.Orchestrator.ClusterType() == consts.ClusterTypeOpenshift {
151151
// TODO: add support for hypershift as today there is no MCO on hypershift clusters
152-
if r.PlatformHelper.IsHypershift() {
152+
if r.Orchestrator.Flavor() == consts.ClusterFlavorHypershift {
153153
return ctrl.Result{}, fmt.Errorf("systemd mode is not supported on hypershift")
154154
}
155155

@@ -252,7 +252,8 @@ func (r *SriovOperatorConfigReconciler) syncMetricsExporter(ctx context.Context,
252252
data.Data["MetricsExporterSecretName"] = os.Getenv("METRICS_EXPORTER_SECRET_NAME")
253253
data.Data["MetricsExporterPort"] = os.Getenv("METRICS_EXPORTER_PORT")
254254
data.Data["MetricsExporterKubeRbacProxyImage"] = os.Getenv("METRICS_EXPORTER_KUBE_RBAC_PROXY_IMAGE")
255-
data.Data["IsOpenshift"] = r.PlatformHelper.IsOpenshiftCluster()
255+
256+
data.Data["IsOpenshift"] = r.Orchestrator.ClusterType() == consts.ClusterTypeOpenshift
256257

257258
data.Data["IsPrometheusOperatorInstalled"] = strings.ToLower(os.Getenv("METRICS_EXPORTER_PROMETHEUS_OPERATOR_ENABLED")) == trueString
258259
data.Data["PrometheusOperatorDeployRules"] = strings.ToLower(os.Getenv("METRICS_EXPORTER_PROMETHEUS_DEPLOY_RULES")) == trueString
@@ -324,9 +325,9 @@ func (r *SriovOperatorConfigReconciler) syncWebhookObjs(ctx context.Context, dc
324325
data.Data["InjectorWebhookNetworkPolicyPort"] = injectorWebhookPort
325326

326327
data.Data["ExternalControlPlane"] = false
327-
if r.PlatformHelper.IsOpenshiftCluster() {
328-
external := r.PlatformHelper.IsHypershift()
329-
data.Data["ExternalControlPlane"] = external
328+
if r.Orchestrator.ClusterType() == consts.ClusterTypeOpenshift &&
329+
r.Orchestrator.Flavor() == consts.ClusterFlavorHypershift {
330+
data.Data["ExternalControlPlane"] = true
330331
}
331332

332333
// check for ResourceInjectorMatchConditionFeatureGate feature gate

controllers/sriovoperatorconfig_controller_test.go

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import (
77
"sync"
88
"time"
99

10+
. "github.com/onsi/ginkgo/v2"
11+
. "github.com/onsi/gomega"
12+
13+
"go.uber.org/mock/gomock"
1014
admv1 "k8s.io/api/admissionregistration/v1"
1115
appsv1 "k8s.io/api/apps/v1"
1216
corev1 "k8s.io/api/core/v1"
@@ -15,24 +19,18 @@ import (
1519
"k8s.io/apimachinery/pkg/api/errors"
1620
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1721
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
22+
uns "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1823
"k8s.io/apimachinery/pkg/runtime/schema"
1924
"k8s.io/apimachinery/pkg/types"
2025
"k8s.io/apimachinery/pkg/util/wait"
2126
"sigs.k8s.io/controller-runtime/pkg/client"
2227

23-
. "github.com/onsi/ginkgo/v2"
24-
. "github.com/onsi/gomega"
25-
"go.uber.org/mock/gomock"
26-
2728
sriovnetworkv1 "github.com/k8snetworkplumbingwg/sriov-network-operator/api/v1"
2829
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/consts"
2930
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/featuregate"
30-
mock_platforms "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/mock"
31-
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/platforms/openshift"
31+
orchestratorMock "github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/orchestrator/mock"
3232
"github.com/k8snetworkplumbingwg/sriov-network-operator/pkg/vars"
3333
"github.com/k8snetworkplumbingwg/sriov-network-operator/test/util"
34-
35-
uns "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3634
)
3735

3836
var _ = Describe("SriovOperatorConfig controller", Ordered, func() {
@@ -62,15 +60,27 @@ var _ = Describe("SriovOperatorConfig controller", Ordered, func() {
6260

6361
t := GinkgoT()
6462
mockCtrl := gomock.NewController(t)
65-
platformHelper := mock_platforms.NewMockInterface(mockCtrl)
66-
platformHelper.EXPECT().GetFlavor().Return(openshift.OpenshiftFlavorDefault).AnyTimes()
67-
platformHelper.EXPECT().IsOpenshiftCluster().Return(false).AnyTimes()
68-
platformHelper.EXPECT().IsHypershift().Return(false).AnyTimes()
63+
orchestrator := orchestratorMock.NewMockInterface(mockCtrl)
64+
65+
orchestrator.EXPECT().ClusterType().DoAndReturn(func() consts.ClusterType {
66+
if vars.ClusterType == consts.ClusterTypeOpenshift {
67+
return consts.ClusterTypeOpenshift
68+
}
69+
return consts.ClusterTypeKubernetes
70+
}).AnyTimes()
71+
72+
// TODO: Change this to add tests for hypershift
73+
orchestrator.EXPECT().Flavor().DoAndReturn(func() consts.ClusterFlavor {
74+
if vars.ClusterType == consts.ClusterTypeOpenshift {
75+
return consts.DefaultConfigName
76+
}
77+
return consts.ClusterFlavorVanillaK8s
78+
}).AnyTimes()
6979

7080
err = (&SriovOperatorConfigReconciler{
7181
Client: k8sManager.GetClient(),
7282
Scheme: k8sManager.GetScheme(),
73-
PlatformHelper: platformHelper,
83+
Orchestrator: orchestrator,
7484
FeatureGate: featuregate.New(),
7585
UncachedAPIReader: k8sManager.GetAPIReader(),
7686
}).SetupWithManager(k8sManager)
@@ -597,7 +607,7 @@ var _ = Describe("SriovOperatorConfig controller", Ordered, func() {
597607
// echo "ca-bundle-2" | base64 -w 0
598608
os.Setenv("ADMISSION_CONTROLLERS_CERTIFICATES_INJECTOR_CA_CRT", "Y2EtYnVuZGxlLTIK")
599609

600-
DeferCleanup(func(old string) { vars.ClusterType = old }, vars.ClusterType)
610+
DeferCleanup(func(old consts.ClusterType) { vars.ClusterType = old }, vars.ClusterType)
601611
vars.ClusterType = consts.ClusterTypeKubernetes
602612

603613
err := util.TriggerSriovOperatorConfigReconcile(k8sClient, testNamespace)

0 commit comments

Comments
 (0)