mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Network Offering: Allow enabling network and vpc offering during creation (#4564)
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
This commit is contained in:
		
							parent
							
								
									543f9827ff
								
							
						
					
					
						commit
						b6fe9f99eb
					
				| @ -35,7 +35,7 @@ public interface VpcProvisioningService { | |||||||
|     VpcOffering createVpcOffering(String name, String displayText, List<String> supportedServices, |     VpcOffering createVpcOffering(String name, String displayText, List<String> supportedServices, | ||||||
|                                   Map<String, List<String>> serviceProviders, |                                   Map<String, List<String>> serviceProviders, | ||||||
|                                   Map serviceCapabilitystList, |                                   Map serviceCapabilitystList, | ||||||
|                                   Long serviceOfferingId, List<Long> domainIds, List<Long> zoneIds); |                                   Long serviceOfferingId, List<Long> domainIds, List<Long> zoneIds, VpcOffering.State state); | ||||||
| 
 | 
 | ||||||
|     Pair<List<? extends VpcOffering>,Integer> listVpcOfferings(ListVPCOfferingsCmd cmd); |     Pair<List<? extends VpcOffering>,Integer> listVpcOfferings(ListVPCOfferingsCmd cmd); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -158,6 +158,12 @@ public class CreateNetworkOfferingCmd extends BaseCmd { | |||||||
|             since = "4.13") |             since = "4.13") | ||||||
|     private List<Long> zoneIds; |     private List<Long> zoneIds; | ||||||
| 
 | 
 | ||||||
|  |     @Parameter(name = ApiConstants.ENABLE, | ||||||
|  |             type = CommandType.BOOLEAN, | ||||||
|  |             description = "set to true if the offering is to be enabled during creation. Default is false", | ||||||
|  |             since = "4.16") | ||||||
|  |     private Boolean enable; | ||||||
|  | 
 | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
|     /////////////////// Accessors /////////////////////// |     /////////////////// Accessors /////////////////////// | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
| @ -337,6 +343,13 @@ public class CreateNetworkOfferingCmd extends BaseCmd { | |||||||
|         return zoneIds; |         return zoneIds; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public Boolean getEnable() { | ||||||
|  |         if (enable != null) { | ||||||
|  |             return enable; | ||||||
|  |         } | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
|     /////////////// API Implementation/////////////////// |     /////////////// API Implementation/////////////////// | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
|  | |||||||
| @ -95,6 +95,12 @@ public class CreateVPCOfferingCmd extends BaseAsyncCreateCmd { | |||||||
|             since = "4.13") |             since = "4.13") | ||||||
|     private List<Long> zoneIds; |     private List<Long> zoneIds; | ||||||
| 
 | 
 | ||||||
|  |     @Parameter(name = ApiConstants.ENABLE, | ||||||
|  |             type = CommandType.BOOLEAN, | ||||||
|  |             description = "set to true if the offering is to be enabled during creation. Default is false", | ||||||
|  |             since = "4.16") | ||||||
|  |     private Boolean enable; | ||||||
|  | 
 | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
|     /////////////////// Accessors /////////////////////// |     /////////////////// Accessors /////////////////////// | ||||||
|     ///////////////////////////////////////////////////// |     ///////////////////////////////////////////////////// | ||||||
| @ -165,6 +171,13 @@ public class CreateVPCOfferingCmd extends BaseAsyncCreateCmd { | |||||||
|         return zoneIds; |         return zoneIds; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public Boolean getEnable() { | ||||||
|  |         if (enable != null) { | ||||||
|  |             return enable; | ||||||
|  |         } | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void create() throws ResourceAllocationException { |     public void create() throws ResourceAllocationException { | ||||||
|         VpcOffering vpcOff = _vpcProvSvc.createVpcOffering(this); |         VpcOffering vpcOff = _vpcProvSvc.createVpcOffering(this); | ||||||
|  | |||||||
| @ -214,7 +214,7 @@ public interface ConfigurationManager { | |||||||
|     NetworkOfferingVO createNetworkOffering(String name, String displayText, TrafficType trafficType, String tags, boolean specifyVlan, Availability availability, |     NetworkOfferingVO createNetworkOffering(String name, String displayText, TrafficType trafficType, String tags, boolean specifyVlan, Availability availability, | ||||||
|                                             Integer networkRate, Map<Service, Set<Provider>> serviceProviderMap, boolean isDefault, Network.GuestType type, boolean systemOnly, Long serviceOfferingId, |                                             Integer networkRate, Map<Service, Set<Provider>> serviceProviderMap, boolean isDefault, Network.GuestType type, boolean systemOnly, Long serviceOfferingId, | ||||||
|                                             boolean conserveMode, Map<Service, Map<Capability, String>> serviceCapabilityMap, boolean specifyIpRanges, boolean isPersistent, |                                             boolean conserveMode, Map<Service, Map<Capability, String>> serviceCapabilityMap, boolean specifyIpRanges, boolean isPersistent, | ||||||
|                                             Map<NetworkOffering.Detail, String> details, boolean egressDefaultPolicy, Integer maxconn, boolean enableKeepAlive, Boolean forVpc, List<Long> domainIds, List<Long> zoneIds); |                                             Map<NetworkOffering.Detail, String> details, boolean egressDefaultPolicy, Integer maxconn, boolean enableKeepAlive, Boolean forVpc, List<Long> domainIds, List<Long> zoneIds, boolean enableOffering); | ||||||
| 
 | 
 | ||||||
|     Vlan createVlanAndPublicIpRange(long zoneId, long networkId, long physicalNetworkId, boolean forVirtualNetwork, boolean forSystemVms, Long podId, String startIP, String endIP, |     Vlan createVlanAndPublicIpRange(long zoneId, long networkId, long physicalNetworkId, boolean forVirtualNetwork, boolean forSystemVms, Long podId, String startIP, String endIP, | ||||||
|         String vlanGateway, String vlanNetmask, String vlanId, boolean bypassVlanOverlapCheck, Domain domain, Account vlanOwner, String startIPv6, String endIPv6, String vlanIp6Gateway, String vlanIp6Cidr) |         String vlanGateway, String vlanNetmask, String vlanId, boolean bypassVlanOverlapCheck, Domain domain, Account vlanOwner, String startIPv6, String endIPv6, String vlanIp6Gateway, String vlanIp6Cidr) | ||||||
|  | |||||||
| @ -461,27 +461,21 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra | |||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.QuickCloudNoServices) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.QuickCloudNoServices) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.QuickCloudNoServices, "Offering for QuickCloud with no services", TrafficType.Guest, null, true, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.QuickCloudNoServices, "Offering for QuickCloud with no services", TrafficType.Guest, null, true, | ||||||
|                             Availability.Optional, null, new HashMap<Network.Service, Set<Network.Provider>>(), true, Network.GuestType.Shared, false, null, true, null, true, |                             Availability.Optional, null, new HashMap<Network.Service, Set<Network.Provider>>(), true, Network.GuestType.Shared, false, null, true, null, true, | ||||||
|                             false, null, false, null, true, false, null, null); |                             false, null, false, null, true, false, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#2 - SG enabled network offering |                 //#2 - SG enabled network offering | ||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedNetworkOfferingWithSGService) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedNetworkOfferingWithSGService) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedNetworkOfferingWithSGService, "Offering for Shared Security group enabled networks", |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedNetworkOfferingWithSGService, "Offering for Shared Security group enabled networks", | ||||||
|                             TrafficType.Guest, null, true, Availability.Optional, null, defaultSharedNetworkOfferingProviders, true, Network.GuestType.Shared, false, null, true, |                             TrafficType.Guest, null, true, Availability.Optional, null, defaultSharedNetworkOfferingProviders, true, Network.GuestType.Shared, false, null, true, | ||||||
|                             null, true, false, null, false, null, true, false, null, null); |                             null, true, false, null, false, null, true, false, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#3 - shared network offering with no SG service |                 //#3 - shared network offering with no SG service | ||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedNetworkOffering) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedNetworkOffering) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedNetworkOffering, "Offering for Shared networks", TrafficType.Guest, null, true, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedNetworkOffering, "Offering for Shared networks", TrafficType.Guest, null, true, | ||||||
|                             Availability.Optional, null, defaultSharedNetworkOfferingProviders, true, Network.GuestType.Shared, false, null, true, null, true, false, null, false, |                             Availability.Optional, null, defaultSharedNetworkOfferingProviders, true, Network.GuestType.Shared, false, null, true, null, true, false, null, false, | ||||||
|                             null, true, false, null, null); |                             null, true, false, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#4 - default isolated offering with Source nat service |                 //#4 - default isolated offering with Source nat service | ||||||
| @ -489,19 +483,14 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra | |||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingWithSourceNatService, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingWithSourceNatService, | ||||||
|                             "Offering for Isolated networks with Source Nat service enabled", TrafficType.Guest, null, false, Availability.Required, null, |                             "Offering for Isolated networks with Source Nat service enabled", TrafficType.Guest, null, false, Availability.Required, null, | ||||||
|                             defaultIsolatedSourceNatEnabledNetworkOfferingProviders, true, Network.GuestType.Isolated, false, null, true, null, false, false, null, false, null, |                             defaultIsolatedSourceNatEnabledNetworkOfferingProviders, true, Network.GuestType.Isolated, false, null, true, null, false, false, null, false, null, | ||||||
|                             true, false, null, null); |                             true, false, null, null, true); | ||||||
| 
 |  | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#5 - default vpc offering with LB service |                 //#5 - default vpc offering with LB service | ||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks, | ||||||
|                             "Offering for Isolated VPC networks with Source Nat service enabled", TrafficType.Guest, null, false, Availability.Optional, null, |                             "Offering for Isolated VPC networks with Source Nat service enabled", TrafficType.Guest, null, false, Availability.Optional, null, | ||||||
|                             defaultVPCOffProviders, true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null); |                             defaultVPCOffProviders, true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#6 - default vpc offering with no LB service |                 //#6 - default vpc offering with no LB service | ||||||
| @ -510,18 +499,14 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra | |||||||
|                     defaultVPCOffProviders.remove(Service.Lb); |                     defaultVPCOffProviders.remove(Service.Lb); | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksNoLB, |                     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, |                             "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, false, null, false, null, true, true, null, null); |                             null, defaultVPCOffProviders, true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#7 - isolated offering with source nat disabled |                 //#7 - isolated offering with source nat disabled | ||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOffering) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOffering) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOffering, "Offering for Isolated networks with no Source Nat service", |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOffering, "Offering for Isolated networks with no Source Nat service", | ||||||
|                             TrafficType.Guest, null, true, Availability.Optional, null, defaultIsolatedNetworkOfferingProviders, true, Network.GuestType.Isolated, false, null, |                             TrafficType.Guest, null, true, Availability.Optional, null, defaultIsolatedNetworkOfferingProviders, true, Network.GuestType.Isolated, false, null, | ||||||
|                             true, null, true, false, null, false, null, true, false, null, null); |                             true, null, true, false, null, false, null, true, false, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |  | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 //#8 - network offering with internal lb service |                 //#8 - network offering with internal lb service | ||||||
| @ -543,8 +528,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra | |||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB, | ||||||
|                             "Offering for Isolated VPC networks with Internal Lb support", TrafficType.Guest, null, false, Availability.Optional, null, internalLbOffProviders, |                             "Offering for Isolated VPC networks with Internal Lb support", TrafficType.Guest, null, false, Availability.Optional, null, internalLbOffProviders, | ||||||
|                             true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null); |                             true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     offering.setInternalLb(true); |                     offering.setInternalLb(true); | ||||||
|                     offering.setPublicLb(false); |                     offering.setPublicLb(false); | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |                     _networkOfferingDao.update(offering.getId(), offering); | ||||||
| @ -575,8 +559,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra | |||||||
|                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedEIPandELBNetworkOffering) == null) { |                 if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedEIPandELBNetworkOffering) == null) { | ||||||
|                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedEIPandELBNetworkOffering, |                     offering = _configMgr.createNetworkOffering(NetworkOffering.DefaultSharedEIPandELBNetworkOffering, | ||||||
|                             "Offering for Shared networks with Elastic IP and Elastic LB capabilities", TrafficType.Guest, null, true, Availability.Optional, null, |                             "Offering for Shared networks with Elastic IP and Elastic LB capabilities", TrafficType.Guest, null, true, Availability.Optional, null, | ||||||
|                             netscalerServiceProviders, true, Network.GuestType.Shared, false, null, true, serviceCapabilityMap, true, false, null, false, null, true, false, null, null); |                             netscalerServiceProviders, true, Network.GuestType.Shared, false, null, true, serviceCapabilityMap, true, false, null, false, null, true, false, null, null, true); | ||||||
|                     offering.setState(NetworkOffering.State.Enabled); |  | ||||||
|                     offering.setDedicatedLB(false); |                     offering.setDedicatedLB(false); | ||||||
|                     _networkOfferingDao.update(offering.getId(), offering); |                     _networkOfferingDao.update(offering.getId(), offering); | ||||||
|                 } |                 } | ||||||
|  | |||||||
| @ -219,9 +219,7 @@ public class ContrailManagerImpl extends ManagerBase implements ContrailManager | |||||||
|         ConfigurationManager configMgr = (ConfigurationManager) _configService; |         ConfigurationManager configMgr = (ConfigurationManager) _configService; | ||||||
|         NetworkOfferingVO voffer = configMgr.createNetworkOffering(offeringName, offeringDisplayText, |         NetworkOfferingVO voffer = configMgr.createNetworkOffering(offeringName, offeringDisplayText, | ||||||
|                 TrafficType.Public, null, true, Availability.Optional, null, serviceProviderMap, true, |                 TrafficType.Public, null, true, Availability.Optional, null, serviceProviderMap, true, | ||||||
|                 Network.GuestType.Shared, false, null, false, null, true, false, null, true, null, false, false, null, null); |                 Network.GuestType.Shared, false, null, false, null, true, false, null, true, null, false, false, null, null, true); | ||||||
| 
 |  | ||||||
|         voffer.setState(NetworkOffering.State.Enabled); |  | ||||||
|         long id = voffer.getId(); |         long id = voffer.getId(); | ||||||
|         _networkOfferingDao.update(id, voffer); |         _networkOfferingDao.update(id, voffer); | ||||||
|         return _networkOfferingDao.findById(id); |         return _networkOfferingDao.findById(id); | ||||||
| @ -256,9 +254,7 @@ public class ContrailManagerImpl extends ManagerBase implements ContrailManager | |||||||
|         ConfigurationManager configMgr = (ConfigurationManager)_configService; |         ConfigurationManager configMgr = (ConfigurationManager)_configService; | ||||||
|         NetworkOfferingVO voffer = |         NetworkOfferingVO voffer = | ||||||
|                 configMgr.createNetworkOffering(offeringName, offeringDisplayText, TrafficType.Guest, null, false, Availability.Optional, null, serviceProviderMap, true, |                 configMgr.createNetworkOffering(offeringName, offeringDisplayText, TrafficType.Guest, null, false, Availability.Optional, null, serviceProviderMap, true, | ||||||
|                         Network.GuestType.Isolated, false, null, false, null, false, true, null, true, null, false, offeringName.equals(vpcRouterOfferingName), null, null); |                         Network.GuestType.Isolated, false, null, false, null, false, true, null, true, null, false, offeringName.equals(vpcRouterOfferingName), null, null, true); | ||||||
| 
 |  | ||||||
|         voffer.setState(NetworkOffering.State.Enabled); |  | ||||||
|         if (offeringName.equals(vpcRouterOfferingName)) { |         if (offeringName.equals(vpcRouterOfferingName)) { | ||||||
|             voffer.setInternalLb(true); |             voffer.setInternalLb(true); | ||||||
|         } |         } | ||||||
| @ -299,8 +295,7 @@ public class ContrailManagerImpl extends ManagerBase implements ContrailManager | |||||||
|             } |             } | ||||||
|             serviceProviderMap.put(svc, providerSet); |             serviceProviderMap.put(svc, providerSet); | ||||||
|         } |         } | ||||||
|         vpcOffer = _vpcProvSvc.createVpcOffering(juniperVPCOfferingName, juniperVPCOfferingDisplayText, services, serviceProviderMap, null, null, null, null); |         vpcOffer = _vpcProvSvc.createVpcOffering(juniperVPCOfferingName, juniperVPCOfferingDisplayText, services, serviceProviderMap, null, null, null, null, VpcOffering.State.Enabled); | ||||||
|         ((VpcOfferingVO)vpcOffer).setState(VpcOffering.State.Enabled); |  | ||||||
|         long id = vpcOffer.getId(); |         long id = vpcOffer.getId(); | ||||||
|         _vpcOffDao.update(id, (VpcOfferingVO)vpcOffer); |         _vpcOffDao.update(id, (VpcOfferingVO)vpcOffer); | ||||||
|         return _vpcOffDao.findById(id); |         return _vpcOffDao.findById(id); | ||||||
|  | |||||||
| @ -4759,7 +4759,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati | |||||||
|         String servicePackageuuid = cmd.getServicePackageId(); |         String servicePackageuuid = cmd.getServicePackageId(); | ||||||
|         final List<Long> domainIds = cmd.getDomainIds(); |         final List<Long> domainIds = cmd.getDomainIds(); | ||||||
|         final List<Long> zoneIds = cmd.getZoneIds(); |         final List<Long> zoneIds = cmd.getZoneIds(); | ||||||
| 
 |         final boolean enable = cmd.getEnable(); | ||||||
|         // check if valid domain |         // check if valid domain | ||||||
|         if (CollectionUtils.isNotEmpty(domainIds)) { |         if (CollectionUtils.isNotEmpty(domainIds)) { | ||||||
|             for (final Long domainId: domainIds) { |             for (final Long domainId: domainIds) { | ||||||
| @ -5032,8 +5032,8 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati | |||||||
|             forVpc = false; |             forVpc = false; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         final NetworkOffering offering = createNetworkOffering(name, displayText, trafficType, tags, specifyVlan, availability, networkRate, serviceProviderMap, false, guestType, false, |         final NetworkOfferingVO offering = createNetworkOffering(name, displayText, trafficType, tags, specifyVlan, availability, networkRate, serviceProviderMap, false, guestType, false, | ||||||
|                 serviceOfferingId, conserveMode, serviceCapabilityMap, specifyIpRanges, isPersistent, details, egressDefaultPolicy, maxconn, enableKeepAlive, forVpc, domainIds, zoneIds); |                 serviceOfferingId, conserveMode, serviceCapabilityMap, specifyIpRanges, isPersistent, details, egressDefaultPolicy, maxconn, enableKeepAlive, forVpc, domainIds, zoneIds, enable); | ||||||
|         CallContext.current().setEventDetails(" Id: " + offering.getId() + " Name: " + name); |         CallContext.current().setEventDetails(" Id: " + offering.getId() + " Name: " + name); | ||||||
|         return offering; |         return offering; | ||||||
|     } |     } | ||||||
| @ -5171,7 +5171,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati | |||||||
|             final Long serviceOfferingId, |             final Long serviceOfferingId, | ||||||
|             final boolean conserveMode, final Map<Service, Map<Capability, String>> serviceCapabilityMap, final boolean specifyIpRanges, final boolean isPersistent, |             final boolean conserveMode, final Map<Service, Map<Capability, String>> serviceCapabilityMap, final boolean specifyIpRanges, final boolean isPersistent, | ||||||
|             final Map<Detail, String> details, final boolean egressDefaultPolicy, final Integer maxconn, final boolean enableKeepAlive, Boolean forVpc, |             final Map<Detail, String> details, final boolean egressDefaultPolicy, final Integer maxconn, final boolean enableKeepAlive, Boolean forVpc, | ||||||
|             final List<Long> domainIds, final List<Long> zoneIds) { |             final List<Long> domainIds, final List<Long> zoneIds, final boolean enableOffering) { | ||||||
| 
 | 
 | ||||||
|         String servicePackageUuid; |         String servicePackageUuid; | ||||||
|         String spDescription = null; |         String spDescription = null; | ||||||
| @ -5341,6 +5341,10 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati | |||||||
|             offeringFinal.setServiceOfferingId(serviceOfferingId); |             offeringFinal.setServiceOfferingId(serviceOfferingId); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         if (enableOffering) { | ||||||
|  |             offeringFinal.setState(NetworkOffering.State.Enabled); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         //Set Service package id |         //Set Service package id | ||||||
|         offeringFinal.setServicePackage(servicePackageUuid); |         offeringFinal.setServicePackage(servicePackageUuid); | ||||||
|         // validate the details |         // validate the details | ||||||
|  | |||||||
| @ -369,7 +369,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis | |||||||
|         final Long serviceOfferingId = cmd.getServiceOfferingId(); |         final Long serviceOfferingId = cmd.getServiceOfferingId(); | ||||||
|         final List<Long> domainIds = cmd.getDomainIds(); |         final List<Long> domainIds = cmd.getDomainIds(); | ||||||
|         final List<Long> zoneIds = cmd.getZoneIds(); |         final List<Long> zoneIds = cmd.getZoneIds(); | ||||||
| 
 |         final boolean enable = cmd.getEnable(); | ||||||
|         // check if valid domain |         // check if valid domain | ||||||
|         if (CollectionUtils.isNotEmpty(cmd.getDomainIds())) { |         if (CollectionUtils.isNotEmpty(cmd.getDomainIds())) { | ||||||
|             for (final Long domainId: cmd.getDomainIds()) { |             for (final Long domainId: cmd.getDomainIds()) { | ||||||
| @ -389,13 +389,13 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis | |||||||
| 
 | 
 | ||||||
|         return createVpcOffering(vpcOfferingName, displayText, supportedServices, |         return createVpcOffering(vpcOfferingName, displayText, supportedServices, | ||||||
|                 serviceProviderList, serviceCapabilitystList, serviceOfferingId, |                 serviceProviderList, serviceCapabilitystList, serviceOfferingId, | ||||||
|                 domainIds, zoneIds); |                 domainIds, zoneIds, (enable ? State.Enabled : State.Disabled)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     @ActionEvent(eventType = EventTypes.EVENT_VPC_OFFERING_CREATE, eventDescription = "creating vpc offering", create = true) |     @ActionEvent(eventType = EventTypes.EVENT_VPC_OFFERING_CREATE, eventDescription = "creating vpc offering", create = true) | ||||||
|     public VpcOffering createVpcOffering(final String name, final String displayText, final List<String> supportedServices, final Map<String, List<String>> serviceProviders, |     public VpcOffering createVpcOffering(final String name, final String displayText, final List<String> supportedServices, final Map<String, List<String>> serviceProviders, | ||||||
|             final Map serviceCapabilitystList, final Long serviceOfferingId, List<Long> domainIds, List<Long> zoneIds) { |             final Map serviceCapabilitystList, final Long serviceOfferingId, List<Long> domainIds, List<Long> zoneIds, State state) { | ||||||
| 
 | 
 | ||||||
|         // Filter child domains when both parent and child domains are present |         // Filter child domains when both parent and child domains are present | ||||||
|         List<Long> filteredDomainIds = filterChildSubDomains(domainIds); |         List<Long> filteredDomainIds = filterChildSubDomains(domainIds); | ||||||
| @ -475,7 +475,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis | |||||||
|         final boolean supportsDistributedRouter = isVpcOfferingSupportsDistributedRouter(serviceCapabilitystList); |         final boolean supportsDistributedRouter = isVpcOfferingSupportsDistributedRouter(serviceCapabilitystList); | ||||||
|         final boolean offersRegionLevelVPC = isVpcOfferingForRegionLevelVpc(serviceCapabilitystList); |         final boolean offersRegionLevelVPC = isVpcOfferingForRegionLevelVpc(serviceCapabilitystList); | ||||||
|         final boolean redundantRouter = isVpcOfferingRedundantRouter(serviceCapabilitystList); |         final boolean redundantRouter = isVpcOfferingRedundantRouter(serviceCapabilitystList); | ||||||
|         final VpcOffering offering = createVpcOffering(name, displayText, svcProviderMap, false, null, serviceOfferingId, supportsDistributedRouter, offersRegionLevelVPC, |         final VpcOfferingVO offering = createVpcOffering(name, displayText, svcProviderMap, false, state, serviceOfferingId, supportsDistributedRouter, offersRegionLevelVPC, | ||||||
|                 redundantRouter); |                 redundantRouter); | ||||||
| 
 | 
 | ||||||
|         if (offering != null) { |         if (offering != null) { | ||||||
| @ -498,13 +498,13 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @DB |     @DB | ||||||
|     protected VpcOffering createVpcOffering(final String name, final String displayText, final Map<Network.Service, Set<Network.Provider>> svcProviderMap, |     protected VpcOfferingVO createVpcOffering(final String name, final String displayText, final Map<Network.Service, Set<Network.Provider>> svcProviderMap, | ||||||
|             final boolean isDefault, final State state, final Long serviceOfferingId, final boolean supportsDistributedRouter, final boolean offersRegionLevelVPC, |             final boolean isDefault, final State state, final Long serviceOfferingId, final boolean supportsDistributedRouter, final boolean offersRegionLevelVPC, | ||||||
|             final boolean redundantRouter) { |             final boolean redundantRouter) { | ||||||
| 
 | 
 | ||||||
|         return Transaction.execute(new TransactionCallback<VpcOffering>() { |         return Transaction.execute(new TransactionCallback<VpcOfferingVO>() { | ||||||
|             @Override |             @Override | ||||||
|             public VpcOffering doInTransaction(final TransactionStatus status) { |             public VpcOfferingVO doInTransaction(final TransactionStatus status) { | ||||||
|                 // create vpc offering object |                 // create vpc offering object | ||||||
|                 VpcOfferingVO offering = new VpcOfferingVO(name, displayText, isDefault, serviceOfferingId, supportsDistributedRouter, offersRegionLevelVPC, redundantRouter); |                 VpcOfferingVO offering = new VpcOfferingVO(name, displayText, isDefault, serviceOfferingId, supportsDistributedRouter, offersRegionLevelVPC, redundantRouter); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -486,7 +486,7 @@ public class MockConfigurationManagerImpl extends ManagerBase implements Configu | |||||||
|     public NetworkOfferingVO createNetworkOffering(String name, String displayText, TrafficType trafficType, String tags, boolean specifyVlan, Availability availability, |     public NetworkOfferingVO createNetworkOffering(String name, String displayText, TrafficType trafficType, String tags, boolean specifyVlan, Availability availability, | ||||||
|                                                    Integer networkRate, Map<Service, Set<Provider>> serviceProviderMap, boolean isDefault, GuestType type, boolean systemOnly, Long serviceOfferingId, |                                                    Integer networkRate, Map<Service, Set<Provider>> serviceProviderMap, boolean isDefault, GuestType type, boolean systemOnly, Long serviceOfferingId, | ||||||
|                                                    boolean conserveMode, Map<Service, Map<Capability, String>> serviceCapabilityMap, boolean specifyIpRanges, boolean isPersistent, |                                                    boolean conserveMode, Map<Service, Map<Capability, String>> serviceCapabilityMap, boolean specifyIpRanges, boolean isPersistent, | ||||||
|                                                    Map<NetworkOffering.Detail, String> details, boolean egressDefaultPolicy, Integer maxconn, boolean enableKeepAlive, Boolean forVpc, List<Long> domainIds, List<Long> zoneIds) { |                                                    Map<NetworkOffering.Detail, String> details, boolean egressDefaultPolicy, Integer maxconn, boolean enableKeepAlive, Boolean forVpc, List<Long> domainIds, List<Long> zoneIds, boolean enableOffering) { | ||||||
|         // TODO Auto-generated method stub |         // TODO Auto-generated method stub | ||||||
|         return null; |         return null; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -128,7 +128,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|     public void createSharedNtwkOffWithVlan() { |     public void createSharedNtwkOffWithVlan() { | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, false, |             configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, false, | ||||||
|                 null, false, null, true, false, null, false, null, true, false, null, null); |                 null, false, null, true, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNotNull("Shared network offering with specifyVlan=true failed to create ", off); |         assertNotNull("Shared network offering with specifyVlan=true failed to create ", off); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -136,7 +136,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|     public void createSharedNtwkOffWithNoVlan() { |     public void createSharedNtwkOffWithNoVlan() { | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|                 configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, false, Availability.Optional, 200, null, false, Network.GuestType.Shared, |                 configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, false, Availability.Optional, 200, null, false, Network.GuestType.Shared, | ||||||
|                     false, null, false, null, true, false, null, false, null, true, false, null, null); |                     false, null, false, null, true, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNull("Shared network offering with specifyVlan=false was created", off); |         assertNull("Shared network offering with specifyVlan=false was created", off); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -144,7 +144,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|     public void createSharedNtwkOffWithSpecifyIpRanges() { |     public void createSharedNtwkOffWithSpecifyIpRanges() { | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, false, |             configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, false, | ||||||
|                 null, false, null, true, false, null, false, null, true, false, null, null); |                 null, false, null, true, false, null, false, null, true, false, null, null, false); | ||||||
| 
 | 
 | ||||||
|         assertNotNull("Shared network offering with specifyIpRanges=true failed to create ", off); |         assertNotNull("Shared network offering with specifyIpRanges=true failed to create ", off); | ||||||
|     } |     } | ||||||
| @ -153,7 +153,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|     public void createSharedNtwkOffWithoutSpecifyIpRanges() { |     public void createSharedNtwkOffWithoutSpecifyIpRanges() { | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|                 configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, |                 configMgr.createNetworkOffering("shared", "shared", TrafficType.Guest, null, true, Availability.Optional, 200, null, false, Network.GuestType.Shared, | ||||||
|                         false, null, false, null, false, false, null, false, null, true, false, null, null); |                         false, null, false, null, false, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNull("Shared network offering with specifyIpRanges=false was created", off); |         assertNull("Shared network offering with specifyIpRanges=false was created", off); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -166,7 +166,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); |         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, |             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, false, null, null); |                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, false, null, null, false); | ||||||
| 
 | 
 | ||||||
|         assertNotNull("Isolated network offering with specifyIpRanges=false failed to create ", off); |         assertNotNull("Isolated network offering with specifyIpRanges=false failed to create ", off); | ||||||
|     } |     } | ||||||
| @ -179,7 +179,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); |         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, |             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, false, null, null); |                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNotNull("Isolated network offering with specifyVlan=true wasn't created", off); |         assertNotNull("Isolated network offering with specifyVlan=true wasn't created", off); | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| @ -192,7 +192,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); |         serviceProviderMap.put(Network.Service.SourceNat, vrProvider); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|                 configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, |                 configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                         Network.GuestType.Isolated, false, null, false, null, true, false, null, false, null, true, false, null, null); |                         Network.GuestType.Isolated, false, null, false, null, true, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNull("Isolated network offering with specifyIpRanges=true and source nat service enabled, was created", off); |         assertNull("Isolated network offering with specifyIpRanges=true and source nat service enabled, was created", off); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -203,7 +203,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         Set<Network.Provider> vrProvider = new HashSet<Network.Provider>(); |         Set<Network.Provider> vrProvider = new HashSet<Network.Provider>(); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, |             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, false, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                 Network.GuestType.Isolated, false, null, false, null, true, false, null, false, null, true, false, null, null); |                 Network.GuestType.Isolated, false, null, false, null, true, false, null, false, null, true, false, null, null, false); | ||||||
|         assertNotNull("Isolated network offering with specifyIpRanges=true and with no sourceNatService, failed to create", off); |         assertNotNull("Isolated network offering with specifyIpRanges=true and with no sourceNatService, failed to create", off); | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| @ -221,7 +221,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         serviceProviderMap.put(Network.Service.Lb, vrProvider); |         serviceProviderMap.put(Network.Service.Lb, vrProvider); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, |             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null); |                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null, false); | ||||||
|         // System.out.println("Creating Vpc Network Offering"); |         // System.out.println("Creating Vpc Network Offering"); | ||||||
|         assertNotNull("Vpc Isolated network offering with Vpc provider ", off); |         assertNotNull("Vpc Isolated network offering with Vpc provider ", off); | ||||||
|     } |     } | ||||||
| @ -241,7 +241,7 @@ public class CreateNetworkOfferingTest extends TestCase { | |||||||
|         serviceProviderMap.put(Network.Service.Lb, lbProvider); |         serviceProviderMap.put(Network.Service.Lb, lbProvider); | ||||||
|         NetworkOfferingVO off = |         NetworkOfferingVO off = | ||||||
|             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, |             configMgr.createNetworkOffering("isolated", "isolated", TrafficType.Guest, null, true, Availability.Optional, 200, serviceProviderMap, false, | ||||||
|                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null); |                 Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, null, null, false); | ||||||
|         // System.out.println("Creating Vpc Network Offering"); |         // System.out.println("Creating Vpc Network Offering"); | ||||||
|         assertNotNull("Vpc Isolated network offering with Vpc and Netscaler provider ", off); |         assertNotNull("Vpc Isolated network offering with Vpc and Netscaler provider ", off); | ||||||
|     } |     } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user