Skip to content

Commit

Permalink
powerflex: support added for NFS (#318)
Browse files Browse the repository at this point in the history
  • Loading branch information
khareRajshree authored Aug 10, 2023
1 parent 820ac88 commit f28e7df
Show file tree
Hide file tree
Showing 11 changed files with 84 additions and 0 deletions.
6 changes: 6 additions & 0 deletions config/samples/storage_v1_csm_powerflex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"

sideCars:
# sdc-monitor is disabled by default, due to high CPU usage
Expand Down
6 changes: 6 additions & 0 deletions operatorconfig/driverconfig/powerflex/v2.8.0/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,12 @@ spec:
value: /certs
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: false
- name: X_CSI_NFS_ACLS
value: <X_CSI_NFS_ACLS>
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: <X_CSI_POWERFLEX_EXTERNAL_ACCESS>
- name: X_CSI_QUOTA_ENABLED
value: <X_CSI_QUOTA_ENABLED>
volumeMounts:
- name: socket-dir
mountPath: /var/run/csi
Expand Down
24 changes: 24 additions & 0 deletions pkg/drivers/powerflex.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@ const (

// CsiVxflexosMaxVolumesPerNode - Max volumes that the controller could schedule on a node
CsiVxflexosMaxVolumesPerNode = "<X_CSI_MAX_VOLUMES_PER_NODE>"

// CsiVxflexosNfsAcls - Enables setting permissions on NFS mount directory
CsiVxflexosNfsAcls = "<X_CSI_NFS_ACLS>"

// CsiVxflexosExternaAccess - Specify additional entries for host to access NFS volumes
CsiVxflexosExternaAccess = "<X_CSI_POWERFLEX_EXTERNAL_ACCESS>"

// CsiVxflexosQuotaEnabled - Flag to enable/disable setting of quota for NFS volumes
CsiVxflexosQuotaEnabled = "<X_CSI_QUOTA_ENABLED>"
)

// PrecheckPowerFlex do input validation
Expand Down Expand Up @@ -223,6 +232,9 @@ func ModifyPowerflexCR(yamlString string, cr csmv1.ContainerStorageModule, fileT
renameSdcEnabled := ""
renameSdcPrefix := ""
maxVolumesPerNode := ""
nfsAcls := ""
externalAscess := ""
enableQuota := ""

switch fileType {
case "Node":
Expand All @@ -239,11 +251,23 @@ func ModifyPowerflexCR(yamlString string, cr csmv1.ContainerStorageModule, fileT
if env.Name == "X_CSI_MAX_VOLUMES_PER_NODE" {
maxVolumesPerNode = env.Value
}
if env.Name == "X_CSI_NFS_ACLS" {
nfsAcls = env.Value
}
if env.Name == "X_CSI_POWERFLEX_EXTERNAL_ACCESS" {
externalAscess = env.Value
}
if env.Name == "X_CSI_QUOTA_ENABLED" {
enableQuota = env.Value
}
}
yamlString = strings.ReplaceAll(yamlString, CsiApproveSdcEnabled, approveSdcEnabled)
yamlString = strings.ReplaceAll(yamlString, CsiRenameSdcEnabled, renameSdcEnabled)
yamlString = strings.ReplaceAll(yamlString, CsiPrefixRenameSdc, renameSdcPrefix)
yamlString = strings.ReplaceAll(yamlString, CsiVxflexosMaxVolumesPerNode, maxVolumesPerNode)
yamlString = strings.ReplaceAll(yamlString, CsiVxflexosNfsAcls, nfsAcls)
yamlString = strings.ReplaceAll(yamlString, CsiVxflexosExternaAccess, externalAscess)
yamlString = strings.ReplaceAll(yamlString, CsiVxflexosQuotaEnabled, enableQuota)

}
return yamlString
Expand Down
6 changes: 6 additions & 0 deletions samples/storage_csm_powerflex_v280.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"

sideCars:
# sdc-monitor is disabled by default, due to high CPU usage
Expand Down
6 changes: 6 additions & 0 deletions tests/config/driverconfig/powerflex/v2.8.0/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,12 @@ spec:
value: /certs
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: false
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: false
volumeMounts:
- name: socket-dir
mountPath: /var/run/csi
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex_alt_vals_1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "1"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex_alt_vals_2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex_alt_vals_3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex_alt_vals_4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down
6 changes: 6 additions & 0 deletions tests/e2e/testfiles/storage_csm_powerflex_alt_vals_5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ spec:
value: "/var/lib/kubelet"
- name: "CERT_SECRET_COUNT"
value: "0"
- name: X_CSI_NFS_ACLS
value: "0777"
- name: X_CSI_POWERFLEX_EXTERNAL_ACCESS
value: ""
- name: X_CSI_QUOTA_ENABLED
value: "false"


sideCars:
Expand Down

0 comments on commit f28e7df

Please sign in to comment.