Updated Branches: refs/heads/vpc a1333649d -> 6ad2388c7
VPC: added one more default network offering for VPC - the one not having LB service Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/6ad2388c Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/6ad2388c Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/6ad2388c Branch: refs/heads/vpc Commit: 6ad2388c72c074d9ff6151b03a132b8f3306cc36 Parents: a133364 Author: Alena Prokharchyk <[email protected]> Authored: Tue Jul 17 17:41:07 2012 -0700 Committer: Alena Prokharchyk <[email protected]> Committed: Tue Jul 17 17:46:17 2012 -0700 ---------------------------------------------------------------------- api/src/com/cloud/offering/NetworkOffering.java | 1 + .../configuration/ConfigurationManagerImpl.java | 74 ++++++++------- .../src/com/cloud/network/NetworkManagerImpl.java | 13 +++- .../com/cloud/server/ConfigurationServerImpl.java | 33 ++++++- 4 files changed, 84 insertions(+), 37 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6ad2388c/api/src/com/cloud/offering/NetworkOffering.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/offering/NetworkOffering.java b/api/src/com/cloud/offering/NetworkOffering.java index 5a30f51..a514ccf 100644 --- a/api/src/com/cloud/offering/NetworkOffering.java +++ b/api/src/com/cloud/offering/NetworkOffering.java @@ -48,6 +48,7 @@ public interface NetworkOffering { public final static String DefaultIsolatedNetworkOffering = "DefaultIsolatedNetworkOffering"; public final static String DefaultSharedEIPandELBNetworkOffering = "DefaultSharedNetscalerEIPandELBNetworkOffering"; public final static String DefaultIsolatedNetworkOfferingForVpcNetworks = "DefaultIsolatedNetworkOfferingForVpcNetworks"; + public final static String DefaultIsolatedNetworkOfferingForVpcNetworksNoLB = "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB"; long getId(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6ad2388c/server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index dd3f9e8..3a44b55 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3178,49 +3178,53 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura } } - Map<Capability, String> lbServiceCapabilityMap = serviceCapabilityMap.get(Service.Lb); + boolean dedicatedLb = false; boolean elasticLb = false; - if ((lbServiceCapabilityMap != null) && (!lbServiceCapabilityMap.isEmpty())) { - String isolationCapability = lbServiceCapabilityMap.get(Capability.SupportedLBIsolation); - if (isolationCapability != null) { - _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.Lb), Service.Lb, Capability.SupportedLBIsolation, isolationCapability); - dedicatedLb = isolationCapability.contains("dedicated"); - } else { - dedicatedLb = true; - } - - String param = lbServiceCapabilityMap.get(Capability.ElasticLb); - if (param != null) { - elasticLb = param.contains("true"); - } - } - - Map<Capability, String> sourceNatServiceCapabilityMap = serviceCapabilityMap.get(Service.SourceNat); boolean sharedSourceNat = false; boolean redundantRouter = false; - if ((sourceNatServiceCapabilityMap != null) && (!sourceNatServiceCapabilityMap.isEmpty())) { - String sourceNatType = sourceNatServiceCapabilityMap.get(Capability.SupportedSourceNatTypes); - if (sourceNatType != null) { - _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.SourceNat), Service.SourceNat, - Capability.SupportedSourceNatTypes, sourceNatType); - sharedSourceNat = sourceNatType.contains("perzone"); + boolean elasticIp = false; + if (serviceCapabilityMap != null && !serviceCapabilityMap.isEmpty()) { + Map<Capability, String> lbServiceCapabilityMap = serviceCapabilityMap.get(Service.Lb); + + if ((lbServiceCapabilityMap != null) && (!lbServiceCapabilityMap.isEmpty())) { + String isolationCapability = lbServiceCapabilityMap.get(Capability.SupportedLBIsolation); + if (isolationCapability != null) { + _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.Lb), Service.Lb, Capability.SupportedLBIsolation, isolationCapability); + dedicatedLb = isolationCapability.contains("dedicated"); + } else { + dedicatedLb = true; + } + + String param = lbServiceCapabilityMap.get(Capability.ElasticLb); + if (param != null) { + elasticLb = param.contains("true"); + } } - String param = sourceNatServiceCapabilityMap.get(Capability.RedundantRouter); - if (param != null) { - _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.SourceNat), Service.SourceNat, - Capability.RedundantRouter, param); - redundantRouter = param.contains("true"); + Map<Capability, String> sourceNatServiceCapabilityMap = serviceCapabilityMap.get(Service.SourceNat); + if ((sourceNatServiceCapabilityMap != null) && (!sourceNatServiceCapabilityMap.isEmpty())) { + String sourceNatType = sourceNatServiceCapabilityMap.get(Capability.SupportedSourceNatTypes); + if (sourceNatType != null) { + _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.SourceNat), Service.SourceNat, + Capability.SupportedSourceNatTypes, sourceNatType); + sharedSourceNat = sourceNatType.contains("perzone"); + } + + String param = sourceNatServiceCapabilityMap.get(Capability.RedundantRouter); + if (param != null) { + _networkMgr.checkCapabilityForProvider(serviceProviderMap.get(Service.SourceNat), Service.SourceNat, + Capability.RedundantRouter, param); + redundantRouter = param.contains("true"); + } } - } - Map<Capability, String> staticNatServiceCapabilityMap = serviceCapabilityMap.get(Service.StaticNat); - boolean elasticIp = false; - if ((staticNatServiceCapabilityMap != null) && (!staticNatServiceCapabilityMap.isEmpty())) { - String param = staticNatServiceCapabilityMap.get(Capability.ElasticIp); - if (param != null) { - elasticIp = param.contains("true"); + Map<Capability, String> staticNatServiceCapabilityMap = serviceCapabilityMap.get(Service.StaticNat); + if ((staticNatServiceCapabilityMap != null) && (!staticNatServiceCapabilityMap.isEmpty())) { + String param = staticNatServiceCapabilityMap.get(Capability.ElasticIp); + if (param != null) { + elasticIp = param.contains("true"); + } } } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6ad2388c/server/src/com/cloud/network/NetworkManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 4514b3f..f0e49ab 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1461,7 +1461,18 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks) == null) { offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks, "Offering for Isolated VPC networks with Source Nat service enabled", TrafficType.Guest, - null, false, Availability.Required, null, defaultVPCOffProviders, + null, false, Availability.Optional, null, defaultVPCOffProviders, + true, Network.GuestType.Isolated, false, null, false, null, false); + offering.setState(NetworkOffering.State.Enabled); + _networkOfferingDao.update(offering.getId(), offering); + } + + if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksNoLB) == null) { + //remove LB service + defaultVPCOffProviders.remove(Service.Lb); + offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksNoLB, + "Offering for Isolated VPC networks with Source Nat service enabled and LB service disabled", TrafficType.Guest, + null, false, Availability.Optional, null, defaultVPCOffProviders, true, Network.GuestType.Isolated, false, null, false, null, false); offering.setState(NetworkOffering.State.Enabled); _networkOfferingDao.update(offering.getId(), offering); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/6ad2388c/server/src/com/cloud/server/ConfigurationServerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java index 27e96b9..a0d10b6 100755 --- a/server/src/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/com/cloud/server/ConfigurationServerImpl.java @@ -1020,7 +1020,7 @@ public class ConfigurationServerImpl implements ConfigurationServer { NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks, "Offering for Isolated Vpc networks with Source Nat service enabled", TrafficType.Guest, - false, false, null, null, true, Availability.Required, + false, false, null, null, true, Availability.Optional, null, Network.GuestType.Isolated, false, false); defaultNetworkOfferingForVpcNetworks.setState(NetworkOffering.State.Enabled); @@ -1045,6 +1045,37 @@ public class ConfigurationServerImpl implements ConfigurationServer { s_logger.trace("Added service for the network offering: " + offService); } + // Offering #7 + NetworkOfferingVO defaultNetworkOfferingForVpcNetworksNoLB = new NetworkOfferingVO( + NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksNoLB, + "Offering for Isolated Vpc networks with Source Nat service enabled and LB service Disabled", + TrafficType.Guest, + false, false, null, null, true, Availability.Optional, + null, Network.GuestType.Isolated, false, false); + + defaultNetworkOfferingForVpcNetworksNoLB.setState(NetworkOffering.State.Enabled); + defaultNetworkOfferingForVpcNetworksNoLB = _networkOfferingDao.persistDefaultNetworkOffering(defaultNetworkOfferingForVpcNetworksNoLB); + + Map<Network.Service, Network.Provider> defaultVpcNetworkOfferingProvidersNoLB = new HashMap<Network.Service, Network.Provider>(); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.Dhcp, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.Dns, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.UserData, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.NetworkACL, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.Gateway, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.SourceNat, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.StaticNat, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.PortForwarding, Provider.VPCVirtualRouter); + defaultVpcNetworkOfferingProvidersNoLB.put(Service.Vpn, Provider.VPCVirtualRouter); + + for (Service service : defaultVpcNetworkOfferingProvidersNoLB.keySet()) { + NetworkOfferingServiceMapVO offService = new NetworkOfferingServiceMapVO + (defaultNetworkOfferingForVpcNetworksNoLB.getId(), service, defaultVpcNetworkOfferingProvidersNoLB.get(service)); + _ntwkOfferingServiceMapDao.persist(offService); + s_logger.trace("Added service for the network offering: " + offService); + } + + + txn.commit(); }
