if local storage is in maitenance mode or removed, won't change its status in case of mgt server restart Reviewed-by:Frank
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8f2bd456 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8f2bd456 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8f2bd456 Branch: refs/heads/master Commit: 8f2bd456600b65f376c93a64075e9f8c1c949d4f Parents: 50d5d48 Author: Edison Su <sudi...@gmail.com> Authored: Mon Dec 8 15:25:06 2014 -0800 Committer: Edison Su <sudi...@gmail.com> Committed: Wed Dec 17 14:34:48 2014 -0800 ---------------------------------------------------------------------- server/src/com/cloud/storage/StorageManagerImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8f2bd456/server/src/com/cloud/storage/StorageManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 1feea01..7de4ea0 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -583,8 +583,12 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C store = dataStoreMgr.getDataStore(pool.getId(), DataStoreRole.Primary); } - HostScope scope = new HostScope(host.getId(), host.getClusterId(), host.getDataCenterId()); - lifeCycle.attachHost(store, scope, pInfo); + pool = _storagePoolDao.findById(store.getId()); + if (pool.getStatus() != StoragePoolStatus.Maintenance && pool.getStatus() != StoragePoolStatus.Removed) { + HostScope scope = new HostScope(host.getId(), host.getClusterId(), host.getDataCenterId()); + lifeCycle.attachHost(store, scope, pInfo); + } + } catch (Exception e) { s_logger.warn("Unable to setup the local storage pool for " + host, e); throw new ConnectionException(true, "Unable to setup the local storage pool for " + host, e);