Michael Kublin has uploaded a new change for review.

Change subject: core: [WIP] Removind uses deactivate from flows at engine side
......................................................................

core: [WIP] Removind uses deactivate from flows at engine side

The following patch will remove all using of deactivate form engine side.
The patch is not full, most of scenarious will not work after applying of patch.
The senarious like: maintaince of host and deactivate of master domain

Change-Id: I87be747a32ae38f21091a07de664396cdbbf98c9
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStoragePoolWithStoragesCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
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/action/StoragePoolWithStoragesParameter.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/CreateStoragePoolVDSCommandParameters.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
7 files changed, 120 insertions(+), 141 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/7257/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 5b1241b..ee57ca9 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
@@ -1,9 +1,9 @@
 package org.ovirt.engine.core.bll.storage;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.Map;
 
-import org.ovirt.engine.core.bll.Backend;
 import org.ovirt.engine.core.bll.IsoDomainListSyncronizer;
 import org.ovirt.engine.core.bll.LockIdNameAttribute;
 import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
@@ -15,8 +15,6 @@
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
 import org.ovirt.engine.core.common.businessentities.storage_pool_iso_map;
 import org.ovirt.engine.core.common.locks.LockingGroup;
-import 
org.ovirt.engine.core.common.vdscommands.ActivateStorageDomainVDSCommandParameters;
-import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
@@ -43,8 +41,6 @@
 
     @Override
     protected boolean canDoAction() {
-        super.canDoAction();
-        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ACTIVATE);
         boolean returnValue = checkStoragePool()
                 && 
CheckStoragePoolStatusNotEqual(StoragePoolStatus.Uninitialized,
                                                   
VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_STATUS_ILLEGAL)
@@ -56,49 +52,37 @@
 
     @Override
     protected void executeCommand() {
-
-        final storage_pool_iso_map map = 
DbFacade.getInstance().getStoragePoolIsoMapDAO().get(new 
StoragePoolIsoMapId(getParameters().getStorageDomainId(),getParameters().getStoragePoolId()));
-        changeStorageDomainStatusInTransaction(map,StorageDomainStatus.Locked);
+        final storage_pool_iso_map map =
+                DbFacade.getInstance()
+                        .getStoragePoolIsoMapDAO()
+                        .get(new 
StoragePoolIsoMapId(getParameters().getStorageDomainId(),
+                                getParameters().getStoragePoolId()));
+        changeStorageDomainStatusInTransaction(map, 
StorageDomainStatus.Locked);
         freeLock();
 
-        log.infoFormat("ActivateStorage Domain. Before Connect all hosts to 
pool. Time:{0}", new java.util.Date());
+        log.infoFormat("ActivateStorage Domain. Before Connect all hosts to 
pool. Time:{0}", new Date());
         ConnectAllHostsToPool();
-        log.infoFormat("ActivateStorage Domain. After Connect all hosts to 
pool. Time:{0}", new java.util.Date());
-        setSucceeded(Backend
-                .getInstance()
-                .getResourceManager()
-                .RunVdsCommand(
-                        VDSCommandType.ActivateStorageDomain,
-                        new 
ActivateStorageDomainVDSCommandParameters(getStoragePool().getId(), 
getStorageDomain()
-                                .getId())).getSucceeded());
-        log.infoFormat("ActivateStorage Domain. After Activate storage domain 
in vds. Time:{0}", new java.util.Date());
-        if (getSucceeded()) {
-            RefreshAllVdssInPool(false);
-            log.infoFormat("ActivateStorage Domain. After Refresh all pools . 
Time:{0}", new java.util.Date());
+        log.infoFormat("ActivateStorage Domain. After Connect all hosts to 
pool. Time:{0}", new Date());
 
-            TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
-                @Override
-                public Void runInTransaction() {
-                    getCompensationContext().snapshotEntityStatus(map, 
map.getstatus());
-                    map.setstatus(StorageDomainStatus.Active);
-                    
DbFacade.getInstance().getStoragePoolIsoMapDAO().updateStatus(map.getId(), 
map.getstatus());
-                    if (getStorageDomain().getstorage_domain_type() == 
StorageDomainType.Master) {
-                        calcStoragePoolStatusByDomainsStatus();
-                    }
-                    getCompensationContext().stateChanged();
-                    return null;
+        TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
+            @Override
+            public Void runInTransaction() {
+                map.setstatus(StorageDomainStatus.Active);
+                
DbFacade.getInstance().getStoragePoolIsoMapDAO().updateStatus(map.getId(), 
map.getstatus());
+                if (getStorageDomain().getstorage_domain_type() == 
StorageDomainType.Master) {
+                    calcStoragePoolStatusByDomainsStatus();
                 }
-            });
-
-            log.infoFormat("ActivateStorage Domain. After change storage pool 
status in vds. Time:{0}",
-                    new java.util.Date());
-            if (getStorageDomain().getstorage_domain_type() == 
StorageDomainType.ISO) {
-                
IsoDomainListSyncronizer.getInstance().refresheIsoDomainWhenActivateDomain(getStorageDomain().getId(),
-                        getStoragePool().getId());
+                return null;
             }
-        } else {
-            compensate();
+        });
+
+        log.infoFormat("ActivateStorage Domain. After change storage pool 
status in vds. Time:{0}",
+                new Date());
+        if (getStorageDomain().getstorage_domain_type() == 
StorageDomainType.ISO) {
+            
IsoDomainListSyncronizer.getInstance().refresheIsoDomainWhenActivateDomain(getStorageDomain().getId(),
+                    getStoragePool().getId());
         }
+        setSucceeded(true);
     }
 
     @Override
@@ -117,6 +101,12 @@
         return Collections.singletonMap(getStorageDomainId().toString(), 
LockingGroup.STORAGE.name());
     }
 
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__STORAGE__DOMAIN);
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ACTIVATE);
+    }
+
     private boolean storageDomainStatusIsValid() {
         boolean returnValue;
         if (isInternalExecution()) {
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 ee8fe44..90bd7f6 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
@@ -90,7 +90,7 @@
                             .ConnectStorageToDomainByVdsId(storageDomain,
                                     getVds().getId());
                 }
-                retVal = AddStoragePoolInIrs();
+                retVal = addStoragePoolInIrs();
                 if (!retVal.getSucceeded()
                         && retVal.getVdsError().getCode() == 
VdcBllErrors.StorageDomainAccessError) {
                     log.warnFormat("Error creating storage pool on vds {0} - 
continuing",
@@ -188,16 +188,12 @@
      * Save the master version out of the transaction
      */
 
-    private VDSReturnValue AddStoragePoolInIrs() {
-        return Backend
-                .getInstance()
-                .getResourceManager()
-                .RunVdsCommand(
-                        VDSCommandType.CreateStoragePool,
-                        new 
CreateStoragePoolVDSCommandParameters(getVds().getId(), getStoragePool()
-                                .getstorage_pool_type(), 
getStoragePool().getId(), getStoragePool().getname(),
-                                masterStorageDomain.getId(), 
getParameters().getStorages(), getStoragePool()
-                                        .getmaster_domain_version()));
+    private VDSReturnValue addStoragePoolInIrs() {
+        return runVdsCommand(VDSCommandType.CreateStoragePool,
+                new CreateStoragePoolVDSCommandParameters(getVds().getId(), 
getStoragePool()
+                        .getstorage_pool_type(), getStoragePool().getId(), 
getStoragePool().getname(),
+                        masterStorageDomain.getId(), 
getParameters().getStorages(), getStoragePool()
+                                .getmaster_domain_version()));
     }
 
     private boolean ActivateStorageDomains() {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
index 88b08bb..46a350d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.core.bll.storage;
 
+import java.util.Arrays;
+
 import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.context.CommandContext;
 import org.ovirt.engine.core.common.AuditLogType;
@@ -13,7 +15,6 @@
 import org.ovirt.engine.core.common.businessentities.storage_pool_iso_map;
 import 
org.ovirt.engine.core.common.vdscommands.AttachStorageDomainVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
-import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.TransactionScopeOption;
 import org.ovirt.engine.core.dal.VdcBllMessages;
@@ -43,8 +44,7 @@
         if (getStorageDomain() != null) {
             if (getStoragePool().getstatus() == 
StoragePoolStatus.Uninitialized) {
                 StoragePoolWithStoragesParameter parameters = new 
StoragePoolWithStoragesParameter(getStoragePool(),
-                        new java.util.ArrayList<Guid>(
-                                java.util.Arrays.asList(new Guid[] { 
getStorageDomain().getId() })),
+                       Arrays.asList(getStorageDomain().getId()),
                         getParameters().getSessionId());
                 parameters.setIsInternal(true);
                 
parameters.setTransactionScopeOption(TransactionScopeOption.Suppress);
@@ -70,27 +70,21 @@
                         }
                     });
                     ConnectAllHostsToPool();
-                    VDSReturnValue returnValue =
-                            getBackend().getResourceManager()
-                                    .RunVdsCommand(
-                                            VDSCommandType.AttachStorageDomain,
-                                            new 
AttachStorageDomainVDSCommandParameters(getParameters().getStoragePoolId(),
-                                                    
getParameters().getStorageDomainId()));
-                    DiconnectAllHostsInPool();
+                    runVdsCommand(VDSCommandType.AttachStorageDomain,
+                            new 
AttachStorageDomainVDSCommandParameters(getParameters().getStoragePoolId(),
+                                    getParameters().getStorageDomainId()));
                     executeInNewTransaction(new TransactionMethod<Object>() {
                         @Override
                         public Object runInTransaction() {
-                            getCompensationContext().snapshotEntityStatus(map, 
map.getstatus());
                             map.setstatus(StorageDomainStatus.Maintenance);
                             
getStoragePoolIsoMapDAO().updateStatus(map.getId(), map.getstatus());
                             if (getStorageDomain().getstorage_domain_type() == 
StorageDomainType.Master) {
                                 calcStoragePoolStatusByDomainsStatus();
                             }
-                            getCompensationContext().stateChanged();
                             return null;
                         }
                     });
-                    setSucceeded(returnValue.getSucceeded());
+                    setSucceeded(true);
                 }
             }
         }
@@ -105,9 +99,6 @@
 
     @Override
     protected boolean canDoAction() {
-        super.canDoAction();
-        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ATTACH);
-
         // We can share only ISO or Export domain , or a data domain
         // which is not attached.
         boolean returnValue =
@@ -124,4 +115,10 @@
         }
         return returnValue;
     }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__STORAGE__DOMAIN);
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ATTACH);
+    }
 }
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 852e433..b9f2469 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
@@ -12,7 +12,6 @@
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.storage_domains;
 import org.ovirt.engine.core.common.businessentities.storage_pool_iso_map;
-import 
org.ovirt.engine.core.common.vdscommands.DeactivateStorageDomainVDSCommandParameters;
 import 
org.ovirt.engine.core.common.vdscommands.DisconnectStoragePoolVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.IrsBaseVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
@@ -166,64 +165,52 @@
             
getStorageDomain().getStorageDynamicData().setavailable_disk_size(null);
             getStorageDomain().getStorageDynamicData().setused_disk_size(null);
         }
-        boolean succeeded = getBackend().getResourceManager()
-                .RunVdsCommand(
-                        VDSCommandType.DeactivateStorageDomain,
-                        new 
DeactivateStorageDomainVDSCommandParameters(getStoragePool().getId(),
-                                getStorageDomain()
-                                        .getId(),
-                                _newMasterStorageDomainId,
-                                getStoragePool().getmaster_domain_version()))
-                .getSucceeded();
-        if (succeeded) {
-            runSynchronizeOperation(new 
AfterDeactivateSingleAsyncOperationFactory(),
-                    _isLastMaster,
-                    _newMasterStorageDomainId);
-            if (_isLastMaster && spm != null) {
-                final VDSReturnValue stopSpmReturnValue = getBackend()
-                        .getResourceManager()
-                        .RunVdsCommand(VDSCommandType.SpmStopOnIrs,
-                                new 
IrsBaseVDSCommandParameters(getStoragePool().getId()));
-                if (!stopSpmReturnValue.getSucceeded()) {
-                    // no need to continue because DisconnectStoragePool will
-                    // fail if host is SPM
-                    log.error("Aborting execution due to failure stopping 
SPM." +
-                            " Stop SPM failed due to "
-                            + stopSpmReturnValue.getExceptionString());
-                    setSucceeded(false);
-                    return;
-                }
-                getBackend().getResourceManager()
-                        .RunVdsCommand(
-                                VDSCommandType.DisconnectStoragePool,
-                                new 
DisconnectStoragePoolVDSCommandParameters(spm.getId(),
-                                        getStoragePool().getId(), 
spm.getvds_spm_id()));
+        runSynchronizeOperation(new 
AfterDeactivateSingleAsyncOperationFactory(), _isLastMaster,
+                _newMasterStorageDomainId);
+        if (_isLastMaster && spm != null) {
+            final VDSReturnValue stopSpmReturnValue = getBackend()
+                    .getResourceManager()
+                    .RunVdsCommand(VDSCommandType.SpmStopOnIrs,
+                            new 
IrsBaseVDSCommandParameters(getStoragePool().getId()));
+            if (!stopSpmReturnValue.getSucceeded()) {
+                // no need to continue because DisconnectStoragePool will
+                // fail if host is SPM
+                log.error("Aborting execution due to failure stopping SPM." +
+                        " Stop SPM failed due to "
+                        + stopSpmReturnValue.getExceptionString());
+                setSucceeded(false);
+                return;
             }
-
-            
getStorageHelper(getStorageDomain()).DisconnectStorageFromDomainByVdsId(getStorageDomain(),
 spm.getId());
-
-            executeInNewTransaction(new TransactionMethod<Object>() {
-                @Override
-                public Object runInTransaction() {
-                    getCompensationContext().snapshotEntityStatus(map, 
map.getstatus());
-                    if (getParameters().isInactive()) {
-                        map.setstatus(StorageDomainStatus.InActive);
-                    } else {
-                        map.setstatus(StorageDomainStatus.Maintenance);
-                    }
-                    getStoragePoolIsoMapDAO().updateStatus(map.getId(), 
map.getstatus());
-                    if (!Guid.Empty.equals(_newMasterStorageDomainId)) {
-                        storage_pool_iso_map mapOfNewMaster = 
getNewMaster(false).getStoragePoolIsoMapData();
-                        
getCompensationContext().snapshotEntityStatus(mapOfNewMaster, 
mapOfNewMaster.getstatus());
-                        mapOfNewMaster.setstatus(StorageDomainStatus.Active);
-                        
getStoragePoolIsoMapDAO().updateStatus(mapOfNewMaster.getId(), 
mapOfNewMaster.getstatus());
-                    }
-                    getCompensationContext().stateChanged();
-                    return null;
-                }
-            });
-            setSucceeded(true);
+            getBackend().getResourceManager()
+                    .RunVdsCommand(
+                            VDSCommandType.DisconnectStoragePool,
+                            new 
DisconnectStoragePoolVDSCommandParameters(spm.getId(),
+                                    getStoragePool().getId(), 
spm.getvds_spm_id()));
         }
+
+        
getStorageHelper(getStorageDomain()).DisconnectStorageFromDomainByVdsId(getStorageDomain(),
 spm.getId());
+
+        executeInNewTransaction(new TransactionMethod<Object>() {
+            @Override
+            public Object runInTransaction() {
+                getCompensationContext().snapshotEntityStatus(map, 
map.getstatus());
+                if (getParameters().isInactive()) {
+                    map.setstatus(StorageDomainStatus.InActive);
+                } else {
+                    map.setstatus(StorageDomainStatus.Maintenance);
+                }
+                getStoragePoolIsoMapDAO().updateStatus(map.getId(), 
map.getstatus());
+                if (!Guid.Empty.equals(_newMasterStorageDomainId)) {
+                    storage_pool_iso_map mapOfNewMaster = 
getNewMaster(false).getStoragePoolIsoMapData();
+                    
getCompensationContext().snapshotEntityStatus(mapOfNewMaster, 
mapOfNewMaster.getstatus());
+                    mapOfNewMaster.setstatus(StorageDomainStatus.Active);
+                    
getStoragePoolIsoMapDAO().updateStatus(mapOfNewMaster.getId(), 
mapOfNewMaster.getstatus());
+                }
+                getCompensationContext().stateChanged();
+                return null;
+            }
+        });
+        setSucceeded(true);
     }
 
     /**
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/StoragePoolWithStoragesParameter.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/StoragePoolWithStoragesParameter.java
index f8e0a73..44a79bf 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/StoragePoolWithStoragesParameter.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/StoragePoolWithStoragesParameter.java
@@ -1,17 +1,19 @@
 package org.ovirt.engine.core.common.action;
 
+import java.util.List;
+
 import org.ovirt.engine.core.compat.*;
 import org.ovirt.engine.core.common.businessentities.*;
 
 public class StoragePoolWithStoragesParameter extends 
StoragePoolManagementParameter {
     private static final long serialVersionUID = 399202796107792151L;
-    private java.util.ArrayList<Guid> privateStorages;
+    private List<Guid> privateStorages;
 
-    public java.util.ArrayList<Guid> getStorages() {
+    public List<Guid> getStorages() {
         return privateStorages;
     }
 
-    private void setStorages(java.util.ArrayList<Guid> value) {
+    private void setStorages(List<Guid> value) {
         privateStorages = value;
     }
 
@@ -25,7 +27,7 @@
         privateIsInternal = value;
     }
 
-    public StoragePoolWithStoragesParameter(storage_pool storagePool, 
java.util.ArrayList<Guid> storage_domain_ids, String sessionId) {
+    public StoragePoolWithStoragesParameter(storage_pool storagePool, 
List<Guid> storage_domain_ids, String sessionId) {
         super(storagePool);
         setStorages(storage_domain_ids);
         setSessionId(sessionId);
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/CreateStoragePoolVDSCommandParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/CreateStoragePoolVDSCommandParameters.java
index c14d3b8..09ac6ae 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/CreateStoragePoolVDSCommandParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/CreateStoragePoolVDSCommandParameters.java
@@ -1,10 +1,12 @@
 package org.ovirt.engine.core.common.vdscommands;
 
+import java.util.List;
+
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.compat.Guid;
 
 public class CreateStoragePoolVDSCommandParameters extends 
VdsIdVDSCommandParametersBase {
-    private Guid privateStoragePoolId = new Guid();
+    private Guid privateStoragePoolId = Guid.Empty;
 
     public Guid getStoragePoolId() {
         return privateStoragePoolId;
@@ -34,7 +36,7 @@
         privateStoragePoolName = value;
     }
 
-    private Guid privateMasterDomainId = new Guid();
+    private Guid privateMasterDomainId = Guid.Empty;
 
     public Guid getMasterDomainId() {
         return privateMasterDomainId;
@@ -44,13 +46,13 @@
         privateMasterDomainId = value;
     }
 
-    private java.util.ArrayList<Guid> privateDomainsIdList;
+    private List<Guid> privateDomainsIdList;
 
-    public java.util.ArrayList<Guid> getDomainsIdList() {
+    public List<Guid> getDomainsIdList() {
         return privateDomainsIdList;
     }
 
-    private void setDomainsIdList(java.util.ArrayList<Guid> value) {
+    private void setDomainsIdList(List<Guid> value) {
         privateDomainsIdList = value;
     }
 
@@ -65,7 +67,7 @@
     }
 
     public CreateStoragePoolVDSCommandParameters(Guid vdsId, StorageType 
storageType, Guid storagePoolId,
-            String poolName, Guid masterDomainId, java.util.ArrayList<Guid> 
domainsIdList, int masterVersion) {
+            String poolName, Guid masterDomainId, List<Guid> domainsIdList, 
int masterVersion) {
         super(vdsId);
         setStoragePoolId(storagePoolId);
         setStorageType(storageType);
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
index 6f88e59..e411d3c 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
@@ -375,7 +375,7 @@
                 } else if (domainPoolMap.getstatus() != 
StorageDomainStatus.Locked
                         && domainPoolMap.getstatus() != data.getstatus()) {
                     if (domainPoolMap.getstatus() != 
StorageDomainStatus.Maintenance
-                            || data.getstatus() != 
StorageDomainStatus.InActive) {
+                            && data.getstatus() != 
StorageDomainStatus.InActive) {
                         
DbFacade.getInstance().getStoragePoolIsoMapDAO().update(data.getStoragePoolIsoMapData());
                         statusChanged = true;
                     }
@@ -394,7 +394,8 @@
                 }
                 // if status didn't change and still not active no need to
                 // update dynamic data
-                if (statusChanged || data.getstatus() == 
StorageDomainStatus.Active) {
+                if (statusChanged
+                        || (domainPoolMap.getstatus() != 
StorageDomainStatus.Maintenance && data.getstatus() == 
StorageDomainStatus.Active)) {
                     
DbFacade.getInstance().getStorageDomainDynamicDAO().update(data.getStorageDynamicData());
                     if (data.getavailable_disk_size() != null && 
data.getused_disk_size() != null) {
                         int freePercent = 
data.getStorageDynamicData().getfreeDiskPercent();
@@ -405,12 +406,12 @@
                         boolean percentThresholdMet =
                                 freePercent <= Config.<Integer> 
GetValue(ConfigValues.FreeSpaceLow);
                         if (spaceThresholdMet && percentThresholdMet) {
-                             type = AuditLogType.IRS_DISK_SPACE_LOW_ERROR;
+                            type = AuditLogType.IRS_DISK_SPACE_LOW_ERROR;
                         } else {
                             if (spaceThresholdMet || percentThresholdMet) {
                                 type = AuditLogType.IRS_DISK_SPACE_LOW;
                             }
-                         }
+                        }
                         if (type != AuditLogType.UNASSIGNED) {
                             AuditLogableBase logable = new AuditLogableBase();
                             logable.setStorageDomain(data);
@@ -435,7 +436,7 @@
                             case VG_METADATA_CRITICALLY_FULL:
                                 AuditLogDirector.log(logable, 
AuditLogType.STORAGE_ALERT_VG_METADATA_CRITICALLY_FULL);
                                 break;
-                            case SMALL_VG_METADATA :
+                            case SMALL_VG_METADATA:
                                 AuditLogDirector.log(logable, 
AuditLogType.STORAGE_ALERT_SMALL_VG_METADATA);
                                 break;
                             default:
@@ -1077,6 +1078,9 @@
                                                             _storagePoolId, 
StorageDomainStatus.Active));
                                             
domainsInPool.addAll(DbFacade.getInstance().getStorageDomainStaticDAO().getAllIds(
                                                     _storagePoolId, 
StorageDomainStatus.Unknown));
+                                            List<Guid> 
domainsInMaintenancePool = 
DbFacade.getInstance().getStorageDomainStaticDAO().getAllIds(
+                                                    _storagePoolId, 
StorageDomainStatus.Maintenance);
+                                            
domainsInPool.addAll(domainsInMaintenancePool);
 
                                             // build a list of all the domains 
in
                                             // pool (domainsInPool) that are 
not
@@ -1100,7 +1104,8 @@
                                             // Unknown domains in pool
                                             List<Guid> 
domainsSeenByVdsInProblem = new ArrayList<Guid>();
                                             for (VDSDomainsData tempData : 
data) {
-                                                if 
(domainsInPool.contains(tempData.getDomainId())) {
+                                                if 
(domainsInPool.contains(tempData.getDomainId())
+                                                        && 
!domainsInMaintenancePool.contains(tempData.getDomainId())) {
                                                     if (tempData.getCode() != 
0) {
                                                         
domainsSeenByVdsInProblem.add(tempData.getDomainId());
                                                     } else if 
(tempData.getLastCheck() > Config


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I87be747a32ae38f21091a07de664396cdbbf98c9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to