From 3da5d2054acd0cdbc9f71bda3309ba7783a87a90 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 22 Jan 2016 10:04:57 +0000 Subject: [PATCH 1/2] GQSS-44: Refactor console proxy default network retrieval. It is now in a separate method for more readability and flexibility. --- .../consoleproxy/ConsoleProxyManagerImpl.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 54ae38248de0..b2bdd624f5d8 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -668,18 +668,10 @@ public ConsoleProxyVO startNew(long dataCenterId) throws ConcurrentOperationExce return null; } - protected Map createProxyInstance(long dataCenterId, VMTemplateVO template) throws ConcurrentOperationException { - - long id = _consoleProxyDao.getNextInSequence(Long.class, "id"); - String name = VirtualMachineName.getConsoleProxyName(id, _instance); - DataCenterVO dc = _dcDao.findById(dataCenterId); - Account systemAcct = _accountMgr.getSystemAccount(); - - DataCenterDeployment plan = new DataCenterDeployment(dataCenterId); - + protected NetworkVO getDefaultNetworkForCreation(DataCenter dc) { NetworkVO defaultNetwork = null; if (dc.getNetworkType() == NetworkType.Advanced && dc.isSecurityGroupEnabled()) { - List networks = _networkDao.listByZoneSecurityGroup(dataCenterId); + List networks = _networkDao.listByZoneSecurityGroup(dc.getId()); if (networks == null || networks.size() == 0) { throw new CloudRuntimeException("Can not found security enabled network in SG Zone " + dc); } @@ -689,7 +681,7 @@ protected Map createProxyInstance(long dataCenterId, VMTemplateV if (dc.getNetworkType() == NetworkType.Basic || dc.isSecurityGroupEnabled()) { defaultTrafficType = TrafficType.Guest; } - List defaultNetworks = _networkDao.listByZoneAndTrafficType(dataCenterId, defaultTrafficType); + List defaultNetworks = _networkDao.listByZoneAndTrafficType(dc.getId(), defaultTrafficType); // api should never allow this situation to happen if (defaultNetworks.size() != 1) { @@ -698,6 +690,20 @@ protected Map createProxyInstance(long dataCenterId, VMTemplateV defaultNetwork = defaultNetworks.get(0); } + return defaultNetwork; + } + + protected Map createProxyInstance(long dataCenterId, VMTemplateVO template) throws ConcurrentOperationException { + + long id = _consoleProxyDao.getNextInSequence(Long.class, "id"); + String name = VirtualMachineName.getConsoleProxyName(id, _instance); + DataCenterVO dc = _dcDao.findById(dataCenterId); + Account systemAcct = _accountMgr.getSystemAccount(); + + DataCenterDeployment plan = new DataCenterDeployment(dataCenterId); + + NetworkVO defaultNetwork = getDefaultNetworkForCreation(dc); + List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork); LinkedHashMap> networks = new LinkedHashMap>(offerings.size() + 1); From 7f6742018b8c53851c40087c7e621eafc1c459f1 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 22 Jan 2016 10:07:01 +0000 Subject: [PATCH 2/2] GQSS-44: Refactor ssvm default network retrieval. It's now in a separate method to increase readability and flexibility. --- .../SecondaryStorageManagerImpl.java | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 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 5f8a1e0578be..23be3a5fcf51 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 @@ -518,24 +518,10 @@ public SecondaryStorageVmVO startNew(long dataCenterId, SecondaryStorageVm.Role return null; } - protected Map createSecStorageVmInstance(long dataCenterId, SecondaryStorageVm.Role role) { - DataStore secStore = _dataStoreMgr.getImageStore(dataCenterId); - if (secStore == null) { - String msg = "No secondary storage available in zone " + dataCenterId + ", cannot create secondary storage vm"; - s_logger.warn(msg); - throw new CloudRuntimeException(msg); - } - - long id = _secStorageVmDao.getNextInSequence(Long.class, "id"); - String name = VirtualMachineName.getSystemVmName(id, _instance, "s").intern(); - Account systemAcct = _accountMgr.getSystemAccount(); - - DataCenterDeployment plan = new DataCenterDeployment(dataCenterId); - DataCenter dc = _dcDao.findById(plan.getDataCenterId()); - + protected NetworkVO getDefaultNetworkForCreation(DataCenter dc) { NetworkVO defaultNetwork = null; if (dc.getNetworkType() == NetworkType.Advanced && dc.isSecurityGroupEnabled()) { - List networks = _networkDao.listByZoneSecurityGroup(dataCenterId); + List networks = _networkDao.listByZoneSecurityGroup(dc.getId()); if (networks == null || networks.size() == 0) { throw new CloudRuntimeException("Can not found security enabled network in SG Zone " + dc); } @@ -546,7 +532,7 @@ protected Map createSecStorageVmInstance(long dataCenterId, Seco if (dc.getNetworkType() == NetworkType.Basic || dc.isSecurityGroupEnabled()) { defaultTrafficType = TrafficType.Guest; } - List defaultNetworks = _networkDao.listByZoneAndTrafficType(dataCenterId, defaultTrafficType); + List defaultNetworks = _networkDao.listByZoneAndTrafficType(dc.getId(), defaultTrafficType); // api should never allow this situation to happen if (defaultNetworks.size() != 1) { throw new CloudRuntimeException("Found " + defaultNetworks.size() + " networks of type " + defaultTrafficType + " when expect to find 1"); @@ -554,6 +540,26 @@ protected Map createSecStorageVmInstance(long dataCenterId, Seco defaultNetwork = defaultNetworks.get(0); } + return defaultNetwork; + } + + protected Map createSecStorageVmInstance(long dataCenterId, SecondaryStorageVm.Role role) { + DataStore secStore = _dataStoreMgr.getImageStore(dataCenterId); + if (secStore == null) { + String msg = "No secondary storage available in zone " + dataCenterId + ", cannot create secondary storage vm"; + s_logger.warn(msg); + throw new CloudRuntimeException(msg); + } + + long id = _secStorageVmDao.getNextInSequence(Long.class, "id"); + String name = VirtualMachineName.getSystemVmName(id, _instance, "s").intern(); + Account systemAcct = _accountMgr.getSystemAccount(); + + DataCenterDeployment plan = new DataCenterDeployment(dataCenterId); + DataCenter dc = _dcDao.findById(plan.getDataCenterId()); + + NetworkVO defaultNetwork = getDefaultNetworkForCreation(dc); + List offerings = null; if (_sNwMgr.isStorageIpRangeAvailable(dataCenterId)) { offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork, NetworkOffering.SystemManagementNetwork, NetworkOffering.SystemStorageNetwork);