From 798972627a296600d1204e0bed49a5935b04185e Mon Sep 17 00:00:00 2001 From: gabemontero Date: Wed, 8 Sep 2021 15:28:26 -0400 Subject: [PATCH 1/3] Add the 'BuildCSIVolumes' feature gate to the tech preview set. This allows CSI volumes provided by the 'CSIDriverSharedResource' feature gate to be included in DockerBuildStrategy and SourceBuildStrategy Builds in OpenShift. Currently, this should only be installed on clusters that opt into tech preview features. --- config/v1/types_feature.go | 1 + 1 file changed, 1 insertion(+) diff --git a/config/v1/types_feature.go b/config/v1/types_feature.go index 5c0b341f694..2b3f4cb6425 100644 --- a/config/v1/types_feature.go +++ b/config/v1/types_feature.go @@ -120,6 +120,7 @@ var FeatureSets = map[FeatureSet]*FeatureGateEnabledDisabled{ with("ExternalCloudProvider"). // sig-cloud-provider, jspeed, OCP specific with("InsightsOperatorPullingSCA"). // insights-operator/ccx, tremes, OCP specific with("CSIDriverSharedResource"). // sig-build, adkaplan, OCP specific + with("BuildCSIVolumes"). // sig-build, adkaplan, OCP specific toFeatures(), LatencySensitive: newDefaultFeatures(). with( From f7cc8ae55ad79c2c04f7bd41f7f7400594e0c628 Mon Sep 17 00:00:00 2001 From: gabemontero Date: Fri, 10 Sep 2021 11:41:17 -0400 Subject: [PATCH 2/3] expose feature gates in the OCM config --- openshiftcontrolplane/v1/types.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/openshiftcontrolplane/v1/types.go b/openshiftcontrolplane/v1/types.go index 5f0f9b91434..e6ef6b4c61d 100644 --- a/openshiftcontrolplane/v1/types.go +++ b/openshiftcontrolplane/v1/types.go @@ -189,6 +189,11 @@ type OpenShiftControllerManagerConfig struct { Ingress IngressControllerConfig `json:"ingress"` ImageImport ImageImportControllerConfig `json:"imageImport"` SecurityAllocator SecurityAllocator `json:"securityAllocator"` + + // featureGates are the set of extra OpenShift feature gates for openshift-controller-manager. + // These feature gates can be used to enable features that are tech preview or otherwise not available on + // OpenShift by default. + FeatureGates []string `json:"featureGates"` } type DeployerControllerConfig struct { From ada51a06e8d6a721fc3d2d9f110e8565c6aea9f7 Mon Sep 17 00:00:00 2001 From: gabemontero Date: Tue, 21 Sep 2021 08:41:39 -0400 Subject: [PATCH 3/3] make update --- openshiftcontrolplane/v1/zz_generated.deepcopy.go | 5 +++++ .../v1/zz_generated.swagger_doc_generated.go | 1 + 2 files changed, 6 insertions(+) diff --git a/openshiftcontrolplane/v1/zz_generated.deepcopy.go b/openshiftcontrolplane/v1/zz_generated.deepcopy.go index 43e1c1e4e5d..3626f626d90 100644 --- a/openshiftcontrolplane/v1/zz_generated.deepcopy.go +++ b/openshiftcontrolplane/v1/zz_generated.deepcopy.go @@ -456,6 +456,11 @@ func (in *OpenShiftControllerManagerConfig) DeepCopyInto(out *OpenShiftControlle out.Ingress = in.Ingress out.ImageImport = in.ImageImport out.SecurityAllocator = in.SecurityAllocator + if in.FeatureGates != nil { + in, out := &in.FeatureGates, &out.FeatureGates + *out = make([]string, len(*in)) + copy(*out, *in) + } return } diff --git a/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go b/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go index bdd73ceee7d..4663ce67a0c 100644 --- a/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go +++ b/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go @@ -162,6 +162,7 @@ var map_OpenShiftControllerManagerConfig = map[string]string{ "servingInfo": "servingInfo describes how to start serving", "leaderElection": "leaderElection defines the configuration for electing a controller instance to make changes to the cluster. If unspecified, the ControllerTTL value is checked to determine whether the legacy direct etcd election code will be used.", "controllers": "controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller \"+ named 'foo', '-foo' disables the controller named 'foo'. Defaults to \"*\".", + "featureGates": "featureGates are the set of extra OpenShift feature gates for openshift-controller-manager. These feature gates can be used to enable features that are tech preview or otherwise not available on OpenShift by default.", } func (OpenShiftControllerManagerConfig) SwaggerDoc() map[string]string {