Liron Aravot has uploaded a new change for review. Change subject: core: WIP: AddStoragePoolWithStorages-prevent domains from stay LOCKED ......................................................................
core: WIP: AddStoragePoolWithStorages-prevent domains from stay LOCKED AddStoragePoolWithStoragesCommand execute ActivateStorageDomain command for each domain in the pool, failure in the domain activation causes the domain to stay in status locked forver. Change-Id: Ie8b9fc0d324eac2146d4f7d60d48e4dd5eb5d9e0 Bug-Url: https://bugzilla.redhat.com/845955 Signed-off-by: Liron Aravot <lara...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java 1 file changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/8536/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java index 6a7da6f..403afa6 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java @@ -182,6 +182,7 @@ if (staticDomainChanged) { getStorageDomainStaticDAO().update(staticDomain); } + getCompensationContext().snapshotEntityStatus(storageDomain, storageDomain.getstatus()); storageDomain.setstatus(StorageDomainStatus.Locked); if (existingInDb) { DbFacade.getInstance() @@ -218,6 +219,20 @@ private boolean ActivateStorageDomains() { boolean returnValue = true; + TransactionSupport.executeInNewTransaction(new TransactionMethod<Void>() { + @Override + public Void runInTransaction() { + for (final Guid storageDomainId : getParameters().getStorages()) { + DbFacade.getInstance() + .getStoragePoolIsoMapDao() + .updateStatus( + new StoragePoolIsoMapId(storageDomainId, getStoragePool().getId()), + StorageDomainStatus.InActive); + } + return null; + } + }); + for (final Guid storageDomainId : getParameters().getStorages()) { StorageDomainPoolParametersBase activateParameters = new StorageDomainPoolParametersBase(storageDomainId, getStoragePool().getId()); @@ -225,21 +240,6 @@ activateParameters.setTransactionScopeOption(TransactionScopeOption.RequiresNew); returnValue = Backend.getInstance() .runInternalAction(VdcActionType.ActivateStorageDomain, activateParameters).getSucceeded(); - - // if activate domain failed then set domain status to inactive - if (!returnValue) { - TransactionSupport.executeInNewTransaction(new TransactionMethod<Void>() { - @Override - public Void runInTransaction() { - DbFacade.getInstance() - .getStoragePoolIsoMapDao() - .updateStatus( - new StoragePoolIsoMapId(storageDomainId, getStoragePool().getId()), - StorageDomainStatus.InActive); - return null; - } - }); - } } return returnValue; -- To view, visit http://gerrit.ovirt.org/8536 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie8b9fc0d324eac2146d4f7d60d48e4dd5eb5d9e0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Aravot <lara...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches