Daniel Erez has uploaded a new change for review. Change subject: core: MigrateVmDisks - get source domain by disk ......................................................................
core: MigrateVmDisks - get source domain by disk LiveMigrateVmDisksCommand - source storage domain should be retrieved from the operated disk instead of the command parameters (only a disk that resides on a single storage domain can be moved). Change-Id: Ifefe823faa8e546eba3e9d34c4b46609085baad8 Bug-Url: https://bugzilla.redhat.com/883871 Signed-off-by: Daniel Erez <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java 1 file changed, 12 insertions(+), 11 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/47/12147/1 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 1da8ae2..eaf3daa 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 @@ -198,7 +198,7 @@ for (LiveMigrateDiskParameters parameters : getParameters().getParametersList()) { getReturnValue().setCanDoAction(isDiskNotShareable(parameters.getImageId()) && isTemplateInDestStorageDomain(parameters.getImageId(), parameters.getStorageDomainId()) - && validateSourceStorageDomain(parameters.getImageId(), parameters.getSourceStorageDomainId()) + && validatSourceStorageDomain(parameters.getImageId()) && validateDestStorage(parameters.getImageId(), parameters.getStorageDomainId())); if (!getReturnValue().getCanDoAction()) { @@ -255,24 +255,25 @@ return true; } - private boolean validateSourceStorageDomain(Guid imageId, Guid sourceDomainId) { - StorageDomainValidator validator = getValidator(imageId, sourceDomainId); + private boolean validatSourceStorageDomain(Guid imageId) { + DiskImage diskImage = getDiskImageById(imageId); + Guid storagePoolId = diskImage.getStoragePoolId().getValue(); + Guid domainId = diskImage.getStorageIds().get(0); + StorageDomainValidator validator = getValidator(domainId, storagePoolId); return validate(validator.isDomainExistAndActive()); } private boolean validateDestStorage(Guid imageId, Guid destDomainId) { - StorageDomainValidator validator = getValidator(imageId, destDomainId); + DiskImage diskImage = getDiskImageById(imageId); + Guid storagePoolId = diskImage.getStoragePoolId().getValue(); + StorageDomainValidator validator = getValidator(destDomainId, storagePoolId); - return validateSourceStorageDomain(imageId, destDomainId) - && validate(validator.domainIsValidDestination()); + return validate(validator.isDomainExistAndActive()) && validate(validator.domainIsValidDestination()); } - private StorageDomainValidator getValidator(Guid imageId, Guid domainId) { - DiskImage diskImage = getDiskImageById(imageId); - - return new StorageDomainValidator( - getStorageDomainById(domainId, diskImage.getStoragePoolId().getValue())); + private StorageDomainValidator getValidator(Guid domainId, Guid storagePoolId) { + return new StorageDomainValidator(getStorageDomainById(domainId, storagePoolId)); } protected boolean isValidSpaceRequirements() { -- To view, visit http://gerrit.ovirt.org/12147 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifefe823faa8e546eba3e9d34c4b46609085baad8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
