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
