From 8922707076632d478d7ed088a08bf24261e07c82 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 3 Nov 2015 13:47:23 +0530 Subject: [PATCH] CLOUDSTACK-9019: Add storage network offering in ssvm only if storage network is defined During creation of SSVM, checks and adds NetworkOffering.SystemStorageNetwork to offerings only if storage network exists for the target datacenter Signed-off-by: Rohit Yadav --- .../SecondaryStorageManagerImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index dd81809081a..5f8a1e0578b 100644 --- a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -92,6 +92,7 @@ import com.cloud.network.dao.IPAddressVO; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.NetworkVO; import com.cloud.network.rules.RulesManager; +import com.cloud.network.StorageNetworkManager; import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; import com.cloud.offerings.dao.NetworkOfferingDao; @@ -180,6 +181,8 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar @Inject protected SecondaryStorageVmDao _secStorageVmDao; @Inject + protected StorageNetworkManager _sNwMgr; + @Inject private DataCenterDao _dcDao; @Inject private VMTemplateDao _templateDao; @@ -551,9 +554,12 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar defaultNetwork = defaultNetworks.get(0); } - List offerings = - _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork, - NetworkOffering.SystemStorageNetwork); + List offerings = null; + if (_sNwMgr.isStorageIpRangeAvailable(dataCenterId)) { + offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork, NetworkOffering.SystemStorageNetwork); + } else { + offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork); + } LinkedHashMap> networks = new LinkedHashMap>(offerings.size() + 1); NicProfile defaultNic = new NicProfile(); defaultNic.setDefaultNic(true);