Skip to content

Commit

Permalink
[release-v1.56] Fix Portworx CSI storage capabilities
Browse files Browse the repository at this point in the history
Manual backport of kubevirt#2789, plus minor alignments with main branch.

Signed-off-by: Arnon Gilboa <agilboa@redhat.com>
  • Loading branch information
arnongilboa committed Sep 14, 2023
1 parent fc82ac6 commit afafb09
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 17 deletions.
2 changes: 1 addition & 1 deletion pkg/controller/storageprofile-controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ func (r *StorageProfileReconciler) getStorageProfile(sc *storagev1.StorageClass)

func (r *StorageProfileReconciler) reconcilePropertySets(sc *storagev1.StorageClass) []cdiv1.ClaimPropertySet {
claimPropertySets := []cdiv1.ClaimPropertySet{}
capabilities, found := storagecapabilities.Get(r.client, sc)
capabilities, found := storagecapabilities.GetCapabilities(r.client, sc)
if found {
for i := range capabilities {
claimPropertySet := cdiv1.ClaimPropertySet{
Expand Down
23 changes: 7 additions & 16 deletions pkg/storagecapabilities/storagecapabilities.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ var CapabilitiesByProvisionerKey = map[string][]StorageCapabilities{
"kubernetes.io/portworx-volume": {{rwo, file}},
// Portworx CSI
"pxd.openstorage.org/shared": createOpenStorageSharedVolumeCapabilities(),
"pxd.openstorage.org": createOpenStorageVolumeCapabilities(),
"pxd.openstorage.org": createOpenStorageSharedVolumeCapabilities(),
"pxd.portworx.com/shared": createOpenStorageSharedVolumeCapabilities(),
"pxd.portworx.com": createOpenStorageVolumeCapabilities(),
"pxd.portworx.com": createOpenStorageSharedVolumeCapabilities(),
// Trident
"csi.trident.netapp.io/ontap-nas": {{rwx, file}},
"csi.trident.netapp.io/ontap-san": {{rwx, block}},
Expand All @@ -112,8 +112,8 @@ var UnsupportedProvisioners = map[string]struct{}{
ProvisionerNoobaa: {},
}

// Get finds and returns a predefined StorageCapabilities for a given StorageClass
func Get(cl client.Client, sc *storagev1.StorageClass) ([]StorageCapabilities, bool) {
// GetCapabilities finds and returns a predefined StorageCapabilities for a given StorageClass
func GetCapabilities(cl client.Client, sc *storagev1.StorageClass) ([]StorageCapabilities, bool) {
provisionerKey := storageProvisionerKey(sc)
if provisionerKey == "kubernetes.io/no-provisioner" {
return capabilitiesForNoProvisioner(cl, sc)
Expand All @@ -128,10 +128,7 @@ func isLocalStorageOperator(sc *storagev1.StorageClass) bool {
}

func knownNoProvisioner(sc *storagev1.StorageClass) bool {
if isLocalStorageOperator(sc) {
return true
}
return false
return isLocalStorageOperator(sc)
}

func capabilitiesForNoProvisioner(cl client.Client, sc *storagev1.StorageClass) ([]StorageCapabilities, bool) {
Expand Down Expand Up @@ -260,16 +257,10 @@ func createTopoLVMCapabilities() []StorageCapabilities {
}
}

func createOpenStorageVolumeCapabilities() []StorageCapabilities {
return []StorageCapabilities{
{AccessMode: v1.ReadWriteOnce, VolumeMode: v1.PersistentVolumeBlock},
{AccessMode: v1.ReadWriteOnce, VolumeMode: v1.PersistentVolumeFilesystem},
}
}

func createOpenStorageSharedVolumeCapabilities() []StorageCapabilities {
return []StorageCapabilities{
{rwx, block},
{rwx, file},
{rwo, block},
{rwo, file},
}
}
Expand Down

0 comments on commit afafb09

Please sign in to comment.