From 778148ba167e1ee0fe64440e3ca4e54e811c2ee4 Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Tue, 7 Jul 2020 01:20:15 +0530 Subject: [PATCH] Fix importstorage policies to update deleted policies on vcenter --- .../hypervisor/vmware/manager/VmwareManagerImpl.java | 8 ++++++-- .../cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java index abd5da22595..9ac0383bfe8 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java @@ -1444,10 +1444,14 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw List allStoragePolicies = vsphereStoragePolicyDao.listAll(); List finalStorageProfiles = storageProfiles; List needToMarkRemoved = allStoragePolicies.stream() - .filter(existingPolicy -> finalStorageProfiles.stream() - .anyMatch(storageProfile -> !storageProfile.getProfileId().equals(existingPolicy.getPolicyId()))) + .filter(existingPolicy -> !finalStorageProfiles.stream() + .anyMatch(storageProfile -> storageProfile.getProfileId().getUniqueId().equals(existingPolicy.getPolicyId()))) .collect(Collectors.toList()); + for (VsphereStoragePolicyVO storagePolicy : needToMarkRemoved) { + vsphereStoragePolicyDao.remove(storagePolicy.getId()); + } + List storagePolicies = vsphereStoragePolicyDao.listAll(); return storagePolicies; } diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java index fc2d7d131d6..6858c7b0ffa 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java @@ -62,7 +62,7 @@ public class PbmProfileManagerMO extends BaseMO { List profiles = _context.getPbmService().pbmRetrieveContent(_mor, profileIds); List requirementCategoryProfiles = profiles.stream() - .filter(x -> ((PbmCapabilityProfile)x).getProfileCategory().equals(PbmProfileCategoryEnum.REQUIREMENT)) + .filter(x -> ((PbmCapabilityProfile)x).getProfileCategory().equals(PbmProfileCategoryEnum.REQUIREMENT.toString())) .collect(Collectors.toList()); return requirementCategoryProfiles; }