Federico Simoncelli has uploaded a new change for review.

Change subject: core: add the domain activating state
......................................................................

core: add the domain activating state

This patch adds an additional "Activating" domain state used to track
the ongoing operation so that we can do more informed decisions (for
example building the storage pool domains map).

Change-Id: I537dd962d16fa602f101b91fb68c037be4fa307d
Signed-off-by: Federico Simoncelli <fsimo...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StorageDomainStatus.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/StorageDomainStatus.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/storage/StoragePoolDomainHelper.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java
M 
frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainStatusColumn.java
9 files changed, 17 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/28184/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
index ff8c0a4..2b8c848 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
@@ -78,7 +78,7 @@
                         .getStoragePoolIsoMapDao()
                         .get(new 
StoragePoolIsoMapId(getParameters().getStorageDomainId(),
                                 getParameters().getStoragePoolId()));
-        changeStorageDomainStatusInTransaction(map, 
StorageDomainStatus.Locked);
+        changeStorageDomainStatusInTransaction(map, 
StorageDomainStatus.Activating);
         freeLock();
 
         log.infoFormat("ActivateStorage Domain. Before Connect all hosts to 
pool. Time:{0}", new Date());
@@ -87,7 +87,6 @@
                 new 
ActivateStorageDomainVDSCommandParameters(getStoragePool().getId(), 
getStorageDomain().getId()));
         log.infoFormat("ActivateStorage Domain. After Connect all hosts to 
pool. Time:{0}", new Date());
 
-        refreshAllVdssInPool();
         TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
             @Override
             public Void runInTransaction() {
@@ -99,6 +98,7 @@
                 return null;
             }
         });
+        refreshAllVdssInPool();
 
         log.infoFormat("ActivateStorage Domain. After change storage pool 
status in vds. Time:{0}",
                 new Date());
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 b276a91..ecc8d12 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
@@ -305,6 +305,9 @@
                 StorageDomainStatus.Detaching,
                 EnumSet.of(VdcActionType.DetachStorageDomainFromPool,
                         VdcActionType.DeactivateStorageDomain, 
VdcActionType.ActivateStorageDomain));
+        storageDomainMatrix.put(
+                StorageDomainStatus.Activating,
+                EnumSet.of(VdcActionType.DetachStorageDomainFromPool, 
VdcActionType.ActivateStorageDomain));
         _matrix.put(StorageDomain.class, storageDomainMatrix);
     }
 
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StorageDomainStatus.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StorageDomainStatus.java
index 6d94a97..7ac58bd 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StorageDomainStatus.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StorageDomainStatus.java
@@ -9,7 +9,8 @@
     Locked,
     Maintenance,
     PreparingForMaintenance,
-    Detaching;
+    Detaching,
+    Activating;
 
     public int getValue() {
         return this.ordinal();
@@ -20,6 +21,6 @@
     }
 
     public boolean isStorageDomainInProcess() {
-        return this == Locked || this == PreparingForMaintenance || this == 
Detaching;
+        return this == Locked || this == PreparingForMaintenance || this == 
Detaching || this == Activating;
     }
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/StorageDomainStatus.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/StorageDomainStatus.java
index b053d07..bb69ff6 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/StorageDomainStatus.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/StorageDomainStatus.java
@@ -26,6 +26,7 @@
     MAINTENANCE,
     PREPARING_FOR_MAINTENANCE,
     DETACHING,
+    ACTIVATING,
     UNKNOWN;
 
     public String value() {
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
index 5f4918f..f535ae3 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
@@ -395,6 +395,8 @@
         switch (status) {
         case Unattached:
             return StorageDomainStatus.UNATTACHED;
+        case Activating:
+            return StorageDomainStatus.ACTIVATING;
         case Active:
             return StorageDomainStatus.ACTIVE;
         case Inactive:
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/storage/StoragePoolDomainHelper.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/storage/StoragePoolDomainHelper.java
index 214bd9c..a595f70 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/storage/StoragePoolDomainHelper.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/storage/StoragePoolDomainHelper.java
@@ -30,7 +30,8 @@
                 continue;
             }
             if (domain.getStatus() == StorageDomainStatus.Maintenance ||
-                    domain.getStatus() == 
StorageDomainStatus.PreparingForMaintenance ) {
+                    domain.getStatus() == 
StorageDomainStatus.PreparingForMaintenance ||
+                    domain.getStatus() == StorageDomainStatus.Activating) {
                 storageDomains.put(domain.getstorage_id().toString(), 
"attached");
             } else {
                 storageDomains.put(domain.getstorage_id().toString(),
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java
index 91221c7..4809382 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java
@@ -5,6 +5,8 @@
 
     String NetworkStatus___OPERATIONAL();
 
+    String StorageDomainStatus___Activating();
+
     String StorageDomainStatus___Active();
 
     String StorageDomainStatus___Inactive();
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties
 
b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties
index 789600a..fc365b0 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties
+++ 
b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties
@@ -1,5 +1,6 @@
 NetworkStatus___NON_OPERATIONAL=Non Operational
 NetworkStatus___OPERATIONAL=Operational
+StorageDomainStatus___Activating=Activating
 StorageDomainStatus___Active=Active
 StorageDomainStatus___Inactive=Inactive
 StorageDomainStatus___Unattached=Unattached
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainStatusColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainStatusColumn.java
index 034769f..b74da8b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainStatusColumn.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainStatusColumn.java
@@ -23,6 +23,7 @@
             return getApplicationResources().downImage();
         case Uninitialized:
             return getApplicationResources().unconfiguredImage();
+        case Activating:
         case Locked:
         case PreparingForMaintenance:
         case Detaching:


-- 
To view, visit http://gerrit.ovirt.org/28184
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I537dd962d16fa602f101b91fb68c037be4fa307d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to