From 2029bc4551ac330f67d8ea6eb662bee8d75e898b Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 10 Dec 2024 13:22:26 +0000 Subject: [PATCH 1/2] OSASINFRA-3652: openstack-cinder: Use new --with-topology flag Rather than relying on the soon-to-be-removed feature gate. Signed-off-by: Stephen Finucane --- .../generated/hypershift/controller.yaml | 16 ++++++++-------- .../generated/standalone/controller.yaml | 18 +++++++++--------- .../patches/controller_add_driver.yaml | 6 ++++++ .../patches/provisioner_add_envvars.yaml | 16 ---------------- .../openstack-cinder/openstack_cinder.go | 4 +--- 5 files changed, 24 insertions(+), 36 deletions(-) delete mode 100644 assets/overlays/openstack-cinder/patches/provisioner_add_envvars.yaml diff --git a/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml b/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml index e496f1eae..bfdc5cb50 100644 --- a/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml +++ b/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml @@ -4,9 +4,8 @@ # Applied strategic merge patch overlays/openstack-cinder/patches/controller_add_driver.yaml # Applied strategic merge patch common/sidecars/controller_driver_kube_rbac_proxy.yaml # provisioner.yaml: Loaded from common/sidecars/provisioner.yaml -# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=$(ENABLE_TOPOLOGY) --default-fstype=ext4] +# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=true --default-fstype=ext4] # provisioner.yaml: Applied JSON patch common/hypershift/sidecar_add_kubeconfig.yaml.patch -# provisioner.yaml: Applied strategic merge patch overlays/openstack-cinder/patches/provisioner_add_envvars.yaml # Applied strategic merge patch provisioner.yaml # attacher.yaml: Loaded from common/sidecars/attacher.yaml # attacher.yaml: Added arguments [--timeout=3m] @@ -94,12 +93,18 @@ spec: - --endpoint=$(CSI_ENDPOINT) - --cloud-config=$(CLOUD_CONFIG) - --cluster=${CLUSTER_ID} + - --with-topology=$(ENABLE_TOPOLOGY) - --v=${LOG_LEVEL} env: - name: CSI_ENDPOINT value: unix://csi/csi.sock - name: CLOUD_CONFIG value: /etc/kubernetes/config/cloud.conf + - name: ENABLE_TOPOLOGY + valueFrom: + configMapKeyRef: + key: enable_topology + name: cloud-conf image: ${DRIVER_IMAGE} imagePullPolicy: IfNotPresent livenessProbe: @@ -164,17 +169,12 @@ spec: - --leader-election-namespace=${NODE_NAMESPACE} - --v=${LOG_LEVEL} - --timeout=3m - - --feature-gates=Topology=$(ENABLE_TOPOLOGY) + - --feature-gates=Topology=true - --default-fstype=ext4 - --kubeconfig=$(KUBECONFIG) env: - name: KUBECONFIG value: /etc/hosted-kubernetes/kubeconfig - - name: ENABLE_TOPOLOGY - valueFrom: - configMapKeyRef: - key: enable_topology - name: cloud-conf image: ${PROVISIONER_IMAGE} imagePullPolicy: IfNotPresent name: csi-provisioner diff --git a/assets/overlays/openstack-cinder/generated/standalone/controller.yaml b/assets/overlays/openstack-cinder/generated/standalone/controller.yaml index 9fa37d427..2ca20c112 100644 --- a/assets/overlays/openstack-cinder/generated/standalone/controller.yaml +++ b/assets/overlays/openstack-cinder/generated/standalone/controller.yaml @@ -4,8 +4,7 @@ # Applied strategic merge patch overlays/openstack-cinder/patches/controller_add_driver.yaml # Applied strategic merge patch common/sidecars/controller_driver_kube_rbac_proxy.yaml # provisioner.yaml: Loaded from common/sidecars/provisioner.yaml -# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=$(ENABLE_TOPOLOGY) --default-fstype=ext4] -# provisioner.yaml: Applied strategic merge patch overlays/openstack-cinder/patches/provisioner_add_envvars.yaml +# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=true --default-fstype=ext4] # Applied strategic merge patch provisioner.yaml # attacher.yaml: Loaded from common/sidecars/attacher.yaml # attacher.yaml: Added arguments [--timeout=3m] @@ -64,12 +63,18 @@ spec: - --endpoint=$(CSI_ENDPOINT) - --cloud-config=$(CLOUD_CONFIG) - --cluster=${CLUSTER_ID} + - --with-topology=$(ENABLE_TOPOLOGY) - --v=${LOG_LEVEL} env: - name: CSI_ENDPOINT value: unix://csi/csi.sock - name: CLOUD_CONFIG value: /etc/kubernetes/config/cloud.conf + - name: ENABLE_TOPOLOGY + valueFrom: + configMapKeyRef: + key: enable_topology + name: cloud-conf image: ${DRIVER_IMAGE} imagePullPolicy: IfNotPresent livenessProbe: @@ -134,14 +139,9 @@ spec: - --leader-election-namespace=${NODE_NAMESPACE} - --v=${LOG_LEVEL} - --timeout=3m - - --feature-gates=Topology=$(ENABLE_TOPOLOGY) + - --feature-gates=Topology=true - --default-fstype=ext4 - env: - - name: ENABLE_TOPOLOGY - valueFrom: - configMapKeyRef: - key: enable_topology - name: cloud-conf + env: [] image: ${PROVISIONER_IMAGE} imagePullPolicy: IfNotPresent name: csi-provisioner diff --git a/assets/overlays/openstack-cinder/patches/controller_add_driver.yaml b/assets/overlays/openstack-cinder/patches/controller_add_driver.yaml index 66968f6f4..d3c1ea76f 100644 --- a/assets/overlays/openstack-cinder/patches/controller_add_driver.yaml +++ b/assets/overlays/openstack-cinder/patches/controller_add_driver.yaml @@ -40,12 +40,18 @@ spec: - "--endpoint=$(CSI_ENDPOINT)" - "--cloud-config=$(CLOUD_CONFIG)" - "--cluster=${CLUSTER_ID}" + - "--with-topology=$(ENABLE_TOPOLOGY)" - "--v=${LOG_LEVEL}" env: - name: CSI_ENDPOINT value: unix://csi/csi.sock - name: CLOUD_CONFIG value: /etc/kubernetes/config/cloud.conf + - name: ENABLE_TOPOLOGY + valueFrom: + configMapKeyRef: + key: enable_topology + name: cloud-conf ports: - name: healthz containerPort: 10301 diff --git a/assets/overlays/openstack-cinder/patches/provisioner_add_envvars.yaml b/assets/overlays/openstack-cinder/patches/provisioner_add_envvars.yaml deleted file mode 100644 index cceb3e83d..000000000 --- a/assets/overlays/openstack-cinder/patches/provisioner_add_envvars.yaml +++ /dev/null @@ -1,16 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -spec: - template: - spec: - containers: - - name: csi-provisioner - # The Topology feature gate can only be enabled or disabled via a command-line option, - # so we need to do this dance of copying the value from the config map to the environment - # so that we can use the environment variable in our CLI option. - env: - - name: ENABLE_TOPOLOGY - valueFrom: - configMapKeyRef: - key: enable_topology - name: cloud-conf diff --git a/pkg/driver/openstack-cinder/openstack_cinder.go b/pkg/driver/openstack-cinder/openstack_cinder.go index c846a393e..db68cb90b 100644 --- a/pkg/driver/openstack-cinder/openstack_cinder.go +++ b/pkg/driver/openstack-cinder/openstack_cinder.go @@ -53,10 +53,8 @@ func GetOpenStackCinderGeneratorConfig() *generator.CSIDriverGeneratorConfig { Sidecars: []generator.SidecarConfig{ commongenerator.DefaultProvisionerWithSnapshots.WithExtraArguments( "--timeout=3m", - "--feature-gates=Topology=$(ENABLE_TOPOLOGY)", + "--feature-gates=Topology=true", "--default-fstype=ext4", - ).WithPatches(generator.AllFlavours, - "controller.yaml", "overlays/openstack-cinder/patches/provisioner_add_envvars.yaml", ), commongenerator.DefaultAttacher.WithExtraArguments( "--timeout=3m", From 53ee18f4f27e2b9429aafd39b2f1e38045482d90 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Mon, 10 Mar 2025 16:29:35 +0000 Subject: [PATCH 2/2] openstack-cinder: Remove --feature-gate opt This defaults to true [1], meaning there is no reason to set it manually. [1] https://github.com/kubernetes-csi/external-provisioner/blob/c7277b7a5181ff6eab89dc9e36390306417471d4/pkg/features/features.go#L63 Signed-off-by: Stephen Finucane --- .../openstack-cinder/generated/hypershift/controller.yaml | 3 +-- .../openstack-cinder/generated/standalone/controller.yaml | 3 +-- pkg/driver/openstack-cinder/openstack_cinder.go | 1 - 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml b/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml index bfdc5cb50..0ef9a8fa0 100644 --- a/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml +++ b/assets/overlays/openstack-cinder/generated/hypershift/controller.yaml @@ -4,7 +4,7 @@ # Applied strategic merge patch overlays/openstack-cinder/patches/controller_add_driver.yaml # Applied strategic merge patch common/sidecars/controller_driver_kube_rbac_proxy.yaml # provisioner.yaml: Loaded from common/sidecars/provisioner.yaml -# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=true --default-fstype=ext4] +# provisioner.yaml: Added arguments [--timeout=3m --default-fstype=ext4] # provisioner.yaml: Applied JSON patch common/hypershift/sidecar_add_kubeconfig.yaml.patch # Applied strategic merge patch provisioner.yaml # attacher.yaml: Loaded from common/sidecars/attacher.yaml @@ -169,7 +169,6 @@ spec: - --leader-election-namespace=${NODE_NAMESPACE} - --v=${LOG_LEVEL} - --timeout=3m - - --feature-gates=Topology=true - --default-fstype=ext4 - --kubeconfig=$(KUBECONFIG) env: diff --git a/assets/overlays/openstack-cinder/generated/standalone/controller.yaml b/assets/overlays/openstack-cinder/generated/standalone/controller.yaml index 2ca20c112..9d7079537 100644 --- a/assets/overlays/openstack-cinder/generated/standalone/controller.yaml +++ b/assets/overlays/openstack-cinder/generated/standalone/controller.yaml @@ -4,7 +4,7 @@ # Applied strategic merge patch overlays/openstack-cinder/patches/controller_add_driver.yaml # Applied strategic merge patch common/sidecars/controller_driver_kube_rbac_proxy.yaml # provisioner.yaml: Loaded from common/sidecars/provisioner.yaml -# provisioner.yaml: Added arguments [--timeout=3m --feature-gates=Topology=true --default-fstype=ext4] +# provisioner.yaml: Added arguments [--timeout=3m --default-fstype=ext4] # Applied strategic merge patch provisioner.yaml # attacher.yaml: Loaded from common/sidecars/attacher.yaml # attacher.yaml: Added arguments [--timeout=3m] @@ -139,7 +139,6 @@ spec: - --leader-election-namespace=${NODE_NAMESPACE} - --v=${LOG_LEVEL} - --timeout=3m - - --feature-gates=Topology=true - --default-fstype=ext4 env: [] image: ${PROVISIONER_IMAGE} diff --git a/pkg/driver/openstack-cinder/openstack_cinder.go b/pkg/driver/openstack-cinder/openstack_cinder.go index db68cb90b..fd7575d5d 100644 --- a/pkg/driver/openstack-cinder/openstack_cinder.go +++ b/pkg/driver/openstack-cinder/openstack_cinder.go @@ -53,7 +53,6 @@ func GetOpenStackCinderGeneratorConfig() *generator.CSIDriverGeneratorConfig { Sidecars: []generator.SidecarConfig{ commongenerator.DefaultProvisionerWithSnapshots.WithExtraArguments( "--timeout=3m", - "--feature-gates=Topology=true", "--default-fstype=ext4", ), commongenerator.DefaultAttacher.WithExtraArguments(