Maor Lipchuk has uploaded a new change for review. Change subject: core: make clear use of filterImageDisks. ......................................................................
core: make clear use of filterImageDisks. Adding constant names for the filtering parameters, do it will be more clear what is being filter when the method is being used. Signed-off-by: Maor Lipchuk <mlipc...@redhat.com> Change-Id: I54a22319d7005449ec4c3ecd285d81870b1c307e --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java 25 files changed, 136 insertions(+), 48 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/25349/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java index f40f7dc..a81a3de 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java @@ -223,9 +223,9 @@ if (diskImagesFromConfiguration == null) { diskImagesFromConfiguration = ImagesHandler.filterImageDisks(vmFromConfiguration.getDiskMap().values(), - false, - true, - true); + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } return diskImagesFromConfiguration; } @@ -325,7 +325,10 @@ } List<DiskImage> disksToCheck = - ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getSourceVmFromDb().getId()), true, false, true); + ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getSourceVmFromDb().getId()), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(disksToCheck); if (!validate(diskImagesValidator.diskImagesNotLocked())) { return false; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index 8b89197..20f5caa 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -390,7 +390,10 @@ return false; } - List<DiskImage> diskImagesToCheck = ImagesHandler.filterImageDisks(mImages, true, false, true); + List<DiskImage> diskImagesToCheck = ImagesHandler.filterImageDisks(mImages, + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(diskImagesToCheck); if (!validate(diskImagesValidator.diskImagesNotIllegal()) || !validate(diskImagesValidator.diskImagesNotLocked())) { @@ -436,7 +439,10 @@ Map<StorageDomain, Integer> domainMap = StorageDomainValidator.getSpaceRequirementsForStorageDomains( - ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, false, true), + ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS), storageDomains, diskInfoDestinationMap); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java index 6c88253..4d96d13 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java @@ -91,7 +91,10 @@ private List<DiskImage> getDiskImagesForVm() { - return ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()), true, true, true); + return ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } /** @@ -364,7 +367,10 @@ private SnapshotVDSCommandParameters buildLiveSnapshotParameters(Snapshot snapshot) { List<Disk> pluggedDisksForVm = getDiskDao().getAllForVm(getVm().getId(), true); - List<DiskImage> filteredPluggedDisksForVm = ImagesHandler.filterImageDisks(pluggedDisksForVm, false, true, true); + List<DiskImage> filteredPluggedDisksForVm = ImagesHandler.filterImageDisks(pluggedDisksForVm, + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); // 'filteredPluggedDisks' should contain only disks from 'getDisksList()' that are plugged to the VM. List<DiskImage> filteredPluggedDisks = ImagesHandler.imagesIntersection(filteredPluggedDisksForVm, getDisksList()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java index 18ddb2c..430be1f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java @@ -299,7 +299,10 @@ private List<DiskImage> getDisksBasedOnImage() { if (disksImages == null) { - disksImages = ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, false, true); + disksImages = ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } return disksImages; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java index 5cdaab2..1ac33f8 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java @@ -56,6 +56,9 @@ public static final String DISK = "_Disk"; public static final String DefaultDriveName = "1"; private static final Log log = LogFactory.getLog(ImagesHandler.class); + public static final boolean FILTER_OUT_SHAREABLE_DISKS = true; + public static final boolean FILTER_OUT_NOT_SNAPABLE_DISKS = true; + public static final boolean FILTER_OUT_NOT_ACTIVE_DISKS = true; /** * The following method will find all images and storages where they located for provide template and will fill an @@ -476,7 +479,10 @@ } public static List<DiskImage> getPluggedActiveImagesForVm(Guid vmId) { - return filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(vmId, true), true, false, true); + return filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(vmId, true), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } /** diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java index 5540e81..cb48fec 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java @@ -691,7 +691,10 @@ @Override protected void moveOrCopyAllImageGroups() { moveOrCopyAllImageGroups(getVm().getId(), - ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), false, false, true)); + ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS)); copyAllMemoryImages(getVm().getId()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java index dfd95430..44928a8 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java @@ -75,8 +75,14 @@ // not checking storage domain, there is a check in // checkTemplateInStorageDomain later VmHandler.updateDisksFromDb(getVm()); - List<DiskImage> diskImages = ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), false, false, true); - List<DiskImage> diskImagesToValidate = ImagesHandler.filterImageDisks(diskImages, true, false, true); + List<DiskImage> diskImages = ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); + List<DiskImage> diskImagesToValidate = ImagesHandler.filterImageDisks(diskImages, + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(diskImagesToValidate); retValue = retValue && validate(new StoragePoolValidator(getStoragePool()).isUp()) && @@ -120,9 +126,12 @@ && checkIfDisksExist(diskImages); if (retValue && !VmTemplateHandler.BLANK_VM_TEMPLATE_ID.equals(getVm().getVmtGuid())) { List<DiskImage> imageList = - ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVm().getVmtGuid()), - false, - false, true); + ImagesHandler.filterImageDisks(DbFacade.getInstance() + .getDiskDao() + .getAllForVm(getVm().getVmtGuid()), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); Map<Guid, DiskImage> templateImagesMap = new HashMap<Guid, DiskImage>(); for (DiskImage image : imageList) { templateImagesMap.put(image.getImageId(), image); @@ -178,7 +187,10 @@ @Override protected void moveOrCopyAllImageGroups() { - moveOrCopyAllImageGroups(getVmId(), ImagesHandler.filterImageDisks(getVm().getDiskList(), false, false, true)); + moveOrCopyAllImageGroups(getVmId(), ImagesHandler.filterImageDisks(getVm().getDiskList(), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS)); } @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java index f4b71be..9eccbb3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java @@ -326,7 +326,10 @@ */ protected void buildMetadataDictionaryForVm(VM vm, Map<Guid, KeyValuePairCompat<String, List<Guid>>> metaDictionary) { ArrayList<DiskImage> AllVmImages = new ArrayList<DiskImage>(); - List<DiskImage> filteredDisks = ImagesHandler.filterImageDisks(vm.getDiskList(), false, true, true); + List<DiskImage> filteredDisks = ImagesHandler.filterImageDisks(vm.getDiskList(), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); for (DiskImage diskImage : filteredDisks) { AllVmImages.addAll(getAllImageSnapshots(diskImage)); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java index 0e96c62..566c729 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java @@ -78,7 +78,10 @@ */ private String buildMetadataDictionaryForVm(VM vm) { ArrayList<DiskImage> AllVmImages = new ArrayList<DiskImage>(); - List<DiskImage> filteredDisks = ImagesHandler.filterImageDisks(vm.getDiskList(), false, true, true); + List<DiskImage> filteredDisks = ImagesHandler.filterImageDisks(vm.getDiskList(), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); for (DiskImage diskImage : filteredDisks) { List<DiskImage> images = ImagesHandler.getAllImageSnapshots(diskImage.getImageId(), diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java index 49e2497..e1a9cd9 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java @@ -40,10 +40,10 @@ if (images == null) { images = ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()), - true, - false, - true); - } + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); + } for (DiskImage image : images) { if (Boolean.TRUE.equals(image.getActive())) { mImagesToBeRemoved.add(image.getImageId()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java index 83eb33c..6d9497a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java @@ -31,8 +31,12 @@ @SuppressWarnings("unchecked") @Override protected void executeCommand() { - List<DiskImage> imageTemplates = ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm( - getVmTemplateId()), false, false, true); + List<DiskImage> imageTemplates = + ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm( + getVmTemplateId()), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); boolean noImagesRemovedYet = true; for (DiskImage template : imageTemplates) { // get disk diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java index 6106e1b..50b04a4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java @@ -223,7 +223,11 @@ return false; } - List<DiskImage> diskList = ImagesHandler.filterImageDisks(Arrays.asList(getDisk()), true, false, true); + List<DiskImage> diskList = + ImagesHandler.filterImageDisks(Arrays.asList(getDisk()), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(diskList); if (!validate(diskImagesValidator.diskImagesNotLocked())) { return false; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java index da927b9..f21f9d9 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java @@ -312,7 +312,10 @@ protected boolean validateImages() { List<DiskImage> imagesToValidate = - ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), true, false, true); + ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(imagesToValidate); return validate(diskImagesValidator.diskImagesNotLocked()) && diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java index 962f456..748dc5e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java @@ -81,10 +81,9 @@ private boolean removeVm() { final List<DiskImage> diskImages = ImagesHandler.filterImageDisks(getVm().getDiskList(), - true, - false, - true); - + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); for (VmNic nic : getInterfaces()) { new ExternalNetworkManager(nic).deallocateIfExternal(); } @@ -210,7 +209,10 @@ } Collection<Disk> vmDisks = getVm().getDiskMap().values(); - List<DiskImage> vmImages = ImagesHandler.filterImageDisks(vmDisks, true, false, true); + List<DiskImage> vmImages = ImagesHandler.filterImageDisks(vmDisks, + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); if (!vmImages.isEmpty()) { Set<Guid> storageIds = ImagesHandler.getAllStorageIdsForImageIds(vmImages); MultipleStorageDomainsValidator storageValidator = new MultipleStorageDomainsValidator(getVm().getStoragePoolId(), storageIds); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java index a7ae501..8557919 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java @@ -104,7 +104,10 @@ private void removeDiskImages() { List<DiskImage> images = - ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, false, true); + ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); for (DiskImage image : images) { image.setStorageIds(new ArrayList<Guid>(Arrays.asList(getParameters().getStorageDomainId()))); image.setStoragePoolId(getParameters().getStoragePoolId()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java index 30eb11d..7a7aaf0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java @@ -135,9 +135,9 @@ } else { List<DiskImage> vmDIsks = ImagesHandler.filterImageDisks(getDbFacade().getDiskDao().getAllForVm(vm.getId()), - false, - false, - true); + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); Set<Guid> domainsIds = getStorageDomainsByDisks(vmDIsks, false); for (Guid domainId : domainsIds) { if (!getParameters().getStorageDomainsList().contains(domainId)) { @@ -174,9 +174,9 @@ if (imageTemplates == null) { imageTemplates = ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmTemplateId()), - false, - false, - true); + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java index 7a7341b..8031eb3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java @@ -434,7 +434,10 @@ protected boolean performImagesChecks() { List<DiskImage> diskImagesToCheck = - ImagesHandler.filterImageDisks(getImagesList(), true, false, true); + ImagesHandler.filterImageDisks(getImagesList(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(diskImagesToCheck); return validate(diskImagesValidator.diskImagesNotLocked()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java index c60e28f..92204a5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java @@ -259,7 +259,10 @@ updateVmDisksFromDb(); List<DiskImage> diskImages = - ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, true, true); + ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); if (!diskImages.isEmpty()) { if (!validate(new StoragePoolValidator(getStoragePool()).isUp())) { return false; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java index a584305..fb99598 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java @@ -150,7 +150,10 @@ } List<Disk> disks = DbFacade.getInstance().getDiskDao().getAllForVm(vmId); - List<DiskImage> vmImages = ImagesHandler.filterImageDisks(disks, true, true, false); + List<DiskImage> vmImages = ImagesHandler.filterImageDisks(disks, + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); VM vm = DbFacade.getInstance().getVmDao().get(vmId); StoragePool sp = DbFacade.getInstance().getStoragePoolDao().get(vm.getStoragePoolId()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java index 12fcc43..990f88c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java @@ -75,7 +75,10 @@ vmtImages = ImagesHandler.filterImageDisks(DbFacade.getInstance() .getDiskDao() - .getAllForVm(vmTemplate.getId()), false, false, true); + .getAllForVm(vmTemplate.getId()), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } if (vmtImages.size() > 0 && !ImagesHandler.isImagesExists(vmtImages, vmtImages.get(0).getStoragePoolId())) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java index e002625..386edec 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java @@ -317,7 +317,10 @@ } protected boolean checkImagesStatus() { - List<DiskImage> disksToCheck = ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), true, false, true); + List<DiskImage> disksToCheck = ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); DiskImagesValidator diskImagesValidator = new DiskImagesValidator(disksToCheck); return validate(diskImagesValidator.diskImagesNotLocked()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java index a775086..e2dffb4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java @@ -347,7 +347,10 @@ VmDeviceUtils.setVmDevices(vm.getStaticData()); if (disks == null) { - disks = ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(vm.getId()), false, true, true); + disks = ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(vm.getId()), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } for (DiskImage image : disks) { image.setStorageIds(null); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java index aea07f2..9b89254 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java @@ -503,7 +503,10 @@ private List<DiskImage> getVmImageDisks() { if (cachedVmImageDisks == null) { - cachedVmImageDisks = ImagesHandler.filterImageDisks(getVmDisks(), true, false, false); + cachedVmImageDisks = ImagesHandler.filterImageDisks(getVmDisks(), + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); } return cachedVmImageDisks; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java index 52e51ec..8d8f7e3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java @@ -99,7 +99,10 @@ for (VM vm : vms) { List<Disk> vmDisks = getDbFacade().getDiskDao().getAllForVm(vm.getId()); ValidationResult result = - (new DiskImagesValidator(ImagesHandler.filterImageDisks(vmDisks, true, false, true))) + (new DiskImagesValidator(ImagesHandler.filterImageDisks(vmDisks, + ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS))) .diskImagesSnapshotsNotAttachedToOtherVms(onlyPlugged); if (result != ValidationResult.VALID) { return result; diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java index f8f2e79..9894b45 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java @@ -84,7 +84,10 @@ public void filterImageDisksFilterDiskSnapshots() { disk1.setActive(true); - List<DiskImage> result = ImagesHandler.filterImageDisks(Arrays.asList(disk1, disk2), false, false, true); + List<DiskImage> result = ImagesHandler.filterImageDisks(Arrays.asList(disk1, disk2), + !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS, + !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS, + ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS); assertEquals("Wrong number of Guids returned", 1, result.size()); assertTrue("The result should contain the active image disk", result.contains(disk1)); -- To view, visit http://gerrit.ovirt.org/25349 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I54a22319d7005449ec4c3ecd285d81870b1c307e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches