Skip to content

Commit c847d56

Browse files
authored
Consider volume handle prefix for file volumes during StoragePolicyUsage CR sync (#3457)
1 parent 27381f8 commit c847d56

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

pkg/syncer/metadatasyncer.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ const (
136136
VMServiceExtensionServiceName = "vmware-system-vmop-webhook-service"
137137
scParamStoragePolicyID = "storagePolicyID"
138138
StorageQuotaPeriodicSyncInstanceName = "storage-quota-periodic-sync"
139+
FileVolumePrefix = "file:"
139140
)
140141

141142
// newInformer returns uninitialized metadataSyncInformer.
@@ -3901,7 +3902,15 @@ func storagePolicyUsageCRSync(ctx context.Context, metadataSyncer *metadataSyncI
39013902
for _, pv := range volumes {
39023903
// Verify the StorageClass, StoragePolicyId match with the storagePolicyUsage spec
39033904
// using the cnsVolumeInfo CR for the volume
3904-
if cnsVolumeInfo, ok := cnsVolumeInfoMap[pv.Spec.CSI.VolumeHandle]; ok {
3905+
volumeHandle := pv.Spec.CSI.VolumeHandle
3906+
// For file volumes replace prefix "file:" with "file-", since CnsVolumeInfo CR
3907+
// is created as "file-<uuid>". For example, see below.
3908+
// cnsvolumeinfo name: file-e6a32a53-2783-42cd-a854-4df28582f04c
3909+
// pv.Spec.volumeHandle: file:e6a32a53-2783-42cd-a854-4df28582f04c
3910+
if strings.HasPrefix(pv.Spec.CSI.VolumeHandle, FileVolumePrefix) {
3911+
volumeHandle = strings.Replace(pv.Spec.CSI.VolumeHandle, ":", "-", 1)
3912+
}
3913+
if cnsVolumeInfo, ok := cnsVolumeInfoMap[volumeHandle]; ok {
39053914
if cnsVolumeInfo.Spec.StorageClassName == storagePolicyUsage.Spec.StorageClassName &&
39063915
cnsVolumeInfo.Spec.StoragePolicyID == storagePolicyUsage.Spec.StoragePolicyId &&
39073916
cnsVolumeInfo.Spec.Namespace == storagePolicyUsage.Namespace {

0 commit comments

Comments
 (0)