From ad3e4e88c8bbfc86714b691ce5b018cccfadcfb3 Mon Sep 17 00:00:00 2001 From: Sidharth Sharma Date: Tue, 9 Sep 2025 07:44:23 +0000 Subject: [PATCH 1/3] Variable update --- .../templates/helm/csm-1.15.0-values.template | 845 +++++------------ .../operator/csm-powerstore-1.15.0.template | 847 +++++++++++++----- 2 files changed, 847 insertions(+), 845 deletions(-) diff --git a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template index 95c603393d..6a0bf84053 100644 --- a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template +++ b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template @@ -1,603 +1,256 @@ -## K8S/DRIVER ATTRIBUTES -########################################## -## K8S/CSI-PowerStore ATTRIBUTES -########################################## -csi-powerstore: - enabled: $POWERSTORE_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 +# +# +# Copyright © 2025 Dell Inc. or its subsidiaries. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +apiVersion: storage.dell.com/v1 +kind: ContainerStorageModule +metadata: + name: powerstore + namespace: $NAMESPACE +spec: + driver: + csiDriverType: "powerstore" + csiDriverSpec: + # in OCP <= 4.16 and K8s <= 1.29, fsGroupPolicy is an immutable field + # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. + # Allowed values: ReadWriteOnceWithFSType, File , None + # Default value: ReadWriteOnceWithFSType + fSGroupPolicy: "$FSGROUP_POLICY" + # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array + # Allowed values: + # true: enable storage capacity tracking + # false: disable storage capacity tracking + storageCapacity: $STORAGE_CAPACITY_ENABLED + configVersion: v2.15.0 + # authSecret: This is the secret used to validate the default PowerStore secret used for installation + # Allowed values: -config + # For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config + authSecret: powerstore-config + # Controller count + # Allowed values: n, where n > 0 + # Default value: 2 + replicas: $CONTROLLER_COUNT + dnsPolicy: ClusterFirstWithHostNet + forceRemoveDriver: true + common: + image: "quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0" + imagePullPolicy: IfNotPresent + envs: + - name: X_CSI_POWERSTORE_NODE_NAME_PREFIX + value: "csi-node" + - name: X_CSI_FC_PORTS_FILTER_FILE_PATH + value: "/etc/fc-ports-filter" + # Specify kubelet config dir path. + # Ensure that the config.yaml file is present at this path. + # Default value: /var/lib/kubelet + - name: KUBELET_CONFIG_DIR + value: /var/lib/kubelet + - name: CSI_LOG_LEVEL + value: info + # GOPOWERSTORE_DEBUG: Enable/disable debug logs from gopowerstore library. + # Default value: false + - name: "GOPOWERSTORE_DEBUG" + value: "false" + # CERT_SECRET_COUNT: Represents number of certificate secrets, which user is going to create for + # ssl authentication. (powerstore-cert-0..powerstore-cert-n) + # This field is only verified if X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION is set to false + # Allowed values: n, where n > 0 + # Default value: None + - name: CERT_SECRET_COUNT + value: "1" + # X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION: Specifies if the driver is going to validate certs. + # If it is set to false, then a secret powerstore-certs has to be created with an X.509 certificate of CA which signed the certificate. + # Allowed values: + # true: skip certificate verification + # false: verify certificates + # Default value: true + - name: X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION + value: "true" + sideCars: + - name: provisioner + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] + - name: attacher + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + - name: registrar + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + - name: resizer + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + - name: snapshotter + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + - name: csi-metadata-retriever + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + # health monitor is disabled by default, refer to driver documentation before enabling it + - name: external-health-monitor + enabled: $HEALTH_MONITOR_ENABLED + args: ["--monitor-interval=60s"] + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - metadataretriever: - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - ## Controller ATTRIBUTES - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - replication: - enabled: $REPLICATION_ENABLED - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - ## Node ATTRIBUTES - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.powerstore.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "powerstore.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-powerstore" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powerstore.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - - "--labelvalue=csi-powerstore" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powerstore.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - - maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmonAPIPort: 8083 - multiNas: - threshold: $MULTI_NAS_FAILURE_THRESHOLD - cooldownPeriod: $MULTI_NAS_COOLDOWN_PERIOD - -## K8S/CSI-PowerMax ATTRIBUTES -########################################## -csi-powermax: - enabled: $POWERMAX_ENABLED - global: - storageArrays: - - storageArrayId: "$POWERMAX_STORAGE_ARRAY_ID" - endpoint: $POWERMAX_STORAGE_ARRAY_ENDPOINT_URL - backupEndpoint: $POWERMAX_STORAGE_ARRAY_BACKUP_ENDPOINT_URL - - storageArrayId: "$TARGET_ARRAY_ID" - endpoint: $TARGET_UNISPHERE - managementServers: - - endpoint: $POWERMAX_MANAGEMENT_SERVERS_ENDPOINT_URL - - endpoint: $TARGET_UNISPHERE - - portGroups: "$POWERMAX_PORT_GROUPS" - transportProtocol: "$NODE_TRANSPORT_PROTOCOL" - useSecret: $REVPROXY_USE_SECRET - managedArrays: "$POWERMAX_STORAGE_ARRAY_ID" - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-powermax:v2.15.0 - csireverseproxy: - image: quay.io/dell/container-storage-modules/csipowermax-reverseproxy:v2.14.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - migration: - image: quay.io/dell/container-storage-modules/dell-csi-migrator:v1.9.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - # Node rescan sidecar does a rescan on nodes for identifying new paths - noderescan: - image: quay.io/dell/container-storage-modules/dell-csi-node-rescanner:v1.8.0 - clusterPrefix: $POWERMAX_CLUSTER_PREFIX - fsGroupPolicy: "$FSGROUP_POLICY" - maxPowerMaxVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmonAPIPort: 8083 - enableCHAP: $ISCSI_CHAP_ENABLED - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - topologyControl: - enabled: $TOPOLOGY_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - - key: "node.kubernetes.io/memory-pressure" - operator: "Exists" - effect: "NoExecute" - - key: "node.kubernetes.io/disk-pressure" - operator: "Exists" - effect: "NoExecute" - - key: "node.kubernetes.io/network-unavailable" - operator: "Exists" - effect: "NoExecute" - csireverseproxy: - deployAsSidecar: true - replication: - enabled: $REPLICATION_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-powermax" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powermax.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock" - - "--labelvalue=csi-powermax" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powermax.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - migration: - enabled: $MIGRATION_ENABLED - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - vSphere: - enabled: $VSPHERE_ENABLED - fcPortGroup: "$VSPHERE_FC_PORT_GROUP" - fcHostName: "$VSPHERE_FC_HOST_NAME" - vCenterHost: "$VSPHERE_VCENTER_HOST" - vCenterCredSecret: $VSPHERE_VCENTER_CRED_SECRET + # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity + # Configure only when the storageCapacity is set as "true" + # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m + #- name: provisioner + # args: ["--capacity-poll-interval=5m"] -## K8S/CSI-PowerFlex ATTRIBUTES -########################################## -csi-vxflexos: - enabled: $POWERFLEX_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-vxflexos:v2.15.0 - # "powerflexSdc" defines the SDC image for init container. - powerflexSdc: - image: dellemc/sdc:4.5.4 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - certSecretCount: $CERT_SECRET_COUNT - controller: - replication: - enabled: $REPLICATION_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - resizer: - enabled: $RESIZER_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - sdc: - enabled: $SDC_ENABLED - sdcSFTPRepo: - enabled: $SDC_SFTP_REPO_ENABLED - sdcSFTPRepoAddress: "$SDC_SFTP_REPO_ADDRESS" - sdcSFTPRepoUser: "$SDC_SFTP_REPO_USER" - sdcSFTPRepoPrivateSecret: "$SDC_SFTP_REPO_PRIVATE_SECRET" - sdcSFTPRepoPublicSecret: "$SDC_SFTP_REPO_PUBLIC_SECRET" - renameSDC: - enabled: $RENAME_SDC_ENABLED - sdcPrefix: $SDC_PREFIX - approveSDC: - enabled: $APPROVE_SDC_ENABLED - tolerations: $NODE_TOLERATIONS - # Uncomment if CSM for Resiliency and CSI Driver pods monitor is enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - enableQuota: $QUOTA_ENABLED - externalAccess: - monitor: - enabled: $MONITOR_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-vxflexos" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/vxflexos.emc.dell.com/csi_sock" - - "--labelvalue=csi-vxflexos" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - maxPowerflexVolumesPerNode: $MAX_VOLUMES_PER_NODE - -## K8S/CSI-PowerScale ATTRIBUTES -########################################## -csi-isilon: - enabled: $POWERSCALE_ENABLED - version: "v2.15.0" - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-isilon:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - metadataretriever: - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - certSecretCount: $CERT_SECRET_COUNT - allowedNetworks: [] - verbose: 1 - enableCustomTopology: false - fsGroupPolicy: $FSGROUP_POLICY - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - maxIsilonVolumesPerNode: $MAX_VOLUMES_PER_NODE - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - replication: - enabled: $REPLICATION_ENABLED - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # - key: "node.kubernetes.io/memory-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/disk-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/network-unavailable" - # operator: "Exists" - # effect: "NoExecute" - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - # Enable this feature only after contact support for additional information - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-isilon" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-isilon.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" + envs: + # X_CSI_MULTI_NAS_FAILURE_THRESHOLD: Number of consecutive FS creation failures after which a NAS is put into cooldown. + # If a NAS is in cooldown, it will not be considered for new FS creation attempts for cooldown period amount of time. + # Allowed values: n, where n >= 0 + # Default value: "5" + - name: X_CSI_MULTI_NAS_FAILURE_THRESHOLD + value: "$MULTI_NAS_FAILURE_THRESHOLD" + # X_CSI_MULTI_NAS_COOLDOWN_PERIOD: Duration for which a NAS remains in cooldown once the threshold is reached. + # During this period, the NAS will not be considered for new FS creation attempts. + # Allowed values: Number followed by unit (s,m,h) e.g. 60s,1m,2m,3m,...,1h etc + # Default value: "5m" + - name: X_CSI_MULTI_NAS_COOLDOWN_PERIOD + value: "$MULTI_NAS_COOLDOWN_PERIOD" + # X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory + # This value will be the default value if a storage class and array config in secret + # do not contain the NFS ACL (nfsAcls) parameter specified + # Permissions can be specified in two formats: + # 1) Unix mode (NFSv3) + # 2) NFSv4 ACLs (NFSv4) + # NFSv4 ACLs are supported on NFSv4 share only. + # Allowed values: + # 1) Unix mode: valid octal mode number + # Examples: "0777", "777", "0755" + # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma + # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" + # Optional: true + # Default value: "0777" + # nfsAcls: "0777" + - name: X_CSI_NFS_ACLS + value: "0777" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition. + # Install the 'external-health-monitor' sidecar accordingly. + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. + # Allowed Values: x.x.x.x/xx or x.x.x.x + # Default Value: + - name: X_CSI_POWERSTORE_EXTERNAL_ACCESS + value: + # nodeSelector: Define node selection constraints for controller pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" - - "--labelvalue=csi-isilon" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-isilon.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - podmonAPIPort: 8083 + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations: $CONTROLLER_TOLERATIONS -## K8S/CSI-Unity ATTRIBUTES -########################################## -csi-unity: - enabled: $UNITY_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-unity:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - certSecretCount: $CERT_SECRET_COUNT - allowedNetworks: - fsGroupPolicy: $FSGROUP_POLICY - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # - key: "node.kubernetes.io/memory-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/disk-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/network-unavailable" - # operator: "Exists" - # effect: "NoExecute" - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - maxUnityVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-unity" - - "--driverPath=csi-unity.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/unity-config/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/unity.emc.dell.com/csi_sock" - - "--labelvalue=csi-unity" - - "--driverPath=csi-unity.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/unity-config/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - -## K8S/Replication Module ATTRIBUTES -########################################## -csm-replication: - enabled: $REPLICATION_ENABLED - -## K8S/Observability Module ATTRIBUTES -########################################## -karavi-observability: - enabled: $OBSERVABILITY_ENABLED - karaviMetricsPowerstore: - enabled: $POWERSTORE_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowermax: - enabled: $POWERMAX_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowerflex: - enabled: $POWERFLEX_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowerscale: - enabled: $POWERSCALE_OBSERVABILITY_METRICS_ENABLED - cert-manager: - enabled: $OBSERVABILITY_CERT_MANAGER_ENABLED + envs: + # Set to "true" to enable ISCSI CHAP Authentication + # CHAP password will be autogenerated by driver + - name: "X_CSI_POWERSTORE_ENABLE_CHAP" + value: "false" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # 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: "$MAX_VOLUMES_PER_NODE" + # nodeSelector: Define node selection constraints for node pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $NODE_POD_NODE_SELECTOR -## K8S/Cert-manager ATTRIBUTES -########################################## -cert-manager: - enabled: $CERT_MANAGER_ENABLED + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations: $NODE_TOLERATIONS + + modules: + # Authorization: enable csm-authorization for RBAC + - name: authorization + # enabled: Enable/Disable csm-authorization + enabled: $AUTHORIZATION_ENABLED + configVersion: v2.3.0 + components: + - name: karavi-authorization-proxy + # Use image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 for Authorization v2.3.0 + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + envs: + # proxyHost: hostname of the csm-authorization server + # Default value: none + - name: "PROXY_HOST" + value: "$AUTHORIZATION_PROXY_HOST" + # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server + # Default value: "true" + - name: "SKIP_CERTIFICATE_VALIDATION" + value: "$AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION" + - name: resiliency + # enabled: Enable/Disable Resiliency feature + # Allowed values: + # true: enable Resiliency feature(deploy podmon sidecar) + # false: disable Resiliency feature(do not deploy podmon sidecar) + # Default value: false + enabled: $OPERATOR_RESILIENCY_ENABLED + configVersion: v1.14.0 + components: + - name: podmon-controller + image: quay.io/dell/container-storage-modules/podmon:v1.14.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: quay.io/dell/container-storage-modules/podmon:v1.14.0 + imagePullPolicy: IfNotPresent + envs: + # podmonAPIPort: Defines the port to be used within the kubernetes cluster + # Allowed values: Any valid and free port (string) + # Default value: 8083 + - name: "X_CSI_PODMON_API_PORT" + value: "8083" + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--leaderelection=$LEADER_ELECTION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + # Below 4 args should not be modified. + - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" + - "--mode=node" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPath=csi-powerstore.dellemc.com" diff --git a/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template b/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template index bf0107026c..b7c3282c4d 100644 --- a/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template +++ b/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template @@ -1,256 +1,605 @@ -# -# -# Copyright © 2025 Dell Inc. or its subsidiaries. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -apiVersion: storage.dell.com/v1 -kind: ContainerStorageModule -metadata: - name: powerstore - namespace: $NAMESPACE -spec: - driver: - csiDriverType: "powerstore" - csiDriverSpec: - # in OCP <= 4.16 and K8s <= 1.29, fsGroupPolicy is an immutable field - # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. - # Allowed values: ReadWriteOnceWithFSType, File , None - # Default value: ReadWriteOnceWithFSType - fSGroupPolicy: "$FSGROUP_POLICY" - # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array - # Allowed values: - # true: enable storage capacity tracking - # false: disable storage capacity tracking - storageCapacity: $STORAGE_CAPACITY_ENABLED - configVersion: v2.15.0 - # authSecret: This is the secret used to validate the default PowerStore secret used for installation - # Allowed values: -config - # For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config - authSecret: powerstore-config - # Controller count - # Allowed values: n, where n > 0 - # Default value: 2 - replicas: $CONTROLLER_COUNT - dnsPolicy: ClusterFirstWithHostNet - forceRemoveDriver: true - common: - image: "quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0" - imagePullPolicy: IfNotPresent - envs: - - name: X_CSI_POWERSTORE_NODE_NAME_PREFIX - value: "csi-node" - - name: X_CSI_FC_PORTS_FILTER_FILE_PATH - value: "/etc/fc-ports-filter" - # Specify kubelet config dir path. - # Ensure that the config.yaml file is present at this path. - # Default value: /var/lib/kubelet - - name: KUBELET_CONFIG_DIR - value: /var/lib/kubelet - - name: CSI_LOG_LEVEL - value: info - # GOPOWERSTORE_DEBUG: Enable/disable debug logs from gopowerstore library. - # Default value: false - - name: "GOPOWERSTORE_DEBUG" - value: "false" - # CERT_SECRET_COUNT: Represents number of certificate secrets, which user is going to create for - # ssl authentication. (powerstore-cert-0..powerstore-cert-n) - # This field is only verified if X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION is set to false - # Allowed values: n, where n > 0 - # Default value: None - - name: CERT_SECRET_COUNT - value: "1" - # X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION: Specifies if the driver is going to validate certs. - # If it is set to false, then a secret powerstore-certs has to be created with an X.509 certificate of CA which signed the certificate. - # Allowed values: - # true: skip certificate verification - # false: verify certificates - # Default value: true - - name: X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION - value: "true" - sideCars: - - name: provisioner - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] - - name: attacher - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - - name: registrar - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - - name: resizer - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - - name: snapshotter - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - - name: csi-metadata-retriever - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - # health monitor is disabled by default, refer to driver documentation before enabling it - - name: external-health-monitor - enabled: $HEALTH_MONITOR_ENABLED - args: ["--monitor-interval=60s"] - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 +## K8S/DRIVER ATTRIBUTES +########################################## +## K8S/CSI-PowerStore ATTRIBUTES +########################################## +csi-powerstore: + enabled: $POWERSTORE_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity - # Configure only when the storageCapacity is set as "true" - # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m - #- name: provisioner - # args: ["--capacity-poll-interval=5m"] + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + metadataretriever: + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + ## Controller ATTRIBUTES + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + replication: + enabled: $REPLICATION_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + ## Node ATTRIBUTES + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.powerstore.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "powerstore.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-powerstore" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powerstore.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" + - "--labelvalue=csi-powerstore" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powerstore.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmonAPIPort: 8083 + multiNas: + threshold: $MULTI_NAS_FAILURE_THRESHOLD + cooldownPeriod: $MULTI_NAS_COOLDOWN_PERIOD + +## K8S/CSI-PowerMax ATTRIBUTES +########################################## +csi-powermax: + enabled: $POWERMAX_ENABLED + global: + storageArrays: + - storageArrayId: "$POWERMAX_STORAGE_ARRAY_ID" + endpoint: $POWERMAX_STORAGE_ARRAY_ENDPOINT_URL + backupEndpoint: $POWERMAX_STORAGE_ARRAY_BACKUP_ENDPOINT_URL + - storageArrayId: "$TARGET_ARRAY_ID" + endpoint: $TARGET_UNISPHERE + managementServers: + - endpoint: $POWERMAX_MANAGEMENT_SERVERS_ENDPOINT_URL + - endpoint: $TARGET_UNISPHERE + portGroups: "$POWERMAX_PORT_GROUPS" + transportProtocol: "$NODE_TRANSPORT_PROTOCOL" + useSecret: $REVPROXY_USE_SECRET + managedArrays: "$POWERMAX_STORAGE_ARRAY_ID" + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-powermax:v2.15.0 + csireverseproxy: + image: quay.io/dell/container-storage-modules/csipowermax-reverseproxy:v2.14.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + migration: + image: quay.io/dell/container-storage-modules/dell-csi-migrator:v1.9.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + # Node rescan sidecar does a rescan on nodes for identifying new paths + noderescan: + image: quay.io/dell/container-storage-modules/dell-csi-node-rescanner:v1.8.0 + clusterPrefix: $POWERMAX_CLUSTER_PREFIX + fsGroupPolicy: "$FSGROUP_POLICY" + maxPowerMaxVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmonAPIPort: 8083 + enableCHAP: $ISCSI_CHAP_ENABLED + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + topologyControl: + enabled: $TOPOLOGY_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + - key: "node.kubernetes.io/memory-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/disk-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/network-unavailable" + operator: "Exists" + effect: "NoExecute" + csireverseproxy: + deployAsSidecar: true + replication: + enabled: $REPLICATION_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED controller: - envs: - # X_CSI_MULTI_NAS_FAILURE_THRESHOLD: Number of consecutive FS creation failures after which a NAS is put into cooldown. - # If a NAS is in cooldown, it will not be considered for new FS creation attempts for cooldown period amount of time. - # Allowed values: n, where n >= 0 - # Default value: "5" - - name: X_CSI_MULTI_NAS_FAILURE_THRESHOLD - value: "$MULTI_NAS_FAILURE_THRESHOLD" - # X_CSI_MULTI_NAS_COOLDOWN_PERIOD: Duration for which a NAS remains in cooldown once the threshold is reached. - # During this period, the NAS will not be considered for new FS creation attempts. - # Allowed values: Number followed by unit (s,m,h) e.g. 60s,1m,2m,3m,...,1h etc - # Default value: "5m" - - name: X_CSI_MULTI_NAS_COOLDOWN_PERIOD - value: "$MULTI_NAS_COOLDOWN_PERIOD" - # X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory - # This value will be the default value if a storage class and array config in secret - # do not contain the NFS ACL (nfsAcls) parameter specified - # Permissions can be specified in two formats: - # 1) Unix mode (NFSv3) - # 2) NFSv4 ACLs (NFSv4) - # NFSv4 ACLs are supported on NFSv4 share only. - # Allowed values: - # 1) Unix mode: valid octal mode number - # Examples: "0777", "777", "0755" - # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma - # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" - # Optional: true - # Default value: "0777" - # nfsAcls: "0777" - - name: X_CSI_NFS_ACLS - value: "0777" - # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition. - # Install the 'external-health-monitor' sidecar accordingly. - # Allowed values: - # true: enable checking of health condition of CSI volumes - # false: disable checking of health condition of CSI volumes - # Default value: false - - name: X_CSI_HEALTH_MONITOR_ENABLED - value: "$HEALTH_MONITOR_ENABLED" - # X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. - # Allowed Values: x.x.x.x/xx or x.x.x.x - # Default Value: - - name: X_CSI_POWERSTORE_EXTERNAL_ACCESS - value: - # nodeSelector: Define node selection constraints for controller pods. - # For the pod to be eligible to run on a node, the node must have each - # of the indicated key-value pairs as labels. - # Leave as blank to consider all nodes - # Allowed values: map of key-value pairs - # Default value: None - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-powermax" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powermax.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" - # tolerations: Define tolerations for the controllers, if required. - # Leave as blank to install controller on worker nodes - # Default value: None - tolerations: $CONTROLLER_TOLERATIONS + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock" + - "--labelvalue=csi-powermax" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powermax.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + migration: + enabled: $MIGRATION_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + vSphere: + enabled: $VSPHERE_ENABLED + fcPortGroup: "$VSPHERE_FC_PORT_GROUP" + fcHostName: "$VSPHERE_FC_HOST_NAME" + vCenterHost: "$VSPHERE_VCENTER_HOST" + vCenterCredSecret: $VSPHERE_VCENTER_CRED_SECRET +## K8S/CSI-PowerFlex ATTRIBUTES +########################################## +csi-vxflexos: + enabled: $POWERFLEX_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-vxflexos:v2.15.0 + # "powerflexSdc" defines the SDC image for init container. + powerflexSdc: + image: dellemc/sdc:4.5.4 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + certSecretCount: $CERT_SECRET_COUNT + controller: + replication: + enabled: $REPLICATION_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + sdc: + enabled: $SDC_ENABLED + sdcSFTPRepo: + enabled: $SDC_SFTP_REPO_ENABLED + sdcSFTPRepoAddress: "$SDC_SFTP_REPO_ADDRESS" + sdcSFTPRepoUser: "$SDC_SFTP_REPO_USER" + sdcSFTPRepoPrivateSecret: "$SDC_SFTP_REPO_PRIVATE_SECRET" + sdcSFTPRepoPublicSecret: "$SDC_SFTP_REPO_PUBLIC_SECRET" + renameSDC: + enabled: $RENAME_SDC_ENABLED + sdcPrefix: $SDC_PREFIX + approveSDC: + enabled: $APPROVE_SDC_ENABLED + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor is enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + enableQuota: $QUOTA_ENABLED + externalAccess: + monitor: + enabled: $MONITOR_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-vxflexos" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" node: - envs: - # Set to "true" to enable ISCSI CHAP Authentication - # CHAP password will be autogenerated by driver - - name: "X_CSI_POWERSTORE_ENABLE_CHAP" - value: "false" - # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage - # Allowed values: - # true: enable checking of health condition of CSI volumes - # false: disable checking of health condition of CSI volumes - # 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: "$MAX_VOLUMES_PER_NODE" - # nodeSelector: Define node selection constraints for node pods. - # For the pod to be eligible to run on a node, the node must have each - # of the indicated key-value pairs as labels. - # Leave as blank to consider all nodes - # Allowed values: map of key-value pairs - # Default value: None - nodeSelector: $NODE_POD_NODE_SELECTOR + args: + - "--csisock=unix:/var/lib/kubelet/plugins/vxflexos.emc.dell.com/csi_sock" + - "--labelvalue=csi-vxflexos" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + maxPowerflexVolumesPerNode: $MAX_VOLUMES_PER_NODE - # tolerations: Define tolerations for the controllers, if required. - # Leave as blank to install controller on worker nodes - # Default value: None - tolerations: $NODE_TOLERATIONS - - modules: - # Authorization: enable csm-authorization for RBAC - - name: authorization - # enabled: Enable/Disable csm-authorization - enabled: false - configVersion: v2.3.0 - components: - - name: karavi-authorization-proxy - # Use image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 for Authorization v2.3.0 - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - envs: - # proxyHost: hostname of the csm-authorization server - # Default value: none - - name: "PROXY_HOST" - value: "csm-authorization.com" - # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server - # Default value: "true" - - name: "SKIP_CERTIFICATE_VALIDATION" - value: "true" - - name: resiliency - # enabled: Enable/Disable Resiliency feature - # Allowed values: - # true: enable Resiliency feature(deploy podmon sidecar) - # false: disable Resiliency feature(do not deploy podmon sidecar) - # Default value: false - enabled: $OPERATOR_RESILIENCY_ENABLED - configVersion: v1.14.0 - components: - - name: podmon-controller - image: quay.io/dell/container-storage-modules/podmon:v1.14.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: quay.io/dell/container-storage-modules/podmon:v1.14.0 - imagePullPolicy: IfNotPresent - envs: - # podmonAPIPort: Defines the port to be used within the kubernetes cluster - # Allowed values: Any valid and free port (string) - # Default value: 8083 - - name: "X_CSI_PODMON_API_PORT" - value: "8083" - args: - - "--labelvalue=$LABEL_VALUE" - - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$LEADER_ELECTION" - - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - # Below 4 args should not be modified. - - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - - "--mode=node" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPath=csi-powerstore.dellemc.com" +## K8S/CSI-PowerScale ATTRIBUTES +########################################## +csi-isilon: + enabled: $POWERSCALE_ENABLED + version: "v2.15.0" + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-isilon:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + metadataretriever: + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + certSecretCount: $CERT_SECRET_COUNT + allowedNetworks: [] + verbose: 1 + enableCustomTopology: false + fsGroupPolicy: $FSGROUP_POLICY + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxIsilonVolumesPerNode: $MAX_VOLUMES_PER_NODE + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + replication: + enabled: $REPLICATION_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + # Enable this feature only after contact support for additional information + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-isilon" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-isilon.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" + - "--labelvalue=csi-isilon" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-isilon.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + podmonAPIPort: 8083 + +## K8S/CSI-Unity ATTRIBUTES +########################################## +csi-unity: + enabled: $UNITY_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-unity:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + certSecretCount: $CERT_SECRET_COUNT + allowedNetworks: + fsGroupPolicy: $FSGROUP_POLICY + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxUnityVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-unity" + - "--driverPath=csi-unity.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/unity-config/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/unity.emc.dell.com/csi_sock" + - "--labelvalue=csi-unity" + - "--driverPath=csi-unity.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/unity-config/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + +## K8S/Replication Module ATTRIBUTES +########################################## +csm-replication: + enabled: $REPLICATION_ENABLED + +## K8S/Observability Module ATTRIBUTES +########################################## +karavi-observability: + enabled: $OBSERVABILITY_ENABLED + karaviMetricsPowerstore: + enabled: $POWERSTORE_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowermax: + enabled: $POWERMAX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerflex: + enabled: $POWERFLEX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerscale: + enabled: $POWERSCALE_OBSERVABILITY_METRICS_ENABLED + cert-manager: + enabled: $OBSERVABILITY_CERT_MANAGER_ENABLED + +## K8S/Cert-manager ATTRIBUTES +########################################## +cert-manager: + enabled: $CERT_MANAGER_ENABLED From 4e94da49f58b8568fa5680815a3de06d17714ca2 Mon Sep 17 00:00:00 2001 From: Sidharth Sharma Date: Tue, 9 Sep 2025 07:51:29 +0000 Subject: [PATCH 2/3] Operator Fix --- .../templates/helm/csm-1.15.0-values.template | 847 +++++++++++++----- .../operator/csm-powerstore-1.15.0.template | 847 +++++------------- 2 files changed, 847 insertions(+), 847 deletions(-) diff --git a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template index 6a0bf84053..b7c3282c4d 100644 --- a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template +++ b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template @@ -1,256 +1,605 @@ -# -# -# Copyright © 2025 Dell Inc. or its subsidiaries. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -apiVersion: storage.dell.com/v1 -kind: ContainerStorageModule -metadata: - name: powerstore - namespace: $NAMESPACE -spec: - driver: - csiDriverType: "powerstore" - csiDriverSpec: - # in OCP <= 4.16 and K8s <= 1.29, fsGroupPolicy is an immutable field - # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. - # Allowed values: ReadWriteOnceWithFSType, File , None - # Default value: ReadWriteOnceWithFSType - fSGroupPolicy: "$FSGROUP_POLICY" - # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array - # Allowed values: - # true: enable storage capacity tracking - # false: disable storage capacity tracking - storageCapacity: $STORAGE_CAPACITY_ENABLED - configVersion: v2.15.0 - # authSecret: This is the secret used to validate the default PowerStore secret used for installation - # Allowed values: -config - # For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config - authSecret: powerstore-config - # Controller count - # Allowed values: n, where n > 0 - # Default value: 2 - replicas: $CONTROLLER_COUNT - dnsPolicy: ClusterFirstWithHostNet - forceRemoveDriver: true - common: - image: "quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0" - imagePullPolicy: IfNotPresent - envs: - - name: X_CSI_POWERSTORE_NODE_NAME_PREFIX - value: "csi-node" - - name: X_CSI_FC_PORTS_FILTER_FILE_PATH - value: "/etc/fc-ports-filter" - # Specify kubelet config dir path. - # Ensure that the config.yaml file is present at this path. - # Default value: /var/lib/kubelet - - name: KUBELET_CONFIG_DIR - value: /var/lib/kubelet - - name: CSI_LOG_LEVEL - value: info - # GOPOWERSTORE_DEBUG: Enable/disable debug logs from gopowerstore library. - # Default value: false - - name: "GOPOWERSTORE_DEBUG" - value: "false" - # CERT_SECRET_COUNT: Represents number of certificate secrets, which user is going to create for - # ssl authentication. (powerstore-cert-0..powerstore-cert-n) - # This field is only verified if X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION is set to false - # Allowed values: n, where n > 0 - # Default value: None - - name: CERT_SECRET_COUNT - value: "1" - # X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION: Specifies if the driver is going to validate certs. - # If it is set to false, then a secret powerstore-certs has to be created with an X.509 certificate of CA which signed the certificate. - # Allowed values: - # true: skip certificate verification - # false: verify certificates - # Default value: true - - name: X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION - value: "true" - sideCars: - - name: provisioner - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] - - name: attacher - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - - name: registrar - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - - name: resizer - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - - name: snapshotter - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - - name: csi-metadata-retriever - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - # health monitor is disabled by default, refer to driver documentation before enabling it - - name: external-health-monitor - enabled: $HEALTH_MONITOR_ENABLED - args: ["--monitor-interval=60s"] - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 +## K8S/DRIVER ATTRIBUTES +########################################## +## K8S/CSI-PowerStore ATTRIBUTES +########################################## +csi-powerstore: + enabled: $POWERSTORE_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity - # Configure only when the storageCapacity is set as "true" - # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m - #- name: provisioner - # args: ["--capacity-poll-interval=5m"] + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + metadataretriever: + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + ## Controller ATTRIBUTES + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + replication: + enabled: $REPLICATION_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + ## Node ATTRIBUTES + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.powerstore.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "powerstore.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-powerstore" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powerstore.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" + - "--labelvalue=csi-powerstore" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powerstore.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmonAPIPort: 8083 + multiNas: + threshold: $MULTI_NAS_FAILURE_THRESHOLD + cooldownPeriod: $MULTI_NAS_COOLDOWN_PERIOD + +## K8S/CSI-PowerMax ATTRIBUTES +########################################## +csi-powermax: + enabled: $POWERMAX_ENABLED + global: + storageArrays: + - storageArrayId: "$POWERMAX_STORAGE_ARRAY_ID" + endpoint: $POWERMAX_STORAGE_ARRAY_ENDPOINT_URL + backupEndpoint: $POWERMAX_STORAGE_ARRAY_BACKUP_ENDPOINT_URL + - storageArrayId: "$TARGET_ARRAY_ID" + endpoint: $TARGET_UNISPHERE + managementServers: + - endpoint: $POWERMAX_MANAGEMENT_SERVERS_ENDPOINT_URL + - endpoint: $TARGET_UNISPHERE + portGroups: "$POWERMAX_PORT_GROUPS" + transportProtocol: "$NODE_TRANSPORT_PROTOCOL" + useSecret: $REVPROXY_USE_SECRET + managedArrays: "$POWERMAX_STORAGE_ARRAY_ID" + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-powermax:v2.15.0 + csireverseproxy: + image: quay.io/dell/container-storage-modules/csipowermax-reverseproxy:v2.14.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + migration: + image: quay.io/dell/container-storage-modules/dell-csi-migrator:v1.9.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + # Node rescan sidecar does a rescan on nodes for identifying new paths + noderescan: + image: quay.io/dell/container-storage-modules/dell-csi-node-rescanner:v1.8.0 + clusterPrefix: $POWERMAX_CLUSTER_PREFIX + fsGroupPolicy: "$FSGROUP_POLICY" + maxPowerMaxVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmonAPIPort: 8083 + enableCHAP: $ISCSI_CHAP_ENABLED + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + topologyControl: + enabled: $TOPOLOGY_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + - key: "node.kubernetes.io/memory-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/disk-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/network-unavailable" + operator: "Exists" + effect: "NoExecute" + csireverseproxy: + deployAsSidecar: true + replication: + enabled: $REPLICATION_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED controller: - envs: - # X_CSI_MULTI_NAS_FAILURE_THRESHOLD: Number of consecutive FS creation failures after which a NAS is put into cooldown. - # If a NAS is in cooldown, it will not be considered for new FS creation attempts for cooldown period amount of time. - # Allowed values: n, where n >= 0 - # Default value: "5" - - name: X_CSI_MULTI_NAS_FAILURE_THRESHOLD - value: "$MULTI_NAS_FAILURE_THRESHOLD" - # X_CSI_MULTI_NAS_COOLDOWN_PERIOD: Duration for which a NAS remains in cooldown once the threshold is reached. - # During this period, the NAS will not be considered for new FS creation attempts. - # Allowed values: Number followed by unit (s,m,h) e.g. 60s,1m,2m,3m,...,1h etc - # Default value: "5m" - - name: X_CSI_MULTI_NAS_COOLDOWN_PERIOD - value: "$MULTI_NAS_COOLDOWN_PERIOD" - # X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory - # This value will be the default value if a storage class and array config in secret - # do not contain the NFS ACL (nfsAcls) parameter specified - # Permissions can be specified in two formats: - # 1) Unix mode (NFSv3) - # 2) NFSv4 ACLs (NFSv4) - # NFSv4 ACLs are supported on NFSv4 share only. - # Allowed values: - # 1) Unix mode: valid octal mode number - # Examples: "0777", "777", "0755" - # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma - # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" - # Optional: true - # Default value: "0777" - # nfsAcls: "0777" - - name: X_CSI_NFS_ACLS - value: "0777" - # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition. - # Install the 'external-health-monitor' sidecar accordingly. - # Allowed values: - # true: enable checking of health condition of CSI volumes - # false: disable checking of health condition of CSI volumes - # Default value: false - - name: X_CSI_HEALTH_MONITOR_ENABLED - value: "$HEALTH_MONITOR_ENABLED" - # X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. - # Allowed Values: x.x.x.x/xx or x.x.x.x - # Default Value: - - name: X_CSI_POWERSTORE_EXTERNAL_ACCESS - value: - # nodeSelector: Define node selection constraints for controller pods. - # For the pod to be eligible to run on a node, the node must have each - # of the indicated key-value pairs as labels. - # Leave as blank to consider all nodes - # Allowed values: map of key-value pairs - # Default value: None - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-powermax" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powermax.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" - # tolerations: Define tolerations for the controllers, if required. - # Leave as blank to install controller on worker nodes - # Default value: None - tolerations: $CONTROLLER_TOLERATIONS + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock" + - "--labelvalue=csi-powermax" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-powermax.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + migration: + enabled: $MIGRATION_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + vSphere: + enabled: $VSPHERE_ENABLED + fcPortGroup: "$VSPHERE_FC_PORT_GROUP" + fcHostName: "$VSPHERE_FC_HOST_NAME" + vCenterHost: "$VSPHERE_VCENTER_HOST" + vCenterCredSecret: $VSPHERE_VCENTER_CRED_SECRET +## K8S/CSI-PowerFlex ATTRIBUTES +########################################## +csi-vxflexos: + enabled: $POWERFLEX_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-vxflexos:v2.15.0 + # "powerflexSdc" defines the SDC image for init container. + powerflexSdc: + image: dellemc/sdc:4.5.4 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + certSecretCount: $CERT_SECRET_COUNT + controller: + replication: + enabled: $REPLICATION_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + sdc: + enabled: $SDC_ENABLED + sdcSFTPRepo: + enabled: $SDC_SFTP_REPO_ENABLED + sdcSFTPRepoAddress: "$SDC_SFTP_REPO_ADDRESS" + sdcSFTPRepoUser: "$SDC_SFTP_REPO_USER" + sdcSFTPRepoPrivateSecret: "$SDC_SFTP_REPO_PRIVATE_SECRET" + sdcSFTPRepoPublicSecret: "$SDC_SFTP_REPO_PUBLIC_SECRET" + renameSDC: + enabled: $RENAME_SDC_ENABLED + sdcPrefix: $SDC_PREFIX + approveSDC: + enabled: $APPROVE_SDC_ENABLED + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor is enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + enableQuota: $QUOTA_ENABLED + externalAccess: + monitor: + enabled: $MONITOR_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-vxflexos" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" node: - envs: - # Set to "true" to enable ISCSI CHAP Authentication - # CHAP password will be autogenerated by driver - - name: "X_CSI_POWERSTORE_ENABLE_CHAP" - value: "false" - # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage - # Allowed values: - # true: enable checking of health condition of CSI volumes - # false: disable checking of health condition of CSI volumes - # 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: "$MAX_VOLUMES_PER_NODE" - # nodeSelector: Define node selection constraints for node pods. - # For the pod to be eligible to run on a node, the node must have each - # of the indicated key-value pairs as labels. - # Leave as blank to consider all nodes - # Allowed values: map of key-value pairs - # Default value: None - nodeSelector: $NODE_POD_NODE_SELECTOR + args: + - "--csisock=unix:/var/lib/kubelet/plugins/vxflexos.emc.dell.com/csi_sock" + - "--labelvalue=csi-vxflexos" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + maxPowerflexVolumesPerNode: $MAX_VOLUMES_PER_NODE - # tolerations: Define tolerations for the controllers, if required. - # Leave as blank to install controller on worker nodes - # Default value: None - tolerations: $NODE_TOLERATIONS - - modules: - # Authorization: enable csm-authorization for RBAC - - name: authorization - # enabled: Enable/Disable csm-authorization - enabled: $AUTHORIZATION_ENABLED - configVersion: v2.3.0 - components: - - name: karavi-authorization-proxy - # Use image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 for Authorization v2.3.0 - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - envs: - # proxyHost: hostname of the csm-authorization server - # Default value: none - - name: "PROXY_HOST" - value: "$AUTHORIZATION_PROXY_HOST" - # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server - # Default value: "true" - - name: "SKIP_CERTIFICATE_VALIDATION" - value: "$AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION" - - name: resiliency - # enabled: Enable/Disable Resiliency feature - # Allowed values: - # true: enable Resiliency feature(deploy podmon sidecar) - # false: disable Resiliency feature(do not deploy podmon sidecar) - # Default value: false - enabled: $OPERATOR_RESILIENCY_ENABLED - configVersion: v1.14.0 - components: - - name: podmon-controller - image: quay.io/dell/container-storage-modules/podmon:v1.14.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: quay.io/dell/container-storage-modules/podmon:v1.14.0 - imagePullPolicy: IfNotPresent - envs: - # podmonAPIPort: Defines the port to be used within the kubernetes cluster - # Allowed values: Any valid and free port (string) - # Default value: 8083 - - name: "X_CSI_PODMON_API_PORT" - value: "8083" - args: - - "--labelvalue=$LABEL_VALUE" - - "--arrayConnectivityPollRate=$POLL_RATE" - - "--leaderelection=$LEADER_ELECTION" - - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" - - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" - # Below 4 args should not be modified. - - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - - "--mode=node" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPath=csi-powerstore.dellemc.com" +## K8S/CSI-PowerScale ATTRIBUTES +########################################## +csi-isilon: + enabled: $POWERSCALE_ENABLED + version: "v2.15.0" + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-isilon:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + replication: + image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + authorization: + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + metadataretriever: + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + certSecretCount: $CERT_SECRET_COUNT + allowedNetworks: [] + verbose: 1 + enableCustomTopology: false + fsGroupPolicy: $FSGROUP_POLICY + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxIsilonVolumesPerNode: $MAX_VOLUMES_PER_NODE + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + replication: + enabled: $REPLICATION_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + # Enable this feature only after contact support for additional information + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-isilon" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-isilon.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" + - "--labelvalue=csi-isilon" + - "--arrayConnectivityPollRate=60" + - "--driverPath=csi-isilon.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + podmonAPIPort: 8083 + +## K8S/CSI-Unity ATTRIBUTES +########################################## +csi-unity: + enabled: $UNITY_ENABLED + version: v2.15.0 + images: + # "driver" defines the container image, used for the driver container. + driver: + image: quay.io/dell/container-storage-modules/csi-unity:v2.15.0 + # CSI sidecars + attacher: + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + provisioner: + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + snapshotter: + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + resizer: + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + registrar: + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + healthmonitor: + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 + # CSM sidecars + podmon: + image: quay.io/dell/container-storage-modules/podmon:v1.14.0 + certSecretCount: $CERT_SECRET_COUNT + allowedNetworks: + fsGroupPolicy: $FSGROUP_POLICY + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxUnityVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmon: + enabled: $RESILIENCY_ENABLED + controller: + args: + - "--csisock=unix:/var/run/csi/csi.sock" + - "--labelvalue=csi-unity" + - "--driverPath=csi-unity.dellemc.com" + - "--mode=controller" + - "--skipArrayConnectionValidation=false" + - "--driver-config-params=/unity-config/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + node: + args: + - "--csisock=unix:/var/lib/kubelet/plugins/unity.emc.dell.com/csi_sock" + - "--labelvalue=csi-unity" + - "--driverPath=csi-unity.dellemc.com" + - "--mode=node" + - "--leaderelection=false" + - "--driver-config-params=/unity-config/driver-config-params.yaml" + - "--driverPodLabelValue=dell-storage" + - "--ignoreVolumelessPods=false" + +## K8S/Replication Module ATTRIBUTES +########################################## +csm-replication: + enabled: $REPLICATION_ENABLED + +## K8S/Observability Module ATTRIBUTES +########################################## +karavi-observability: + enabled: $OBSERVABILITY_ENABLED + karaviMetricsPowerstore: + enabled: $POWERSTORE_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowermax: + enabled: $POWERMAX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerflex: + enabled: $POWERFLEX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerscale: + enabled: $POWERSCALE_OBSERVABILITY_METRICS_ENABLED + cert-manager: + enabled: $OBSERVABILITY_CERT_MANAGER_ENABLED + +## K8S/Cert-manager ATTRIBUTES +########################################## +cert-manager: + enabled: $CERT_MANAGER_ENABLED diff --git a/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template b/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template index b7c3282c4d..6a0bf84053 100644 --- a/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template +++ b/content/docs/getting-started/installation/installationwizard/src/templates/operator/csm-powerstore-1.15.0.template @@ -1,605 +1,256 @@ -## K8S/DRIVER ATTRIBUTES -########################################## -## K8S/CSI-PowerStore ATTRIBUTES -########################################## -csi-powerstore: - enabled: $POWERSTORE_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 +# +# +# Copyright © 2025 Dell Inc. or its subsidiaries. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +apiVersion: storage.dell.com/v1 +kind: ContainerStorageModule +metadata: + name: powerstore + namespace: $NAMESPACE +spec: + driver: + csiDriverType: "powerstore" + csiDriverSpec: + # in OCP <= 4.16 and K8s <= 1.29, fsGroupPolicy is an immutable field + # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. + # Allowed values: ReadWriteOnceWithFSType, File , None + # Default value: ReadWriteOnceWithFSType + fSGroupPolicy: "$FSGROUP_POLICY" + # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array + # Allowed values: + # true: enable storage capacity tracking + # false: disable storage capacity tracking + storageCapacity: $STORAGE_CAPACITY_ENABLED + configVersion: v2.15.0 + # authSecret: This is the secret used to validate the default PowerStore secret used for installation + # Allowed values: -config + # For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config + authSecret: powerstore-config + # Controller count + # Allowed values: n, where n > 0 + # Default value: 2 + replicas: $CONTROLLER_COUNT + dnsPolicy: ClusterFirstWithHostNet + forceRemoveDriver: true + common: + image: "quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0" + imagePullPolicy: IfNotPresent + envs: + - name: X_CSI_POWERSTORE_NODE_NAME_PREFIX + value: "csi-node" + - name: X_CSI_FC_PORTS_FILTER_FILE_PATH + value: "/etc/fc-ports-filter" + # Specify kubelet config dir path. + # Ensure that the config.yaml file is present at this path. + # Default value: /var/lib/kubelet + - name: KUBELET_CONFIG_DIR + value: /var/lib/kubelet + - name: CSI_LOG_LEVEL + value: info + # GOPOWERSTORE_DEBUG: Enable/disable debug logs from gopowerstore library. + # Default value: false + - name: "GOPOWERSTORE_DEBUG" + value: "false" + # CERT_SECRET_COUNT: Represents number of certificate secrets, which user is going to create for + # ssl authentication. (powerstore-cert-0..powerstore-cert-n) + # This field is only verified if X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION is set to false + # Allowed values: n, where n > 0 + # Default value: None + - name: CERT_SECRET_COUNT + value: "1" + # X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION: Specifies if the driver is going to validate certs. + # If it is set to false, then a secret powerstore-certs has to be created with an X.509 certificate of CA which signed the certificate. + # Allowed values: + # true: skip certificate verification + # false: verify certificates + # Default value: true + - name: X_CSI_POWERSTORE_SKIP_CERTIFICATE_VALIDATION + value: "true" + sideCars: + - name: provisioner + image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 + args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] + - name: attacher + image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 + - name: registrar + image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 + - name: resizer + image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 + - name: snapshotter + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 + - name: csi-metadata-retriever + image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 + # health monitor is disabled by default, refer to driver documentation before enabling it + - name: external-health-monitor + enabled: $HEALTH_MONITOR_ENABLED + args: ["--monitor-interval=60s"] + image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - metadataretriever: - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - ## Controller ATTRIBUTES - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - replication: - enabled: $REPLICATION_ENABLED - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - ## Node ATTRIBUTES - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.powerstore.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "powerstore.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-powerstore" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powerstore.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" - - "--labelvalue=csi-powerstore" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powerstore.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - - maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmonAPIPort: 8083 - multiNas: - threshold: $MULTI_NAS_FAILURE_THRESHOLD - cooldownPeriod: $MULTI_NAS_COOLDOWN_PERIOD - -## K8S/CSI-PowerMax ATTRIBUTES -########################################## -csi-powermax: - enabled: $POWERMAX_ENABLED - global: - storageArrays: - - storageArrayId: "$POWERMAX_STORAGE_ARRAY_ID" - endpoint: $POWERMAX_STORAGE_ARRAY_ENDPOINT_URL - backupEndpoint: $POWERMAX_STORAGE_ARRAY_BACKUP_ENDPOINT_URL - - storageArrayId: "$TARGET_ARRAY_ID" - endpoint: $TARGET_UNISPHERE - managementServers: - - endpoint: $POWERMAX_MANAGEMENT_SERVERS_ENDPOINT_URL - - endpoint: $TARGET_UNISPHERE + # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity + # Configure only when the storageCapacity is set as "true" + # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m + #- name: provisioner + # args: ["--capacity-poll-interval=5m"] - portGroups: "$POWERMAX_PORT_GROUPS" - transportProtocol: "$NODE_TRANSPORT_PROTOCOL" - useSecret: $REVPROXY_USE_SECRET - managedArrays: "$POWERMAX_STORAGE_ARRAY_ID" - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-powermax:v2.15.0 - csireverseproxy: - image: quay.io/dell/container-storage-modules/csipowermax-reverseproxy:v2.14.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - migration: - image: quay.io/dell/container-storage-modules/dell-csi-migrator:v1.9.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - # Node rescan sidecar does a rescan on nodes for identifying new paths - noderescan: - image: quay.io/dell/container-storage-modules/dell-csi-node-rescanner:v1.8.0 - clusterPrefix: $POWERMAX_CLUSTER_PREFIX - fsGroupPolicy: "$FSGROUP_POLICY" - maxPowerMaxVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmonAPIPort: 8083 - enableCHAP: $ISCSI_CHAP_ENABLED - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - topologyControl: - enabled: $TOPOLOGY_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - - key: "node.kubernetes.io/memory-pressure" - operator: "Exists" - effect: "NoExecute" - - key: "node.kubernetes.io/disk-pressure" - operator: "Exists" - effect: "NoExecute" - - key: "node.kubernetes.io/network-unavailable" - operator: "Exists" - effect: "NoExecute" - csireverseproxy: - deployAsSidecar: true - replication: - enabled: $REPLICATION_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-powermax" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powermax.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" + envs: + # X_CSI_MULTI_NAS_FAILURE_THRESHOLD: Number of consecutive FS creation failures after which a NAS is put into cooldown. + # If a NAS is in cooldown, it will not be considered for new FS creation attempts for cooldown period amount of time. + # Allowed values: n, where n >= 0 + # Default value: "5" + - name: X_CSI_MULTI_NAS_FAILURE_THRESHOLD + value: "$MULTI_NAS_FAILURE_THRESHOLD" + # X_CSI_MULTI_NAS_COOLDOWN_PERIOD: Duration for which a NAS remains in cooldown once the threshold is reached. + # During this period, the NAS will not be considered for new FS creation attempts. + # Allowed values: Number followed by unit (s,m,h) e.g. 60s,1m,2m,3m,...,1h etc + # Default value: "5m" + - name: X_CSI_MULTI_NAS_COOLDOWN_PERIOD + value: "$MULTI_NAS_COOLDOWN_PERIOD" + # X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory + # This value will be the default value if a storage class and array config in secret + # do not contain the NFS ACL (nfsAcls) parameter specified + # Permissions can be specified in two formats: + # 1) Unix mode (NFSv3) + # 2) NFSv4 ACLs (NFSv4) + # NFSv4 ACLs are supported on NFSv4 share only. + # Allowed values: + # 1) Unix mode: valid octal mode number + # Examples: "0777", "777", "0755" + # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma + # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" + # Optional: true + # Default value: "0777" + # nfsAcls: "0777" + - name: X_CSI_NFS_ACLS + value: "0777" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition. + # Install the 'external-health-monitor' sidecar accordingly. + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. + # Allowed Values: x.x.x.x/xx or x.x.x.x + # Default Value: + - name: X_CSI_POWERSTORE_EXTERNAL_ACCESS + value: + # nodeSelector: Define node selection constraints for controller pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock" - - "--labelvalue=csi-powermax" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-powermax.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/powermax-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - migration: - enabled: $MIGRATION_ENABLED - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - vSphere: - enabled: $VSPHERE_ENABLED - fcPortGroup: "$VSPHERE_FC_PORT_GROUP" - fcHostName: "$VSPHERE_FC_HOST_NAME" - vCenterHost: "$VSPHERE_VCENTER_HOST" - vCenterCredSecret: $VSPHERE_VCENTER_CRED_SECRET + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations: $CONTROLLER_TOLERATIONS -## K8S/CSI-PowerFlex ATTRIBUTES -########################################## -csi-vxflexos: - enabled: $POWERFLEX_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-vxflexos:v2.15.0 - # "powerflexSdc" defines the SDC image for init container. - powerflexSdc: - image: dellemc/sdc:4.5.4 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - certSecretCount: $CERT_SECRET_COUNT - controller: - replication: - enabled: $REPLICATION_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - resizer: - enabled: $RESIZER_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - sdc: - enabled: $SDC_ENABLED - sdcSFTPRepo: - enabled: $SDC_SFTP_REPO_ENABLED - sdcSFTPRepoAddress: "$SDC_SFTP_REPO_ADDRESS" - sdcSFTPRepoUser: "$SDC_SFTP_REPO_USER" - sdcSFTPRepoPrivateSecret: "$SDC_SFTP_REPO_PRIVATE_SECRET" - sdcSFTPRepoPublicSecret: "$SDC_SFTP_REPO_PUBLIC_SECRET" - renameSDC: - enabled: $RENAME_SDC_ENABLED - sdcPrefix: $SDC_PREFIX - approveSDC: - enabled: $APPROVE_SDC_ENABLED - tolerations: $NODE_TOLERATIONS - # Uncomment if CSM for Resiliency and CSI Driver pods monitor is enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - enableQuota: $QUOTA_ENABLED - externalAccess: - monitor: - enabled: $MONITOR_ENABLED - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-vxflexos" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/vxflexos.emc.dell.com/csi_sock" - - "--labelvalue=csi-vxflexos" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - maxPowerflexVolumesPerNode: $MAX_VOLUMES_PER_NODE - -## K8S/CSI-PowerScale ATTRIBUTES -########################################## -csi-isilon: - enabled: $POWERSCALE_ENABLED - version: "v2.15.0" - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-isilon:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - replication: - image: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.13.0 - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - authorization: - image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 - metadataretriever: - image: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.12.0 - certSecretCount: $CERT_SECRET_COUNT - allowedNetworks: [] - verbose: 1 - enableCustomTopology: false - fsGroupPolicy: $FSGROUP_POLICY - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - maxIsilonVolumesPerNode: $MAX_VOLUMES_PER_NODE - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - replication: - enabled: $REPLICATION_ENABLED - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - node: - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # - key: "node.kubernetes.io/memory-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/disk-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/network-unavailable" - # operator: "Exists" - # effect: "NoExecute" - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - authorization: - enabled: $AUTHORIZATION_ENABLED - proxyHost: $AUTHORIZATION_PROXY_HOST - skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION - # Enable this feature only after contact support for additional information - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-isilon" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-isilon.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" + envs: + # Set to "true" to enable ISCSI CHAP Authentication + # CHAP password will be autogenerated by driver + - name: "X_CSI_POWERSTORE_ENABLE_CHAP" + value: "false" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # 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: "$MAX_VOLUMES_PER_NODE" + # nodeSelector: Define node selection constraints for node pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $NODE_POD_NODE_SELECTOR - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" - - "--labelvalue=csi-isilon" - - "--arrayConnectivityPollRate=60" - - "--driverPath=csi-isilon.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - podmonAPIPort: 8083 - -## K8S/CSI-Unity ATTRIBUTES -########################################## -csi-unity: - enabled: $UNITY_ENABLED - version: v2.15.0 - images: - # "driver" defines the container image, used for the driver container. - driver: - image: quay.io/dell/container-storage-modules/csi-unity:v2.15.0 - # CSI sidecars - attacher: - image: registry.k8s.io/sig-storage/csi-attacher:v4.9.0 - provisioner: - image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0 - snapshotter: - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.3.0 - resizer: - image: registry.k8s.io/sig-storage/csi-resizer:v1.14.0 - registrar: - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - healthmonitor: - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.15.0 - # CSM sidecars - podmon: - image: quay.io/dell/container-storage-modules/podmon:v1.14.0 - certSecretCount: $CERT_SECRET_COUNT - allowedNetworks: - fsGroupPolicy: $FSGROUP_POLICY - controller: - controllerCount: $CONTROLLER_COUNT - volumeNamePrefix: $VOLUME_NAME_PREFIX - snapshot: - enabled: $SNAPSHOT_ENABLED - snapNamePrefix: $SNAP_NAME_PREFIX - resizer: - enabled: $RESIZER_ENABLED - nodeSelector: $CONTROLLER_POD_NODE_SELECTOR - tolerations: $CONTROLLER_TOLERATIONS - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - node: - healthMonitor: - enabled: $HEALTH_MONITOR_ENABLED - nodeSelector: $NODE_POD_NODE_SELECTOR - tolerations: $NODE_TOLERATIONS - # - key: "node.kubernetes.io/memory-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/disk-pressure" - # operator: "Exists" - # effect: "NoExecute" - # - key: "node.kubernetes.io/network-unavailable" - # operator: "Exists" - # effect: "NoExecute" - # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled - # - key: "offline.vxflexos.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "vxflexos.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.unity.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "unity.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "offline.isilon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - # - key: "isilon.podmon.storage.dell.com" - # operator: "Exists" - # effect: "NoSchedule" - storageCapacity: - enabled: $STORAGE_CAPACITY_ENABLED - maxUnityVolumesPerNode: $MAX_VOLUMES_PER_NODE - podmon: - enabled: $RESILIENCY_ENABLED - controller: - args: - - "--csisock=unix:/var/run/csi/csi.sock" - - "--labelvalue=csi-unity" - - "--driverPath=csi-unity.dellemc.com" - - "--mode=controller" - - "--skipArrayConnectionValidation=false" - - "--driver-config-params=/unity-config/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - node: - args: - - "--csisock=unix:/var/lib/kubelet/plugins/unity.emc.dell.com/csi_sock" - - "--labelvalue=csi-unity" - - "--driverPath=csi-unity.dellemc.com" - - "--mode=node" - - "--leaderelection=false" - - "--driver-config-params=/unity-config/driver-config-params.yaml" - - "--driverPodLabelValue=dell-storage" - - "--ignoreVolumelessPods=false" - -## K8S/Replication Module ATTRIBUTES -########################################## -csm-replication: - enabled: $REPLICATION_ENABLED - -## K8S/Observability Module ATTRIBUTES -########################################## -karavi-observability: - enabled: $OBSERVABILITY_ENABLED - karaviMetricsPowerstore: - enabled: $POWERSTORE_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowermax: - enabled: $POWERMAX_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowerflex: - enabled: $POWERFLEX_OBSERVABILITY_METRICS_ENABLED - karaviMetricsPowerscale: - enabled: $POWERSCALE_OBSERVABILITY_METRICS_ENABLED - cert-manager: - enabled: $OBSERVABILITY_CERT_MANAGER_ENABLED - -## K8S/Cert-manager ATTRIBUTES -########################################## -cert-manager: - enabled: $CERT_MANAGER_ENABLED + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations: $NODE_TOLERATIONS + + modules: + # Authorization: enable csm-authorization for RBAC + - name: authorization + # enabled: Enable/Disable csm-authorization + enabled: $AUTHORIZATION_ENABLED + configVersion: v2.3.0 + components: + - name: karavi-authorization-proxy + # Use image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 for Authorization v2.3.0 + image: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.3.0 + envs: + # proxyHost: hostname of the csm-authorization server + # Default value: none + - name: "PROXY_HOST" + value: "$AUTHORIZATION_PROXY_HOST" + # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server + # Default value: "true" + - name: "SKIP_CERTIFICATE_VALIDATION" + value: "$AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION" + - name: resiliency + # enabled: Enable/Disable Resiliency feature + # Allowed values: + # true: enable Resiliency feature(deploy podmon sidecar) + # false: disable Resiliency feature(do not deploy podmon sidecar) + # Default value: false + enabled: $OPERATOR_RESILIENCY_ENABLED + configVersion: v1.14.0 + components: + - name: podmon-controller + image: quay.io/dell/container-storage-modules/podmon:v1.14.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: quay.io/dell/container-storage-modules/podmon:v1.14.0 + imagePullPolicy: IfNotPresent + envs: + # podmonAPIPort: Defines the port to be used within the kubernetes cluster + # Allowed values: Any valid and free port (string) + # Default value: 8083 + - name: "X_CSI_PODMON_API_PORT" + value: "8083" + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--leaderelection=$LEADER_ELECTION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + # Below 4 args should not be modified. + - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" + - "--mode=node" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPath=csi-powerstore.dellemc.com" From b0225b24482253f481fc548af9dc60c2e13548b9 Mon Sep 17 00:00:00 2001 From: Sidharth Sharma Date: Tue, 9 Sep 2025 07:52:35 +0000 Subject: [PATCH 3/3] Remove space --- .../src/templates/helm/csm-1.15.0-values.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template index b7c3282c4d..60ab49bef3 100644 --- a/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template +++ b/content/docs/getting-started/installation/installationwizard/src/templates/helm/csm-1.15.0-values.template @@ -109,7 +109,7 @@ csi-powerstore: - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" - "--driverPodLabelValue=dell-storage" - "--ignoreVolumelessPods=false" - + maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE podmonAPIPort: 8083 multiNas: