diff --git a/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties b/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties index 1f4bf4ac7b..90ede37c5e 100644 --- a/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties +++ b/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties @@ -7,4 +7,5 @@ volNamePrefix=csivol snapNamePrefix=csi-snap certSecretCount=1 pollRate=60 -driverPodLabel=dell-storage \ No newline at end of file +driverPodLabel=dell-storage +arrayThreshold=3 \ No newline at end of file diff --git a/content/docs/deployment/csminstallationwizard/src/index.html b/content/docs/deployment/csminstallationwizard/src/index.html index 1269abf094..bb839db30e 100644 --- a/content/docs/deployment/csminstallationwizard/src/index.html +++ b/content/docs/deployment/csminstallationwizard/src/index.html @@ -165,6 +165,12 @@ +
+
+ + +
+
@@ -183,6 +189,18 @@
+
+ +
+
+ +
+
+ +
+
diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/generate-yaml.js b/content/docs/deployment/csminstallationwizard/src/static/js/generate-yaml.js index 878ee84c3b..cca6d2a2c6 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/generate-yaml.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/generate-yaml.js @@ -50,8 +50,10 @@ function setValues(csmMapValues, CONSTANTS_PARAM) { DriverValues.driverNamespace = document.getElementById("driver-namespace").value; DriverValues.labelValue = document.getElementById("label-value").value; DriverValues.pollRate = document.getElementById("poll-rate").value; + DriverValues.arrayThreshold = document.getElementById("array-threshold").value; DriverValues.driverPodLabel = document.getElementById("driver-pod-label").value; DriverValues.connectionValidation = $("#connection-validation").prop('checked') ? true : false; + DriverValues.leaderElection = $("#leader-election").prop('checked') ? true : false; DriverValues.volumelessPods = $("#volumeless-pods").prop('checked') ? true : false; DriverValues.controllerPodsNodeSelector = $("#controller-pods-node-selector").prop('checked') ? true : ""; DriverValues.nodePodsNodeSelector = $("#node-pods-node-selector").prop('checked') ? true : ""; @@ -133,8 +135,10 @@ function createYamlString(yamlTpl, yamlTplValues, driverParam, CONSTANTS_PARAM) yamlTpl = yamlTpl.replaceAll("$OPERATOR_RESILIENCY_ENABLED", yamlTplValues.operatorResiliency); yamlTpl = yamlTpl.replaceAll("$LABEL_VALUE", yamlTplValues.labelValue); yamlTpl = yamlTpl.replaceAll("$POLL_RATE", yamlTplValues.pollRate); + yamlTpl = yamlTpl.replaceAll("$ARRAY_THRESHOLD", yamlTplValues.arrayThreshold); yamlTpl = yamlTpl.replaceAll("$DRIVER_POD_LABEL_VALUE", yamlTplValues.driverPodLabel); yamlTpl = yamlTpl.replaceAll("$SKIP_ARRAY_CONNECTION_VALIDATION", yamlTplValues.connectionValidation); + yamlTpl = yamlTpl.replaceAll("$LEADER_ELECTION", yamlTplValues.leaderElection); yamlTpl = yamlTpl.replaceAll("$IGNORE_VOLUMELESS_PODS", yamlTplValues.volumelessPods); yamlTpl = yamlTpl.replaceAll("$STORAGE_CAPACITY_ENABLED", yamlTplValues.storageCapacity); yamlTpl = yamlTpl.replaceAll("$MONITOR_ENABLED", yamlTplValues.monitor); diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js index dba45cfce4..0b75ef591e 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js @@ -94,9 +94,11 @@ describe("GIVEN setValues function", () => { + + `; @@ -143,8 +145,10 @@ describe("GIVEN setValues function", () => { operatorResiliency: false, labelValue: "", pollRate: '60', + arrayThreshold: '3', driverPodLabel: 'dell-storage', connectionValidation: false, + leaderElection: false, volumelessPods: false, clusterPrefix: undefined, portGroups: undefined, @@ -183,9 +187,11 @@ describe("GIVEN setValues function", () => { + + `; const expected = { @@ -230,8 +236,10 @@ describe("GIVEN setValues function", () => { operatorResiliency: false, labelValue: "", pollRate: '60', + arrayThreshold: '3', driverPodLabel: 'dell-storage', connectionValidation: false, + leaderElection: false, volumelessPods: false, clusterPrefix: undefined, portGroups: undefined, @@ -270,9 +278,11 @@ describe("GIVEN setValues function", () => { + + `; const expected = { diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js index a5ca0df666..6d5c848a88 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js @@ -31,6 +31,7 @@ const { resetSnapNamePrefix, resetDriverPodLabel, resetArrayPollRate, + resetArrayConnectionLossThreshold, resetLabelValue, resetNodeSelectorLabel, resetDriverNamespace, @@ -391,6 +392,22 @@ describe("GIVEN resetArrayPollRate function", () => { }); }); +describe("GIVEN resetArrayConnectionLossThreshold function", () => { + const testCSMMap = new Map([ + ["arrayThreshold", "3"] + ]); + + test("SHOULD invoke resetArrayConnectionLossThreshold function", () => { + document.body.innerHTML = ` + + `; + + resetArrayConnectionLossThreshold(testCSMMap); + + expect(document.getElementById("array-threshold").value).toEqual("3"); + }); +}); + describe("GIVEN resetLabelValue function", () => { test("SHOULD invoke resetLabelValue function", () => { document.body.innerHTML = ` diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js index 8e5d734d1a..d90928a12f 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js @@ -274,6 +274,7 @@ describe("GIVEN setDefaultValues function", () => { + `; @@ -286,6 +287,7 @@ describe("GIVEN setDefaultValues function", () => { ["certSecretCount", "1"], ["taint", "node-role.kubernetes.io/control-plane"], ["pollRate", "60"], + ["arrayThreshold", "3"], ["driverPodLabel", "dell-storage"] ]); @@ -299,6 +301,7 @@ describe("GIVEN setDefaultValues function", () => { expect(document.getElementById("cert-secret-count").value).toEqual("1"); expect(document.getElementById("taint").value).toEqual("node-role.kubernetes.io/control-plane"); expect(document.getElementById("poll-rate").value).toEqual("60"); + expect(document.getElementById("array-threshold").value).toEqual("3"); expect(document.getElementById("driver-pod-label").value).toEqual("dell-storage"); }); diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js b/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js index e085e408f8..e8d2c4f407 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js @@ -176,6 +176,10 @@ const resetArrayPollRate = csmMapValue => { document.getElementById("poll-rate").value = String(csmMapValue.get("pollRate")); } +const resetArrayConnectionLossThreshold = csmMapValue => { + document.getElementById("array-threshold").value = String(csmMapValue.get("arrayThreshold")); +} + const resetLabelValue = (driverValue, CONSTANTS_PARAM) => { if (driverValue === CONSTANTS_PARAM.POWERSTORE) { document.getElementById("label-value").value = CONSTANTS_PARAM.POWERSTORE_LABEL_VALUE; @@ -386,6 +390,7 @@ if (typeof exports !== 'undefined') { resetArrayPollRate, resetLabelValue, resetDriverPodLabel, + resetArrayConnectionLossThreshold, resetTaint, downloadFile, displayModules, diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/utility.js b/content/docs/deployment/csminstallationwizard/src/static/js/utility.js index 8de9b593dc..24762baac6 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/utility.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/utility.js @@ -103,6 +103,7 @@ function setDefaultValues(defaultValuesParam, csmMapValues) { document.getElementById("cert-secret-count").value = csmMapValues.get("certSecretCount"); document.getElementById("taint").value = csmMapValues.get("taint"); document.getElementById("poll-rate").value = csmMapValues.get("pollRate"); + document.getElementById("array-threshold").value = csmMapValues.get("arrayThreshold"); document.getElementById("driver-pod-label").value = csmMapValues.get("driverPodLabel"); } diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.7.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.7.0.template index a342f04e1b..0df0ec80a5 100644 --- a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.7.0.template +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.7.0.template @@ -165,17 +165,11 @@ spec: # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None - nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" + nodeSelector:$CONTROLLER_POD_NODE_SELECTOR # tolerations: Define tolerations for the controller deployment, if required. # Default value: None - tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" + tolerations:$CONTROLLER_TOLERATIONS node: envs: @@ -219,8 +213,6 @@ spec: # Allowed values: map of key-value pairs # Default value: None nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the node daemonset, if required. # Default value: None @@ -234,10 +226,6 @@ spec: # - key: "node.kubernetes.io/network-unavailable" # operator: "Exists" # effect: "NoExecute" - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" sideCars: - name: provisioner @@ -451,7 +439,7 @@ spec: - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - - "--arrayConnectivityConnectionLossThreshold=3" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/run/csi/csi.sock" - "--mode=controller" @@ -469,10 +457,10 @@ spec: args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--leaderelection=$LEADER_ELECTION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - - "--arrayConnectivityConnectionLossThreshold=3" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" - "--mode=node" diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.8.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.8.0.template index 9ff559888e..9f2adc1648 100644 --- a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.8.0.template +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.8.0.template @@ -165,17 +165,11 @@ spec: # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None - nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" + nodeSelector:$CONTROLLER_POD_NODE_SELECTOR # tolerations: Define tolerations for the controller deployment, if required. # Default value: None - tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" + tolerations:$CONTROLLER_TOLERATIONS node: envs: @@ -219,8 +213,6 @@ spec: # Allowed values: map of key-value pairs # Default value: None nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the node daemonset, if required. # Default value: None @@ -234,10 +226,6 @@ spec: # - key: "node.kubernetes.io/network-unavailable" # operator: "Exists" # effect: "NoExecute" - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" sideCars: - name: provisioner @@ -451,7 +439,7 @@ spec: - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - - "--arrayConnectivityConnectionLossThreshold=3" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/run/csi/csi.sock" - "--mode=controller" @@ -469,10 +457,10 @@ spec: args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--leaderelection=$LEADER_ELECTION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - - "--arrayConnectivityConnectionLossThreshold=3" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" - "--mode=node" diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.7.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.7.0.template index 1a90bdad1b..2a374d3fa2 100644 --- a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.7.0.template +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.7.0.template @@ -107,18 +107,13 @@ spec: # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None - nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" + nodeSelector:$CONTROLLER_POD_NODE_SELECTOR # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None - tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" + tolerations:$CONTROLLER_TOLERATIONS + node: envs: # Set to "true" to enable ISCSI CHAP Authentication @@ -140,18 +135,12 @@ spec: # Allowed values: map of key-value pairs # Default value: None nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" - + modules: - name: resiliency # enabled: Enable/Disable Resiliency feature @@ -163,18 +152,23 @@ spec: configVersion: v1.6.0 components: - name: podmon-controller + image: dellemc/podmon:v1.6.0 + imagePullPolicy: IfNotPresent args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/run/csi/csi.sock" - "--mode=controller" - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - "--driverPath=csi-powerstore.dellemc.com" - name: podmon-node + image: dellemc/podmon:v1.6.0 + imagePullPolicy: IfNotPresent envs: # podmonAPIPort: Defines the port to be used within the kubernetes cluster # Allowed values: Any valid and free port (string) @@ -184,9 +178,10 @@ spec: args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--leaderelection=$LEADER_ELECTION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - "--mode=node" diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.8.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.8.0.template index 8b5c19d764..8bb97d6f66 100644 --- a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.8.0.template +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.8.0.template @@ -107,18 +107,13 @@ spec: # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None - nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None - tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" + tolerations:$CONTROLLER_TOLERATIONS + node: envs: # Set to "true" to enable ISCSI CHAP Authentication @@ -132,6 +127,11 @@ spec: # Default value: false - name: X_CSI_HEALTH_MONITOR_ENABLED value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE: Defines the maximum PowerStore volumes that can be created per node + # Allowed values: Any value greater than or equal to 0 + # Default value: "0" + - name: X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE + value: "0" # nodeSelector: Define node selection constraints for node pods. # For the pod to be eligible to run on a node, the node must have each @@ -140,17 +140,11 @@ spec: # Allowed values: map of key-value pairs # Default value: None nodeSelector:$NODE_POD_NODE_SELECTOR - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None tolerations:$NODE_TOLERATIONS - # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint - # - key: "node-role.kubernetes.io/control-plane" - # operator: "Exists" - # effect: "NoSchedule" modules: - name: resiliency @@ -160,21 +154,26 @@ spec: # false: disable Resiliency feature(do not deploy podmon sidecar) # Default value: false enabled: $OPERATOR_RESILIENCY_ENABLED - configVersion: v1.6.0 + configVersion: v1.7.0 components: - name: podmon-controller + image: dellemc/podmon:v1.7.0 + imagePullPolicy: IfNotPresent args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/run/csi/csi.sock" - "--mode=controller" - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - "--driverPath=csi-powerstore.dellemc.com" - name: podmon-node + image: dellemc/podmon:v1.7.0 + imagePullPolicy: IfNotPresent envs: # podmonAPIPort: Defines the port to be used within the kubernetes cluster # Allowed values: Any valid and free port (string) @@ -184,9 +183,10 @@ spec: args: - "--labelvalue=$LABEL_VALUE" - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--leaderelection=$LEADER_ELECTION" - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" # Below 4 args should not be modified. - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - "--mode=node"