diff --git a/helm/csi-vxflexos/values.yaml b/helm/csi-vxflexos/values.yaml index 7ca1cab9..e004654c 100644 --- a/helm/csi-vxflexos/values.yaml +++ b/helm/csi-vxflexos/values.yaml @@ -38,6 +38,11 @@ kubeletConfigDir: /var/lib/kubelet # Default value: none defaultFsType: ext4 +# externalAccess: allows to specify additional entries for host to access 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: None +externalAccess: + # imagePullPolicy: Policy to determine if the image should be pulled prior to starting the container. # Allowed values: # Always: Always pull the image. @@ -46,6 +51,21 @@ defaultFsType: ext4 # Default value: None imagePullPolicy: IfNotPresent +# nfsAcls: enables setting permissions on NFS mount directory +# This value acts as default value for NFS ACL (nfsAcls), if not specified for an array config in secret +# 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" + # "enablesnapshotcgdelete"- a boolean that, when enabled, will delete all snapshots in a consistency group # everytime a snap in the group is deleted # Allowed values: true, false diff --git a/samples/config.yaml b/samples/config.yaml index d3e6e330..7c4f7875 100644 --- a/samples/config.yaml +++ b/samples/config.yaml @@ -24,6 +24,28 @@ # defines the MDM(s) that SDC should register with on start. # Allowed values: a list of IP addresses or hostnames separated by comma. # Default value: none + + # NFS is only supported on arrays >= 4.0 + # nasName: what NAS should be used for NFS volumes + # Allowed Values: string - (name of NAS server) + # Default Value: None + nasName: "nas-server" + + # nfsAcls: enables setting permissions on NFS mount directory + # This value will be used if a storage class does not have 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" + mdm: "10.0.0.1,10.0.0.2" - username: "admin" password: "Password123" diff --git a/samples/storageclass/storageclass-nfs.yaml b/samples/storageclass/storageclass-nfs.yaml new file mode 100644 index 00000000..eedbc7b5 --- /dev/null +++ b/samples/storageclass/storageclass-nfs.yaml @@ -0,0 +1,97 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: vxflexos-nfs +provisioner: csi-vxflexos.dellemc.com +# reclaimPolicy: PVs that are dynamically created by a StorageClass will have the reclaim policy specified here +# Allowed values: +# Reclaim: retain the PV after PVC deletion +# Delete: delete the PV after PVC deletion +# Optional: true +# Default value: Delete +reclaimPolicy: Delete +# allowVolumeExpansion: allows the users to resize the volume by editing the corresponding PVC object +# Allowed values: +# true: allow users to resize the PVC +# false: does not allow users to resize the PVC +# Optional: true +# Default value: false +allowVolumeExpansion: true +parameters: + # Storage pool to use on system + # Optional: false + storagepool: # Insert Storage pool + # Protection domain that storage pool above belongs to + # Needed if array has two storagepools that share the same name, but belong to different protection domains + # Optional: true + # Uncomment the line below if you want to use protectiondomain + # protectiondomain: # Insert Protection domain name + # System you would like this storage class to use + # Allowed values: one string for system ID + # Optional: false + systemID: # Insert System ID + # format options to pass to mkfs + # Allowed values: A string dictating the fs options you want passed + # Optional: true + # Uncomment the line below if you want to use mkfsFormatOption + # mkfsFormatOption: "" # Insert file system format option + # Filesytem type for volumes created by storageclass + # Default value: None if defaultFsType is not mentioned in values.yaml + # Else defaultFsType value mentioned in values.yaml + # will be used as default value + csi.storage.k8s.io/fstype: nfs + # Limit the volume network bandwidth + # Value is a positive number in granularity of 1024 Kbps; 0 = unlimited + # Allowed values: one string for bandwidth limit in Kbps + # Optional: false + # Uncomment the line below if you want to use bandwidthLimitInKbps + # bandwidthLimitInKbps: # Insert bandwidth limit in Kbps + # Limit the volume IOPS + # The number of IOPS must be greater than 10; 0 = unlimited + # Allowed values: one string for iops limit + # Optional: false + # Uncomment the line below if you want to use iopsLimit + # iopsLimit: # Insert iops limit + + # nasName: NAS server's name. If not specified, value from secret.yaml will be used + # Allowed values: string + # Optional: true + # Default value: None + nasName: "nas-server" + + # allowRoot: enables or disables root squashing (valid only for NFS) + # Allowed values: + # true: will allow root users to use their privileges + # false: will prevent root users on NFS clients from exercising root privileges on the NFS server + # Optional: true + # Default value: false + allowRoot: "false" + + # nfsAcls: enables setting permissions on NFS mount directory + # This value overrides the NFS ACL (nfsAcls) attribute of corresponding array config in secret, if present + # 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" + +# volumeBindingMode determines how volume binding and dynamic provisioning should occur +# Allowed values: +# Immediate: volume binding and dynamic provisioning occurs once PVC is created +# WaitForFirstConsumer: delay the binding and provisioning of PV until a pod using the PVC is created. +# Optional: false +# Default value: WaitForFirstConsumer (required for topology section below) +volumeBindingMode: WaitForFirstConsumer +# allowedTopologies helps scheduling pods on worker nodes which match all of below expressions. +allowedTopologies: +- matchLabelExpressions: + - key: csi-vxflexos.dellemc.com/ # Insert System ID + values: + - csi-vxflexos.dellemc.com