Liron Ar has uploaded a new change for review. Change subject: core: allow to perform hotplug/unplug/attach when vm is suspended. ......................................................................
core: allow to perform hotplug/unplug/attach when vm is suspended. When vm is suspended there's no reason to not allow performing hot plug/unplug and attach. Change-Id: I6d950a1e7945e43ec5ee5ffa0f79c5f9536473a6 Bug-Url: https://bugzilla.redhat.com/918498 Signed-off-by: Liron Aravot <lara...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotPlugDiskToVmCommand.java 3 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/12986/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java index 0e48e19..4708e3d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractDiskVmCommand.java @@ -143,8 +143,9 @@ return volumeFormat == VolumeFormat.RAW; } - protected boolean isVmUpOrDown() { - if (getVm().getStatus() != VMStatus.Up && getVm().getStatus() != VMStatus.Down) { + protected boolean isVmInUpPausedDownStatus() { + if (getVm().getStatus() != VMStatus.Up && getVm().getStatus() != VMStatus.Down + && getVm().getStatus() != VMStatus.Paused) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_STATUS_ILLEGAL); return false; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java index 624f020..869248e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachDiskToVmCommand.java @@ -70,7 +70,7 @@ return false; } - retValue = retValue && isVmExist() && isVmUpOrDown() && isDiskCanBeAddedToVm(disk) + retValue = retValue && isVmExist() && isVmInUpPausedDownStatus() && isDiskCanBeAddedToVm(disk) && isDiskPassPciAndIdeLimit(disk); if (retValue && getVmDeviceDao().exists(new VmDeviceId(disk.getId(), getVmId()))) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotPlugDiskToVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotPlugDiskToVmCommand.java index 9919893..fc99e1f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotPlugDiskToVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotPlugDiskToVmCommand.java @@ -40,13 +40,13 @@ @Override protected boolean canDoAction() { disk = getDiskDao().get(getParameters().getDiskId()); - return isVmExist() && isVmUpOrDown() && isDiskExist(disk) && checkCanPerformPlugUnPlugDisk() + return isVmExist() && isVmInUpPausedDownStatus() && isDiskExist(disk) && checkCanPerformPlugUnPlugDisk() && validate(getSnapshotsValidator().vmNotDuringSnapshot(getVmId())); } private boolean checkCanPerformPlugUnPlugDisk() { boolean returnValue = true; - if (getVm().getStatus() == VMStatus.Up) { + if (getVm().getStatus() == VMStatus.Up || getVm().getStatus() == VMStatus.Paused) { setVdsId(getVm().getRunOnVds().getValue()); returnValue = isHotPlugSupported() && isOsSupportingHotPlug() @@ -73,7 +73,7 @@ @Override protected void executeVmCommand() { - if (getVm().getStatus() == VMStatus.Up) { + if (getVm().getStatus() == VMStatus.Up || getVm().getStatus() == VMStatus.Paused) { performPlugCommand(getPlugAction(), disk, oldVmDevice); } -- To view, visit http://gerrit.ovirt.org/12986 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6d950a1e7945e43ec5ee5ffa0f79c5f9536473a6 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <lara...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches