diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 7d60a809e3f..a489200319f 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -1408,13 +1408,13 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura } PhysicalNetwork defaultNetwork = _networkMgr.createPhysicalNetwork(zone.getId(), null, null, null, broadcastDomainRange, domainId, null); - String defaultXenLabel = "cloud-private"; + //String defaultXenLabel = "cloud-private"; //add default Traffic types to the physical network - _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Guest.toString(), defaultXenLabel, null, null, null); - _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Public.toString(), defaultXenLabel, null, null, null); - _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Management.toString(), defaultXenLabel, null, null, null); - _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Storage.toString(), defaultXenLabel, null, null, null); + _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Guest.toString(), null, null, null, null); + _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Public.toString(), null, null, null, null); + _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Management.toString(), null, null, null, null); + _networkMgr.addTrafficTypeToPhysicalNetwork(defaultNetwork.getId(), TrafficType.Storage.toString(), null, null, null, null); return defaultNetwork.getId(); } diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 2e8379ffdbf..dd05aa21f3e 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -4671,16 +4671,16 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag private String getDefaultXenNetworkLabel(TrafficType trafficType){ String xenLabel = null; switch(trafficType){ - case Public: xenLabel = "cloud-public"; - break; - case Guest: xenLabel = "cloud-guest"; - break; - case Storage: xenLabel = "cloud-storage"; - break; - case Management: xenLabel = "cloud-private"; - break; - case Control: xenLabel = "cloud_link_local_network"; - break; + case Public: xenLabel = _configDao.getValue(Config.XenPublicNetwork.key()); + break; + case Guest: xenLabel = _configDao.getValue(Config.XenGuestNetwork.key()); + break; + case Storage: xenLabel = _configDao.getValue(Config.XenStorageNetwork1.key()); + break; + case Management: xenLabel = _configDao.getValue(Config.XenPrivateNetwork.key()); + break; + case Control: xenLabel = "cloud_link_local_network"; + break; } return xenLabel; } @@ -4800,7 +4800,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag dcId = dc.getId(); HypervisorType hypervisorType = startup.getHypervisorType(); - + if(s_logger.isDebugEnabled()){ + s_logger.debug("Host's hypervisorType is: "+hypervisorType); + } + List networkInfoList = new ArrayList(); //list all physicalnetworks in the zone & for each get the network names diff --git a/server/src/com/cloud/test/PodZoneConfig.java b/server/src/com/cloud/test/PodZoneConfig.java index 5ea9ba3a7e3..f9dd08184f2 100644 --- a/server/src/com/cloud/test/PodZoneConfig.java +++ b/server/src/com/cloud/test/PodZoneConfig.java @@ -370,7 +370,13 @@ public class PodZoneConfig { } //add default traffic types - String defaultXenLabel = "cloud-private"; + + //get default Xen network labels + String defaultXenPrivateNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Management); + String defaultXenPublicNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Public); + String defaultXenStorageNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Storage); + String defaultXenGuestNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Guest); + String insertTraficType = "INSERT INTO `cloud`.`physical_network_traffic_types` (physical_network_id, traffic_type, xen_network_label) VALUES ( ?, ?, ?)"; try { @@ -381,7 +387,16 @@ public class PodZoneConfig { } stmt.setLong(1, id); stmt.setString(2, traffic.toString()); - stmt.setString(3, defaultXenLabel); + if(traffic.equals(TrafficType.Public)){ + stmt.setString(3, defaultXenPublicNetworkLabel); + }else if(traffic.equals(TrafficType.Management)){ + stmt.setString(3, defaultXenPrivateNetworkLabel); + }else if(traffic.equals(TrafficType.Storage)){ + stmt.setString(3, defaultXenStorageNetworkLabel); + }else if(traffic.equals(TrafficType.Guest)){ + stmt.setString(3, defaultXenGuestNetworkLabel); + } + stmt.addBatch(); } stmt.executeBatch(); @@ -390,7 +405,33 @@ public class PodZoneConfig { } if (printOutput) System.out.println("Successfully saved physical network."); - } + } + + private String getDefaultXenNetworkLabel(TrafficType trafficType){ + String xenLabel = null; + String configName = null; + switch(trafficType){ + case Public: configName = "xen.public.network.device"; + break; + case Guest: configName = "xen.guest.network.device"; + break; + case Storage: configName = "xen.storage.network.device1"; + break; + case Management: configName = "xen.private.network.device"; + break; + } + + if(configName != null){ + xenLabel = getConfiguredValue(configName); + } + return xenLabel; + } + + public static String getConfiguredValue(String configName) + { + return DatabaseConfig.getDatabaseValueString("SELECT value FROM `cloud`.`configuration` where name = \"" + configName + "\"","value", + "Unable to start DB connection to read configuration. Please contact Cloud Support."); + } public void deleteZone(String name) { String sql = "DELETE FROM `cloud`.`data_center` WHERE name=\"" + name + "\"";