Skip to content

Commit 33ba2a8

Browse files
feature gate: remove references to MachineConfigNodes and PinnedImages feature gates
1 parent 6d48b64 commit 33ba2a8

File tree

12 files changed

+95
-159
lines changed

12 files changed

+95
-159
lines changed

cmd/machine-config-controller/start.go

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ func runStartCmd(_ *cobra.Command, _ []string) {
112112
klog.Fatalf("unable to start cert rotation controller: %v", err)
113113
}
114114

115+
pinnedImageSet := pinnedimageset.New(
116+
ctrlctx.InformerFactory.Machineconfiguration().V1().PinnedImageSets(),
117+
ctrlctx.InformerFactory.Machineconfiguration().V1().MachineConfigPools(),
118+
ctrlctx.ClientBuilder.KubeClientOrDie("pinned-image-set-controller"),
119+
ctrlctx.ClientBuilder.MachineConfigClientOrDie("pinned-image-set-controller"),
120+
)
121+
go pinnedImageSet.Run(2, ctrlctx.Stop)
122+
115123
// Start the shared factory informers that you need to use in your controller
116124
ctrlctx.InformerFactory.Start(ctrlctx.Stop)
117125
ctrlctx.KubeInformerFactory.Start(ctrlctx.Stop)
@@ -124,20 +132,6 @@ func runStartCmd(_ *cobra.Command, _ []string) {
124132

125133
close(ctrlctx.InformersStarted)
126134

127-
if ctrlctx.FeatureGatesHandler.Enabled(features.FeatureGatePinnedImages) && ctrlctx.FeatureGatesHandler.Enabled(features.FeatureGateMachineConfigNodes) {
128-
pinnedImageSet := pinnedimageset.New(
129-
ctrlctx.InformerFactory.Machineconfiguration().V1().PinnedImageSets(),
130-
ctrlctx.InformerFactory.Machineconfiguration().V1().MachineConfigPools(),
131-
ctrlctx.ClientBuilder.KubeClientOrDie("pinned-image-set-controller"),
132-
ctrlctx.ClientBuilder.MachineConfigClientOrDie("pinned-image-set-controller"),
133-
)
134-
135-
go pinnedImageSet.Run(2, ctrlctx.Stop)
136-
// start the informers again to enable feature gated types.
137-
// see comments in SharedInformerFactory interface.
138-
ctrlctx.InformerFactory.Start(ctrlctx.Stop)
139-
}
140-
141135
if ctrlctx.FeatureGatesHandler.Enabled(features.FeatureGateNoRegistryClusterInstall) {
142136
iriController := internalreleaseimage.New(
143137
ctrlctx.InformerFactory.Machineconfiguration().V1alpha1().InternalReleaseImages(),

cmd/machine-config-daemon/start.go

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import (
99
"os"
1010
"time"
1111

12-
"github.com/openshift/api/features"
13-
1412
"k8s.io/apimachinery/pkg/api/resource"
1513
"k8s.io/client-go/tools/clientcmd"
1614

@@ -213,43 +211,35 @@ func runStartCmd(_ *cobra.Command, _ []string) {
213211
klog.Fatalf("Failed to initialize: %v", err)
214212
}
215213

214+
// Create CRI client and pinned image set manager before starting informers
215+
criClient, err := cri.NewClient(ctx, constants.DefaultCRIOSocketPath)
216+
if err != nil {
217+
klog.Fatalf("Failed to initialize CRI client: %v", err)
218+
}
219+
prefetchTimeout := 2 * time.Minute
220+
pinnedImageSetManager := daemon.NewPinnedImageSetManager(
221+
startOpts.nodeName,
222+
criClient,
223+
ctrlctx.ClientBuilder.MachineConfigClientOrDie(componentName),
224+
ctrlctx.InformerFactory.Machineconfiguration().V1().PinnedImageSets(),
225+
nodeScopedInformer,
226+
ctrlctx.InformerFactory.Machineconfiguration().V1().MachineConfigPools(),
227+
resource.MustParse(constants.MinFreeStorageAfterPrefetch),
228+
constants.DefaultCRIOSocketPath,
229+
constants.KubeletAuthFile,
230+
constants.ContainerRegistryConfPath,
231+
prefetchTimeout,
232+
ctrlctx.FeatureGatesHandler,
233+
)
234+
go pinnedImageSetManager.Run(2, stopCh)
235+
216236
ctrlctx.KubeInformerFactory.Start(stopCh)
217237
ctrlctx.KubeNamespacedInformerFactory.Start(stopCh)
218238
ctrlctx.InformerFactory.Start(stopCh)
219239
ctrlctx.OperatorInformerFactory.Start(stopCh)
220240
nodeScopedInformerStartFunc(ctrlctx.Stop)
221241
close(ctrlctx.InformersStarted)
222242

223-
// ok to start the rest of the informers now that we have observed the initial feature gates
224-
if ctrlctx.FeatureGatesHandler.Enabled(features.FeatureGatePinnedImages) && ctrlctx.FeatureGatesHandler.Enabled(features.FeatureGateMachineConfigNodes) {
225-
klog.Infof("Feature enabled: %s", features.FeatureGatePinnedImages)
226-
criClient, err := cri.NewClient(ctx, constants.DefaultCRIOSocketPath)
227-
if err != nil {
228-
klog.Fatalf("Failed to initialize CRI client: %v", err)
229-
}
230-
231-
prefetchTimeout := 2 * time.Minute
232-
pinnedImageSetManager := daemon.NewPinnedImageSetManager(
233-
startOpts.nodeName,
234-
criClient,
235-
ctrlctx.ClientBuilder.MachineConfigClientOrDie(componentName),
236-
ctrlctx.InformerFactory.Machineconfiguration().V1().PinnedImageSets(),
237-
nodeScopedInformer,
238-
ctrlctx.InformerFactory.Machineconfiguration().V1().MachineConfigPools(),
239-
resource.MustParse(constants.MinFreeStorageAfterPrefetch),
240-
constants.DefaultCRIOSocketPath,
241-
constants.KubeletAuthFile,
242-
constants.ContainerRegistryConfPath,
243-
prefetchTimeout,
244-
ctrlctx.FeatureGatesHandler,
245-
)
246-
247-
go pinnedImageSetManager.Run(2, stopCh)
248-
// start the informers for the pinned image set again after the feature gate is enabled this is allowed.
249-
// see comments in SharedInformerFactory interface.
250-
ctrlctx.InformerFactory.Start(stopCh)
251-
}
252-
253243
if err := dn.Run(stopCh, exitCh, errCh); err != nil {
254244
ctrlcommon.WriteTerminationError(err)
255245
if errors.Is(err, daemon.ErrAuxiliary) {

pkg/controller/node/node_controller.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/openshift/machine-config-operator/pkg/upgrademonitor"
1414

1515
configv1 "github.com/openshift/api/config/v1"
16-
features "github.com/openshift/api/features"
1716
mcfgv1 "github.com/openshift/api/machineconfiguration/v1"
1817

1918
cligoinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1"
@@ -892,11 +891,9 @@ func (ctrl *Controller) updateNode(old, cur interface{}) {
892891
return
893892
}
894893

895-
if ctrl.fgHandler.Enabled(features.FeatureGatePinnedImages) {
896-
for _, pool := range pools {
897-
if isPinnedImageSetsInProgressForPool(pool) {
898-
changed = true
899-
}
894+
for _, pool := range pools {
895+
if isPinnedImageSetsInProgressForPool(pool) {
896+
changed = true
900897
}
901898
}
902899

pkg/controller/node/node_controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"testing"
99
"time"
1010

11-
features "github.com/openshift/api/features"
1211
"github.com/openshift/library-go/pkg/operator/configobserver/featuregates"
1312

1413
"github.com/openshift/machine-config-operator/pkg/apihelpers"
@@ -95,7 +94,7 @@ func newFixtureWithFeatureGates(t *testing.T, enabled, disabled []configv1.Featu
9594
}
9695

9796
func newFixture(t *testing.T) *fixture {
98-
return newFixtureWithFeatureGates(t, []configv1.FeatureGateName{features.FeatureGatePinnedImages}, []configv1.FeatureGateName{})
97+
return newFixtureWithFeatureGates(t, []configv1.FeatureGateName{}, []configv1.FeatureGateName{})
9998
}
10099

101100
func (f *fixture) newControllerWithStopChan(stopCh <-chan struct{}) *Controller {
@@ -265,6 +264,7 @@ func filterInformerActions(actions []core.Action) []core.Action {
265264
action.Matches("watch", "machineosbuilds") ||
266265
action.Matches("list", "machineosconfigs") ||
267266
action.Matches("watch", "machineosconfigs") ||
267+
action.Matches("get", "machineconfignodes") ||
268268
action.Matches("list", "machineconfignodes") ||
269269
action.Matches("watch", "machineconfignodes")) {
270270
continue

pkg/controller/node/status.go

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,13 @@ func (ctrl *Controller) syncStatusOnly(pool *mcfgv1.MachineConfigPool) error {
3131
}
3232

3333
machineConfigStates := []*mcfgv1.MachineConfigNode{}
34-
if ctrl.fgHandler.Enabled(features.FeatureGateMachineConfigNodes) {
35-
for _, node := range nodes {
36-
ms, err := ctrl.client.MachineconfigurationV1().MachineConfigNodes().Get(context.TODO(), node.Name, metav1.GetOptions{})
37-
if err != nil {
38-
klog.Errorf("Could not find our MachineConfigNode for node. %s: %v", node.Name, err)
39-
continue
40-
}
41-
machineConfigStates = append(machineConfigStates, ms)
34+
for _, node := range nodes {
35+
ms, err := ctrl.client.MachineconfigurationV1().MachineConfigNodes().Get(context.TODO(), node.Name, metav1.GetOptions{})
36+
if err != nil {
37+
klog.Errorf("Could not find our MachineConfigNode for node. %s: %v", node.Name, err)
38+
continue
4239
}
40+
machineConfigStates = append(machineConfigStates, ms)
4341
}
4442

4543
// Get fresh copy of MCP from lister to ensure we have the latest status
@@ -100,7 +98,6 @@ func (ctrl *Controller) calculateStatus(mcns []*mcfgv1.MachineConfigNode, cconfi
10098

10199
// Determine if pool is layered and get enabled feature gates
102100
isLayeredPool := ctrl.isLayeredPool(mosc, mosb)
103-
pisIsEnabled := ctrl.fgHandler.Enabled(features.FeatureGatePinnedImages)
104101
imageModeReportingIsEnabled := ctrl.fgHandler.Enabled(features.FeatureGateImageModeStatusReporting)
105102

106103
// Update the number of degraded and updated machines from conditions in the MCNs for the nodes
@@ -128,11 +125,9 @@ func (ctrl *Controller) calculateStatus(mcns []*mcfgv1.MachineConfigNode, cconfi
128125
break
129126
}
130127

131-
// If the PIS feature gate is enabled, update the PIS reference in the PoolSynchronizer object
132-
if pisIsEnabled {
133-
if isPinnedImageSetsUpdated(mcn) {
134-
poolSynchronizer.SetUpdated(mcfgv1.PinnedImageSets)
135-
}
128+
// Update the PIS reference in the PoolSynchronizer object
129+
if isPinnedImageSetsUpdated(mcn) {
130+
poolSynchronizer.SetUpdated(mcfgv1.PinnedImageSets)
136131
}
137132

138133
// Loop through the MCN conditions to determine if the associated node is updating, updated, or degraded
@@ -220,18 +215,16 @@ func (ctrl *Controller) calculateStatus(mcns []*mcfgv1.MachineConfigNode, cconfi
220215
}
221216

222217
// Update synchronizer status for pinned image sets
223-
if pisIsEnabled {
224-
syncStatus := poolSynchronizer.GetStatus(mcfgv1.PinnedImageSets)
225-
status.PoolSynchronizersStatus = []mcfgv1.PoolSynchronizerStatus{
226-
{
227-
PoolSynchronizerType: mcfgv1.PinnedImageSets,
228-
MachineCount: syncStatus.MachineCount,
229-
UpdatedMachineCount: syncStatus.UpdatedMachineCount,
230-
ReadyMachineCount: int64(readyMachineCount),
231-
UnavailableMachineCount: int64(unavailableMachineCount),
232-
AvailableMachineCount: int64(totalMachineCount - unavailableMachineCount),
233-
},
234-
}
218+
syncStatus := poolSynchronizer.GetStatus(mcfgv1.PinnedImageSets)
219+
status.PoolSynchronizersStatus = []mcfgv1.PoolSynchronizerStatus{
220+
{
221+
PoolSynchronizerType: mcfgv1.PinnedImageSets,
222+
MachineCount: syncStatus.MachineCount,
223+
UpdatedMachineCount: syncStatus.UpdatedMachineCount,
224+
ReadyMachineCount: int64(readyMachineCount),
225+
UnavailableMachineCount: int64(unavailableMachineCount),
226+
AvailableMachineCount: int64(totalMachineCount - unavailableMachineCount),
227+
},
235228
}
236229

237230
// Update MCP status configuation & conditions

pkg/controller/node/status_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -921,8 +921,6 @@ func TestCalculateStatus(t *testing.T) {
921921
}
922922
f := newFixtureWithFeatureGates(t,
923923
[]apicfgv1.FeatureGateName{
924-
features.FeatureGateMachineConfigNodes,
925-
features.FeatureGatePinnedImages,
926924
features.FeatureGateOSStreams,
927925
},
928926
[]apicfgv1.FeatureGateName{},
@@ -944,8 +942,6 @@ func TestCalculateStatusWithImageModeReporting(t *testing.T) {
944942
// This simulates a DevPreview environment where this feature gate is available
945943
fgHandler := ctrlcommon.NewFeatureGatesHardcodedHandler(
946944
[]apicfgv1.FeatureGateName{
947-
features.FeatureGateMachineConfigNodes,
948-
features.FeatureGatePinnedImages,
949945
features.FeatureGateImageModeStatusReporting, // Enable ImageModeStatusReporting directly
950946
},
951947
[]apicfgv1.FeatureGateName{},
@@ -1342,8 +1338,6 @@ func TestCalculateStatusWithImageModeReporting(t *testing.T) {
13421338
// Create fixture with our ImageModeStatusReporting feature gate handler
13431339
f := newFixtureWithFeatureGates(t,
13441340
[]apicfgv1.FeatureGateName{
1345-
features.FeatureGateMachineConfigNodes,
1346-
features.FeatureGatePinnedImages,
13471341
features.FeatureGateImageModeStatusReporting,
13481342
},
13491343
[]apicfgv1.FeatureGateName{},

pkg/daemon/daemon.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ func (dn *Daemon) ClusterConnect(
427427

428428
// If the IrreconcilableMachineConfig FG is enabled turn on the reporting of irreconcilable differences
429429
// MCN is required too, as the irreconcilable diffs report is stored as part of the MCN status
430-
if dn.fgHandler.Enabled(features.FeatureGateIrreconcilableMachineConfig) && dn.fgHandler.Enabled(features.FeatureGateMachineConfigNodes) {
430+
if dn.fgHandler.Enabled(features.FeatureGateIrreconcilableMachineConfig) {
431431
dn.irreconcilableReporter = NewIrreconcilableReporter(dn.mcfgClient)
432432
}
433433

pkg/daemon/update.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2738,10 +2738,9 @@ func (dn *Daemon) updateLayeredOS(config *mcfgv1.MachineConfig) error {
27382738
}
27392739

27402740
func (dn *Daemon) isPinnedImageSetConfigured() (bool, error) {
2741-
if dn.fgHandler == nil || !dn.fgHandler.Enabled(features.FeatureGatePinnedImages) || dn.node == nil || dn.mcpLister == nil {
2742-
// Two options:
2743-
// - PIS is not enabled
2744-
// - MCD first boot run: No connection to the cluster and node not populated -> Cannot check PIS config
2741+
if dn.node == nil || dn.mcpLister == nil {
2742+
// If we are here it means we are in the MCD first boot run. No connection to the cluster
2743+
// and the node not being populated means we cannot check the PIS config.
27452744
return false, nil
27462745
}
27472746

pkg/operator/status.go

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -510,25 +510,25 @@ func (optr *Operator) allMachineConfigPoolStatus() (map[string]string, error) {
510510

511511
ret := map[string]string{}
512512
for _, pool := range pools {
513-
ret[pool.GetName()] = machineConfigPoolStatus(optr.fgHandler, pool)
513+
ret[pool.GetName()] = machineConfigPoolStatus(pool)
514514
}
515515
return ret, nil
516516
}
517517

518518
// isMachineConfigPoolConfigurationValid returns nil, or error when the configuration of a `pool` is created by the controller at version `version`,
519519
// when the osImageURL does not match what's in the configmap or when the rendered-config-xxx does not match the OCP release version.
520-
func isMachineConfigPoolConfigurationValid(fgHandler ctrlcommon.FeatureGatesHandler, pool *mcfgv1.MachineConfigPool, version, releaseVersion, osURL string, machineConfigGetter func(string) (*mcfgv1.MachineConfig, error)) error {
520+
func isMachineConfigPoolConfigurationValid(pool *mcfgv1.MachineConfigPool, version, releaseVersion, osURL string, machineConfigGetter func(string) (*mcfgv1.MachineConfig, error)) error {
521521
// both .status.configuration.name and .status.configuration.source must be set.
522522
if pool.Spec.Configuration.Name == "" {
523-
return fmt.Errorf("configuration spec for pool %s is empty: %v", pool.GetName(), machineConfigPoolStatus(fgHandler, pool))
523+
return fmt.Errorf("configuration spec for pool %s is empty: %v", pool.GetName(), machineConfigPoolStatus(pool))
524524
}
525525
if pool.Status.Configuration.Name == "" {
526526
// if status is empty, it means the node controller hasn't seen any node at the target configuration
527527
// we bubble up any error from the pool to make the info more visible
528-
return fmt.Errorf("configuration status for pool %s is empty: %s", pool.GetName(), machineConfigPoolStatus(fgHandler, pool))
528+
return fmt.Errorf("configuration status for pool %s is empty: %s", pool.GetName(), machineConfigPoolStatus(pool))
529529
}
530530
if len(pool.Status.Configuration.Source) == 0 {
531-
return fmt.Errorf("list of MachineConfigs that were used to generate configuration for pool %s is empty: %v", pool.GetName(), machineConfigPoolStatus(fgHandler, pool))
531+
return fmt.Errorf("list of MachineConfigs that were used to generate configuration for pool %s is empty: %v", pool.GetName(), machineConfigPoolStatus(pool))
532532
}
533533
mcs := []string{pool.Status.Configuration.Name}
534534
for _, fragment := range pool.Status.Configuration.Source {
@@ -547,13 +547,13 @@ func isMachineConfigPoolConfigurationValid(fgHandler ctrlcommon.FeatureGatesHand
547547
// The bootstrapped MCs fragments have this annotation, however, we don't fail (???) if they don't have
548548
// the annotation for some reason.
549549
if !ok && pool.Status.Configuration.Name == mcName {
550-
return fmt.Errorf("%s must be created by controller version %s: %v", mcName, version, machineConfigPoolStatus(fgHandler, pool))
550+
return fmt.Errorf("%s must be created by controller version %s: %v", mcName, version, machineConfigPoolStatus(pool))
551551
}
552552
// user provided MC fragments do not have the annotation, so we just skip the version check there.
553553
// The check below is for: 1) the generated MC for the pool, and 2) the bootstrapped fragments
554554
// that do have this annotation set with a version.
555555
if ok && v != version {
556-
return fmt.Errorf("controller version mismatch for %s expected %s has %s: %v", mcName, version, v, machineConfigPoolStatus(fgHandler, pool))
556+
return fmt.Errorf("controller version mismatch for %s expected %s has %s: %v", mcName, version, v, machineConfigPoolStatus(pool))
557557
}
558558
}
559559
// all MCs were generated by correct controller, but osImageURL is not a source, so let's double check here
@@ -588,7 +588,7 @@ func isMachineConfigPoolConfigurationValid(fgHandler ctrlcommon.FeatureGatesHand
588588
return nil
589589
}
590590

591-
func machineConfigPoolStatus(fgHandler ctrlcommon.FeatureGatesHandler, pool *mcfgv1.MachineConfigPool) string {
591+
func machineConfigPoolStatus(pool *mcfgv1.MachineConfigPool) string {
592592
switch {
593593
case apihelpers.IsMachineConfigPoolConditionTrue(pool.Status.Conditions, mcfgv1.MachineConfigPoolRenderDegraded):
594594
cond := apihelpers.GetMachineConfigPoolCondition(pool.Status, mcfgv1.MachineConfigPoolRenderDegraded)
@@ -601,11 +601,9 @@ func machineConfigPoolStatus(fgHandler ctrlcommon.FeatureGatesHandler, pool *mcf
601601
case apihelpers.IsMachineConfigPoolConditionTrue(pool.Status.Conditions, mcfgv1.MachineConfigPoolUpdating):
602602
return fmt.Sprintf("%d (ready %d) out of %d nodes are updating to latest configuration %s", pool.Status.UpdatedMachineCount, pool.Status.ReadyMachineCount, pool.Status.MachineCount, pool.Spec.Configuration.Name)
603603
default:
604-
if fgHandler.Enabled(features.FeatureGatePinnedImages) {
605-
if apihelpers.IsMachineConfigPoolConditionTrue(pool.Status.Conditions, mcfgv1.MachineConfigPoolPinnedImageSetsDegraded) {
606-
cond := apihelpers.GetMachineConfigPoolCondition(pool.Status, mcfgv1.MachineConfigPoolPinnedImageSetsDegraded)
607-
return fmt.Sprintf("pool is degraded because pinned image sets failed with %q: %q", cond.Reason, cond.Message)
608-
}
604+
if apihelpers.IsMachineConfigPoolConditionTrue(pool.Status.Conditions, mcfgv1.MachineConfigPoolPinnedImageSetsDegraded) {
605+
cond := apihelpers.GetMachineConfigPoolCondition(pool.Status, mcfgv1.MachineConfigPoolPinnedImageSetsDegraded)
606+
return fmt.Sprintf("pool is degraded because pinned image sets failed with %q: %q", cond.Reason, cond.Message)
609607
}
610608
return "<unknown>"
611609
}

pkg/operator/status_test.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ import (
1919
"github.com/stretchr/testify/assert"
2020
"k8s.io/apimachinery/pkg/util/uuid"
2121

22-
apicfgv1 "github.com/openshift/api/config/v1"
2322
configv1 "github.com/openshift/api/config/v1"
24-
features "github.com/openshift/api/features"
2523
mcfgv1 "github.com/openshift/api/machineconfiguration/v1"
2624
opv1 "github.com/openshift/api/operator/v1"
2725
fakeconfigclientset "github.com/openshift/client-go/config/clientset/versioned/fake"
@@ -194,14 +192,7 @@ func TestIsMachineConfigPoolConfigurationValid(t *testing.T) {
194192
source = append(source, corev1.ObjectReference{Name: s})
195193
}
196194

197-
fgHandler := ctrlcommon.NewFeatureGatesHardcodedHandler(
198-
[]apicfgv1.FeatureGateName{
199-
features.FeatureGateMachineConfigNodes,
200-
features.FeatureGatePinnedImages,
201-
},
202-
[]apicfgv1.FeatureGateName{},
203-
)
204-
err := isMachineConfigPoolConfigurationValid(fgHandler, &mcfgv1.MachineConfigPool{
195+
err := isMachineConfigPoolConfigurationValid(&mcfgv1.MachineConfigPool{
205196
ObjectMeta: metav1.ObjectMeta{
206197
Name: "dummy-pool",
207198
},
@@ -639,7 +630,7 @@ func TestOperatorSyncStatus(t *testing.T) {
639630
optr := &Operator{
640631
eventRecorder: &record.FakeRecorder{},
641632
fgHandler: ctrlcommon.NewFeatureGatesHardcodedHandler(
642-
[]configv1.FeatureGateName{features.FeatureGatePinnedImages}, []configv1.FeatureGateName{},
633+
[]configv1.FeatureGateName{}, []configv1.FeatureGateName{},
643634
),
644635
}
645636
optr.vStore = newVersionStore()
@@ -729,7 +720,7 @@ func TestInClusterBringUpStayOnErr(t *testing.T) {
729720
optr := &Operator{
730721
eventRecorder: &record.FakeRecorder{},
731722
fgHandler: ctrlcommon.NewFeatureGatesHardcodedHandler(
732-
[]configv1.FeatureGateName{features.FeatureGatePinnedImages}, []configv1.FeatureGateName{},
723+
[]configv1.FeatureGateName{}, []configv1.FeatureGateName{},
733724
),
734725
}
735726
optr.vStore = newVersionStore()

0 commit comments

Comments
 (0)