Skip to content

Commit ced8382

Browse files
add suport for px-csi storage class that use backend param (#3895)
Signed-off-by: dsanatar <[email protected]> Co-authored-by: dsanatar <[email protected]>
1 parent 72841f9 commit ced8382

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

pkg/storagecapabilities/storagecapabilities.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,10 @@ var CapabilitiesByProvisionerKey = map[string][]StorageCapabilities{
100100
"kubernetes.io/portworx-volume/nfs": {{rwx, file}, {rwo, file}},
101101
"kubernetes.io/portworx-volume": {{rwx, block}, {rwx, file}, {rwo, block}, {rwo, file}},
102102
// Portworx CSI
103-
"pxd.portworx.com/nfs": {{rwx, file}, {rwo, file}},
104-
"pxd.portworx.com": {{rwx, block}, {rwx, file}, {rwo, block}, {rwo, file}},
103+
"pxd.portworx.com/nfs": {{rwx, file}, {rwo, file}},
104+
"pxd.portworx.com": {{rwx, block}, {rwx, file}, {rwo, block}, {rwo, file}},
105+
"pxd.portworx.com/pure_block": {{rwx, block}, {rwo, block}, {rwo, file}},
106+
"pxd.portworx.com/pure_fa_file": {{rwx, file}, {rwo, file}},
105107
// Trident
106108
"csi.trident.netapp.io/ontap-nas": {{rwx, file}, {rwo, file}},
107109
"csi.trident.netapp.io/ontap-san": {{rwx, block}},
@@ -305,9 +307,17 @@ var storageClassToProvisionerKeyMapper = map[string]func(sc *storagev1.StorageCl
305307
},
306308
"pxd.portworx.com": func(sc *storagev1.StorageClass) string {
307309
// https://docs.portworx.com/portworx-enterprise/operations/operate-kubernetes/storage-operations/manage-kubevirt-vms.html#create-a-storageclass
308-
opts := strings.Split(sc.Parameters["sharedv4_mount_options"], ",")
309-
if slices.Contains(opts, "vers=3.0") && slices.Contains(opts, "nolock") {
310-
return "pxd.portworx.com/nfs"
310+
if val, exists := sc.Parameters["backend"]; exists {
311+
if val == "pure_block" {
312+
return "pxd.portworx.com/pure_block"
313+
} else if val == "pure_fa_file" {
314+
return "pxd.portworx.com/pure_fa_file"
315+
}
316+
} else {
317+
opts := strings.Split(sc.Parameters["sharedv4_mount_options"], ",")
318+
if slices.Contains(opts, "vers=3.0") && slices.Contains(opts, "nolock") {
319+
return "pxd.portworx.com/nfs"
320+
}
311321
}
312322
return "pxd.portworx.com"
313323
},

0 commit comments

Comments
 (0)