Fix importstorage policies to update deleted policies on vcenter

This commit is contained in:
Harikrishna Patnala 2020-07-07 01:20:15 +05:30
parent 18340e96b1
commit 778148ba16
2 changed files with 7 additions and 3 deletions

View File

@ -1444,10 +1444,14 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
List<VsphereStoragePolicyVO> allStoragePolicies = vsphereStoragePolicyDao.listAll(); List<VsphereStoragePolicyVO> allStoragePolicies = vsphereStoragePolicyDao.listAll();
List<PbmProfile> finalStorageProfiles = storageProfiles; List<PbmProfile> finalStorageProfiles = storageProfiles;
List<VsphereStoragePolicyVO> needToMarkRemoved = allStoragePolicies.stream() List<VsphereStoragePolicyVO> needToMarkRemoved = allStoragePolicies.stream()
.filter(existingPolicy -> finalStorageProfiles.stream() .filter(existingPolicy -> !finalStorageProfiles.stream()
.anyMatch(storageProfile -> !storageProfile.getProfileId().equals(existingPolicy.getPolicyId()))) .anyMatch(storageProfile -> storageProfile.getProfileId().getUniqueId().equals(existingPolicy.getPolicyId())))
.collect(Collectors.toList()); .collect(Collectors.toList());
for (VsphereStoragePolicyVO storagePolicy : needToMarkRemoved) {
vsphereStoragePolicyDao.remove(storagePolicy.getId());
}
List<VsphereStoragePolicyVO> storagePolicies = vsphereStoragePolicyDao.listAll(); List<VsphereStoragePolicyVO> storagePolicies = vsphereStoragePolicyDao.listAll();
return storagePolicies; return storagePolicies;
} }

View File

@ -62,7 +62,7 @@ public class PbmProfileManagerMO extends BaseMO {
List<PbmProfile> profiles = _context.getPbmService().pbmRetrieveContent(_mor, profileIds); List<PbmProfile> profiles = _context.getPbmService().pbmRetrieveContent(_mor, profileIds);
List<PbmProfile> requirementCategoryProfiles = profiles.stream() List<PbmProfile> requirementCategoryProfiles = profiles.stream()
.filter(x -> ((PbmCapabilityProfile)x).getProfileCategory().equals(PbmProfileCategoryEnum.REQUIREMENT)) .filter(x -> ((PbmCapabilityProfile)x).getProfileCategory().equals(PbmProfileCategoryEnum.REQUIREMENT.toString()))
.collect(Collectors.toList()); .collect(Collectors.toList());
return requirementCategoryProfiles; return requirementCategoryProfiles;
} }