From 15f6fbbee4ae0c58f8b5188c824e273cb5ca2640 Mon Sep 17 00:00:00 2001 From: Anthony Xu Date: Thu, 4 Oct 2012 11:24:30 -0700 Subject: [PATCH] CLOUDSTACK-251 : when host is reconnected, CS try to make sure the host can access primary storage, CS only do this when primary storage is UP, and even host cannot access primary storage, that is okay, do not throw exception, just print a warning message --- .../src/com/cloud/storage/listener/StoragePoolMonitor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/storage/listener/StoragePoolMonitor.java b/server/src/com/cloud/storage/listener/StoragePoolMonitor.java index 3bb002bb70f..264b93ee0c7 100755 --- a/server/src/com/cloud/storage/listener/StoragePoolMonitor.java +++ b/server/src/com/cloud/storage/listener/StoragePoolMonitor.java @@ -34,6 +34,7 @@ import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.server.ManagementService; import com.cloud.storage.OCFS2Manager; import com.cloud.storage.StorageManagerImpl; +import com.cloud.storage.StoragePoolStatus; import com.cloud.storage.StoragePoolVO; import com.cloud.storage.Storage.StoragePoolType; import com.cloud.storage.dao.StoragePoolDao; @@ -78,6 +79,9 @@ public class StoragePoolMonitor implements Listener { scCmd.getHypervisorType() == HypervisorType.VMware || scCmd.getHypervisorType() == HypervisorType.Simulator || scCmd.getHypervisorType() == HypervisorType.Ovm) { List pools = _poolDao.listBy(host.getDataCenterId(), host.getPodId(), host.getClusterId()); for (StoragePoolVO pool : pools) { + if (pool.getStatus() != StoragePoolStatus.Up) { + continue; + } if (!pool.getPoolType().isShared()) { continue; } @@ -92,7 +96,7 @@ public class StoragePoolMonitor implements Listener { _storageManager.connectHostToSharedPool(hostId, pool); _storageManager.createCapacityEntry(pool); } catch (Exception e) { - throw new ConnectionException(true, "Unable to connect to pool " + pool, e); + s_logger.warn("Unable to connect host " + hostId + " to pool " + pool + " due to " + e.toString(), e); } } }