Disable leader elections for CSI components on AIO-SX
The rbd-provisioner and cephfs-provisioner pods use the K8s API to conduct leadership elections, but these elections should be disabled on AIO-SX, since they are not needed. Test Plan: - PASS: Build app package - PASS: Update app package on AIO-SX and check csi containers logs - PASS: Update app package on AIO-DX and check csi containers logs Closes-Bug: 2080868 Change-Id: Ifd6f1b09aa9986e577335c34187668a8ca53b052 Signed-off-by: Erickson Silva de Oliveira <Erickson.SilvadeOliveira@windriver.com>
This commit is contained in:
parent
162653536f
commit
673bbf711d
@ -0,0 +1,65 @@
|
||||
From 1e4bf4f0457288c6619b0cfd75816a54b0bb2500 Mon Sep 17 00:00:00 2001
|
||||
From: Erickson Silva de Oliveira <Erickson.SilvadeOliveira@windriver.com>
|
||||
Date: Fri, 13 Sep 2024 17:46:04 -0300
|
||||
Subject: [PATCH] cephfs: Add conditional to enable leader election
|
||||
|
||||
The rbd-provisioner and cephfs-provisioner pods use the K8s
|
||||
API to conduct leadership elections, but these elections
|
||||
should be disabled on AIO-SX, since they are not needed.
|
||||
|
||||
Signed-off-by: Erickson Silva de Oliveira <Erickson.SilvadeOliveira@windriver.com>
|
||||
---
|
||||
.../ceph-csi-cephfs/templates/provisioner-deployment.yaml | 6 ++++++
|
||||
charts/ceph-csi-cephfs/values.yaml | 3 +++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml b/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml
|
||||
index 9c930d3..9b7febe 100644
|
||||
--- a/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml
|
||||
+++ b/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml
|
||||
@@ -126,7 +126,9 @@ spec:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election=true"
|
||||
+{{- end }}
|
||||
- "--retry-interval-start=500ms"
|
||||
- "--extra-create-metadata=true"
|
||||
- "--feature-gates=HonorPVReclaimPolicy=true"
|
||||
@@ -150,7 +152,9 @@ spec:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election=true"
|
||||
+{{- end }}
|
||||
- "--extra-create-metadata=false"
|
||||
- "--enable-volume-group-snapshots={{.Values.provisioner.snapshotter.args.enableVolumeGroupSnapshots }}"
|
||||
{{- range .Values.provisioner.snapshotter.extraArgs }}
|
||||
@@ -173,7 +177,9 @@ spec:
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election"
|
||||
+{{- end }}
|
||||
- "--retry-interval-start=500ms"
|
||||
- "--handle-volume-inuse-error=false"
|
||||
- "--feature-gates=RecoverVolumeExpansionFailure=true"
|
||||
diff --git a/charts/ceph-csi-cephfs/values.yaml b/charts/ceph-csi-cephfs/values.yaml
|
||||
index 8141d86..d6304c7 100644
|
||||
--- a/charts/ceph-csi-cephfs/values.yaml
|
||||
+++ b/charts/ceph-csi-cephfs/values.yaml
|
||||
@@ -160,6 +160,9 @@ provisioner:
|
||||
# useful for deployments where the podNetwork has no access to ceph
|
||||
enableHostNetwork: false
|
||||
|
||||
+ leaderElection:
|
||||
+ enabled: true
|
||||
+
|
||||
httpMetrics:
|
||||
# Metrics only available for cephcsi/cephcsi => 1.2.0
|
||||
# Specifies whether http metrics should be exposed
|
||||
--
|
||||
2.34.1
|
@ -0,0 +1,75 @@
|
||||
From ae66484310a368998d44654bbe7a6e0b88b28dc5 Mon Sep 17 00:00:00 2001
|
||||
From: Erickson Silva de Oliveira <Erickson.SilvadeOliveira@windriver.com>
|
||||
Date: Fri, 13 Sep 2024 17:46:49 -0300
|
||||
Subject: [PATCH] rbd: Add conditional to enable leader election
|
||||
|
||||
The rbd-provisioner and cephfs-provisioner pods use the K8s
|
||||
API to conduct leadership elections, but these elections
|
||||
should be disabled on AIO-SX, since they are not needed.
|
||||
|
||||
Signed-off-by: Erickson Silva de Oliveira <Erickson.SilvadeOliveira@windriver.com>
|
||||
---
|
||||
charts/ceph-csi-rbd/templates/provisioner-deployment.yaml | 8 ++++++++
|
||||
charts/ceph-csi-rbd/values.yaml | 3 +++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml
|
||||
index 8f4e3b2..1bac6e8 100644
|
||||
--- a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml
|
||||
+++ b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml
|
||||
@@ -141,7 +141,9 @@ spec:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election=true"
|
||||
+{{- end }}
|
||||
- "--retry-interval-start=500ms"
|
||||
- "--default-fstype={{ .Values.provisioner.defaultFSType }}"
|
||||
- "--extra-create-metadata=true"
|
||||
@@ -169,7 +171,9 @@ spec:
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election"
|
||||
+{{- end }}
|
||||
- "--retry-interval-start=500ms"
|
||||
- "--handle-volume-inuse-error=false"
|
||||
- "--feature-gates=RecoverVolumeExpansionFailure=true"
|
||||
@@ -193,7 +197,9 @@ spec:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--timeout={{ .Values.provisioner.timeout }}"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election=true"
|
||||
+{{- end }}
|
||||
- "--extra-create-metadata=true"
|
||||
- "--enable-volume-group-snapshots={{.Values.provisioner.snapshotter.args.enableVolumeGroupSnapshots }}"
|
||||
{{- range .Values.provisioner.snapshotter.extraArgs }}
|
||||
@@ -215,7 +221,9 @@ spec:
|
||||
args:
|
||||
- "--v={{ .Values.sidecarLogLevel }}"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
+{{- if .Values.provisioner.leaderElection.enabled }}
|
||||
- "--leader-election=true"
|
||||
+{{- end }}
|
||||
- "--retry-interval-start=500ms"
|
||||
- "--default-fstype=ext4"
|
||||
{{- range .Values.provisioner.attacher.extraArgs }}
|
||||
diff --git a/charts/ceph-csi-rbd/values.yaml b/charts/ceph-csi-rbd/values.yaml
|
||||
index 3087794..d1b002d 100644
|
||||
--- a/charts/ceph-csi-rbd/values.yaml
|
||||
+++ b/charts/ceph-csi-rbd/values.yaml
|
||||
@@ -197,6 +197,9 @@ provisioner:
|
||||
# useful for deployments where the podNetwork has no access to ceph
|
||||
enableHostNetwork: false
|
||||
|
||||
+ leaderElection:
|
||||
+ enabled: true
|
||||
+
|
||||
httpMetrics:
|
||||
# Metrics only available for cephcsi/cephcsi => 1.2.0
|
||||
# Specifies whether http metrics should be exposed
|
||||
--
|
||||
2.34.1
|
@ -18,3 +18,5 @@
|
||||
0018-Fix-chart-label-for-rbd-storage-init-Job.patch
|
||||
0019-ceph-csi-cephfs-add-conditional-for-csi-snapshotter-creation.patch
|
||||
0020-ceph-csi-rbd-add-conditional-for-csi-snapshotter-creation.patch
|
||||
0021-ceph-csi-cephfs-add-conditional-to-enable-leader-election.patch
|
||||
0022-ceph-csi-rbd-add-conditional-to-enable-leader-election.patch
|
||||
|
@ -9,6 +9,7 @@ from k8sapp_platform.common import utils as cutils
|
||||
|
||||
from sysinv.common import constants
|
||||
from sysinv.common import exception
|
||||
from sysinv.common import utils
|
||||
|
||||
from sysinv.helm import base
|
||||
|
||||
@ -147,6 +148,7 @@ class CephFSProvisionerHelm(base.FluxCDBaseHelm):
|
||||
"adminSecretName": app_constants.K8S_CEPHFS_PROVISIONER_ADMIN_SECRET_NAME
|
||||
}
|
||||
|
||||
is_simplex = utils.is_aio_simplex_system(self.dbapi)
|
||||
snapshot_support = cutils.check_snapshot_support(app_constants.HELM_CHART_CEPH_FS_PROVISIONER)
|
||||
# Get tier info.
|
||||
tiers = self.dbapi.storage_tier_get_list()
|
||||
@ -195,6 +197,9 @@ class CephFSProvisionerHelm(base.FluxCDBaseHelm):
|
||||
"replicaCount": self._num_replicas_for_platform_app(),
|
||||
"snapshotter": {
|
||||
"enabled": snapshot_support
|
||||
},
|
||||
"leaderElection": {
|
||||
"enabled": not is_simplex
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ from k8sapp_platform.common import utils as cutils
|
||||
|
||||
from sysinv.common import constants
|
||||
from sysinv.common import exception
|
||||
from sysinv.common import utils
|
||||
from sysinv.common.storage_backend_conf import K8RbdProvisioner
|
||||
|
||||
from sysinv.helm import base
|
||||
@ -65,6 +66,7 @@ class RbdProvisionerHelm(base.FluxCDBaseHelm):
|
||||
"storageClass": constants.K8S_RBD_PROV_STOR_CLASS_NAME
|
||||
}
|
||||
|
||||
is_simplex = utils.is_aio_simplex_system(self.dbapi)
|
||||
snapshot_support = cutils.check_snapshot_support(app_constants.HELM_CHART_RBD_PROVISIONER)
|
||||
# Get tier info.
|
||||
tiers = self.dbapi.storage_tier_get_list()
|
||||
@ -110,6 +112,9 @@ class RbdProvisionerHelm(base.FluxCDBaseHelm):
|
||||
"replicaCount": self._num_replicas_for_platform_app(),
|
||||
"snapshotter": {
|
||||
"enabled": snapshot_support
|
||||
},
|
||||
"leaderElection": {
|
||||
"enabled": not is_simplex
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user