Liron Ar has uploaded a new change for review. Change subject: core: allow deactivate storage domain in different statuses ......................................................................
core: allow deactivate storage domain in different statuses Currently the user can deactivate storage domain which is active only, which might prevent it to try to move it to maintenance in different cases. It makes sense to allow the user to try to deactivate the domain also when it's inactive or unknown, in the worst case - the operation would fail. Change-Id: Icc131262c70f687a3ba73b40999d00ded9acfe97 Signed-off-by: Liron Aravot <lara...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java M backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/VdcActionUtilsTest.java 3 files changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/22348/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java index 08004be..1798c32 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java @@ -83,8 +83,7 @@ } // when the execution is internal, proceed also if the domain is in unknown status. - if (!((getParameters().getIsInternal() && checkStorageDomainStatus(StorageDomainStatus.Active, - StorageDomainStatus.Unknown)) || checkStorageDomainStatus(StorageDomainStatus.Active))) { + if (checkStorageDomainStatus(StorageDomainStatus.Active, StorageDomainStatus.InActive, StorageDomainStatus.Unknown)) { return false; } @@ -166,7 +165,9 @@ getStoragePoolIsoMapDAO().get (new StoragePoolIsoMapId(getParameters().getStorageDomainId(), getParameters().getStoragePoolId())); - map.setStatus(StorageDomainStatus.Unknown); + if (map.getStatus() == StorageDomainStatus.Active) { + map.setStatus(StorageDomainStatus.Unknown); + } changeStorageDomainStatusInTransaction(map, StorageDomainStatus.Locked); proceedStorageDomainTreatmentByDomainType(false); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java index ca0c942..b68976a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java @@ -271,9 +271,6 @@ StorageDomainStatus.Active, EnumSet.of(VdcActionType.DetachStorageDomainFromPool, VdcActionType.ActivateStorageDomain)); storageDomainMatrix.put( - StorageDomainStatus.InActive, - EnumSet.of(VdcActionType.DeactivateStorageDomain)); - storageDomainMatrix.put( StorageDomainStatus.Locked, EnumSet.of(VdcActionType.DetachStorageDomainFromPool, VdcActionType.DeactivateStorageDomain, VdcActionType.ActivateStorageDomain)); @@ -287,7 +284,7 @@ VdcActionType.DeactivateStorageDomain, VdcActionType.ActivateStorageDomain)); storageDomainMatrix.put( StorageDomainStatus.Unknown, - EnumSet.of(VdcActionType.DetachStorageDomainFromPool, VdcActionType.DeactivateStorageDomain)); + EnumSet.of(VdcActionType.DetachStorageDomainFromPool)); storageDomainMatrix.put( StorageDomainStatus.Maintenance, EnumSet.of(VdcActionType.DeactivateStorageDomain)); diff --git a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/VdcActionUtilsTest.java b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/VdcActionUtilsTest.java index 929152d..64c334a 100644 --- a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/VdcActionUtilsTest.java +++ b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/VdcActionUtilsTest.java @@ -52,7 +52,7 @@ { upVds, VdcActionType.RefreshHostCapabilities, true }, { downVds, VdcActionType.RefreshHostCapabilities, false }, { upStorageDomain, VdcActionType.DeactivateStorageDomain, true }, - { downStorageDomain, VdcActionType.DeactivateStorageDomain, false }, + { downStorageDomain, VdcActionType.DeactivateStorageDomain, true }, { new StoragePool(), VdcActionType.UpdateStoragePool, true } }); } -- To view, visit http://gerrit.ovirt.org/22348 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Icc131262c70f687a3ba73b40999d00ded9acfe97 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