@@ -50,8 +50,9 @@ type FeatureGateAccess interface {
50
50
}
51
51
52
52
type Features struct {
53
- Enabled []configv1.FeatureGateName
54
- Disabled []configv1.FeatureGateName
53
+ Enabled []configv1.FeatureGateName
54
+ Disabled []configv1.FeatureGateName
55
+ RenderedMinimumComponentVersions []configv1.RequiredMinimumComponentVersion
55
56
}
56
57
57
58
type FeatureChange struct {
@@ -263,10 +264,12 @@ func (c *defaultFeatureGateAccess) CurrentFeatureGates() (FeatureGate, error) {
263
264
}
264
265
retEnabled := make ([]configv1.FeatureGateName , len (c .currentFeatures .Enabled ))
265
266
retDisabled := make ([]configv1.FeatureGateName , len (c .currentFeatures .Disabled ))
267
+ retRenderedMinimumComponentVersions := make ([]configv1.RequiredMinimumComponentVersion , len (c .currentFeatures .RenderedMinimumComponentVersions ))
266
268
copy (retEnabled , c .currentFeatures .Enabled )
267
269
copy (retDisabled , c .currentFeatures .Disabled )
270
+ copy (retRenderedMinimumComponentVersions , c .currentFeatures .RenderedMinimumComponentVersions )
268
271
269
- return NewFeatureGate (retEnabled , retDisabled ), nil
272
+ return NewFeatureGate (retEnabled , retDisabled , retRenderedMinimumComponentVersions ), nil
270
273
}
271
274
272
275
func (c * defaultFeatureGateAccess ) runWorker (ctx context.Context ) {
@@ -310,6 +313,11 @@ func featuresFromFeatureGate(featureGate *configv1.FeatureGate, desiredVersion s
310
313
break
311
314
}
312
315
316
+ features .RenderedMinimumComponentVersions = make ([]configv1.RequiredMinimumComponentVersion , 0 , len (featureGate .Status .RenderedMinimumComponentVersions ))
317
+ for _ , cv := range featureGate .Status .RenderedMinimumComponentVersions {
318
+ features .RenderedMinimumComponentVersions = append (features .RenderedMinimumComponentVersions , cv )
319
+ }
320
+
313
321
if ! found {
314
322
return Features {}, fmt .Errorf ("missing desired version %q in featuregates.config.openshift.io/cluster" , desiredVersion )
315
323
}
0 commit comments