Federico Simoncelli has uploaded a new change for review.

Change subject: core: simplify connectAndRefreshAllUpHosts
......................................................................

core: simplify connectAndRefreshAllUpHosts

Change-Id: I75254ef8fda6732037c261d04d91f23a7148ff8a
Signed-off-by: Federico Simoncelli <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java
1 file changed, 52 insertions(+), 48 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/35/28335/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java
index ae00691..a0d223f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java
@@ -219,55 +219,59 @@
     }
 
     private void connectAndRefreshAllUpHosts(final boolean commandSucceeded) {
-        final boolean isPerformConnectOps = !_isLastMaster && commandSucceeded;
-        if (isPerformConnectOps) {
-            List<Callable<Void>> tasks = new ArrayList<Callable<Void>>();
-            for (final VDS vds : getAllRunningVdssInPool()) {
-                tasks.add(new Callable<Void>() {
-
-                    @Override
-                    public Void call() {
-                        try {
-                            if (isPerformConnectOps && 
connectVdsToNewMaster(vds)) {
-                                List<StoragePoolIsoMap> storagePoolIsoMap = 
getStoragePoolIsoMapDAO()
-                                        
.getAllForStoragePool(getStoragePool().getId());
-                                try {
-                                    runVdsCommand(
-                                            VDSCommandType.ConnectStoragePool,
-                                            new 
ConnectStoragePoolVDSCommandParameters(vds, getStoragePool(),
-                                                    _newMasterStorageDomainId, 
storagePoolIsoMap, true));
-                                } catch (VdcBLLException ex) {
-                                    if (VdcBllErrors.StoragePoolUnknown == 
ex.getVdsError().getCode()) {
-                                        VDSReturnValue returnVal = 
runVdsCommand(
-                                                
VDSCommandType.ConnectStoragePool,
-                                                new 
ConnectStoragePoolVDSCommandParameters(vds, getStoragePool(),
-                                                        
_newMasterStorageDomainId, storagePoolIsoMap));
-                                        if (!returnVal.getSucceeded()) {
-                                            log.errorFormat("Post reconstruct 
actions (connectPool) did not complete on host {0} in the pool. error {1}",
-                                                    vds.getId(),
-                                                    
returnVal.getVdsError().getMessage());
-                                        }
-                                    } else {
-                                        log.errorFormat("Post reconstruct 
actions (refreshPool)"
-                                                + " did not complete on host 
{0} in the pool. error {1}",
-                                                vds.getId(),
-                                                ex.getMessage());
-                                    }
-                                }
-                            }
-
-                        } catch (Exception e) {
-                            log.errorFormat("Post reconstruct actions 
(connectPool,refreshPool,disconnect storage)"
-                                    + " did not complete on host {0} in the 
pool. error {1}",
-                                    vds.getId(),
-                                    e.getMessage());
-                        }
-                        return null;
-                    }
-                });
-            }
-            ThreadPoolUtil.invokeAll(tasks);
+        if (_isLastMaster || !commandSucceeded) {
+            log.warnFormat("skipping connect and refresh for all hosts, last 
master: {0}, command status: {1}",
+                    _isLastMaster, commandSucceeded);
+            return;
         }
+
+        List<Callable<Void>> tasks = new ArrayList<Callable<Void>>();
+        for (final VDS vds : getAllRunningVdssInPool()) {
+            tasks.add(new Callable<Void>() {
+                @Override
+                public Void call() throws Exception {
+                    try {
+                        if (!connectVdsToNewMaster(vds)) {
+                            log.warnFormat("");
+                            return null;
+                        }
+
+                        List<StoragePoolIsoMap> storagePoolIsoMap = 
getStoragePoolIsoMapDAO()
+                                
.getAllForStoragePool(getStoragePool().getId());
+                        try {
+                            runVdsCommand(
+                                    VDSCommandType.ConnectStoragePool,
+                                    new 
ConnectStoragePoolVDSCommandParameters(vds, getStoragePool(),
+                                            _newMasterStorageDomainId, 
storagePoolIsoMap, true));
+                        } catch (VdcBLLException ex) {
+                            if (VdcBllErrors.StoragePoolUnknown == 
ex.getVdsError().getCode()) {
+                                VDSReturnValue returnVal = runVdsCommand(
+                                        VDSCommandType.ConnectStoragePool,
+                                        new 
ConnectStoragePoolVDSCommandParameters(vds, getStoragePool(),
+                                                _newMasterStorageDomainId, 
storagePoolIsoMap));
+                                if (!returnVal.getSucceeded()) {
+                                    log.errorFormat("Post reconstruct actions 
(connectPool) did not complete on host {0} in the pool. error {1}",
+                                            vds.getId(),
+                                            
returnVal.getVdsError().getMessage());
+                                }
+                            } else {
+                                log.errorFormat("Post reconstruct actions 
(refreshPool)"
+                                        + " did not complete on host {0} in 
the pool. error {1}",
+                                        vds.getId(),
+                                        ex.getMessage());
+                            }
+                        }
+                    } catch (Exception e) {
+                        log.errorFormat("Post reconstruct actions 
(connectPool,refreshPool,disconnect storage)"
+                                + " did not complete on host {0} in the pool. 
error {1}",
+                                vds.getId(),
+                                e.getMessage());
+                    }
+                    return null;
+                }
+            });
+        }
+        ThreadPoolUtil.invokeAll(tasks);
     }
 
     @Override


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

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

Reply via email to