From 619f0eb276499a7b8f31d31f6479d27f215c7b3f 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 7b6e8680519..382a0f8757f 100755 --- a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -93,6 +93,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; @@ -181,6 +182,8 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar @Inject protected SecondaryStorageVmDao _secStorageVmDao; @Inject + protected StorageNetworkManager _sNwMgr; + @Inject private DataCenterDao _dcDao; @Inject private VMTemplateDao _templateDao; @@ -548,9 +551,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);