mirror of https://github.com/apache/cloudstack.git
bug 14173: add eip/elb network offering (if missing) during the management server start
status 14173: resolved fixed
This commit is contained in:
parent
7d93125993
commit
65e160b7e6
|
|
@ -3280,7 +3280,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura
|
|||
}
|
||||
|
||||
// specifyVlan should always be true for Shared network offerings and Isolated network offerings with
|
||||
// specifyIpRanges = true
|
||||
// specifyIpRanges = true
|
||||
if (!specifyVlan) {
|
||||
if (type == GuestType.Shared) {
|
||||
throw new InvalidParameterValueException("SpecifyVlan should be true if network offering's type is " + type);
|
||||
|
|
|
|||
|
|
@ -1256,6 +1256,36 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
|
|||
offering.setState(NetworkOffering.State.Enabled);
|
||||
_networkOfferingDao.update(offering.getId(), offering);
|
||||
}
|
||||
|
||||
Map<Network.Service, Set<Network.Provider>> netscalerServiceProviders = new HashMap<Network.Service, Set<Network.Provider>>();
|
||||
Set<Network.Provider> vrProvider = new HashSet<Network.Provider>();
|
||||
vrProvider.add(Provider.VirtualRouter);
|
||||
Set<Network.Provider> sgProvider = new HashSet<Network.Provider>();
|
||||
sgProvider.add(Provider.SecurityGroupProvider);
|
||||
Set<Network.Provider> nsProvider = new HashSet<Network.Provider>();
|
||||
nsProvider.add(Provider.Netscaler);
|
||||
netscalerServiceProviders.put(Service.Dhcp, vrProvider);
|
||||
netscalerServiceProviders.put(Service.Dns, vrProvider);
|
||||
netscalerServiceProviders.put(Service.UserData, vrProvider);
|
||||
netscalerServiceProviders.put(Service.SecurityGroup, sgProvider);
|
||||
netscalerServiceProviders.put(Service.StaticNat, nsProvider);
|
||||
netscalerServiceProviders.put(Service.Lb, nsProvider);
|
||||
|
||||
Map<Service, Map<Capability, String>> serviceCapabilityMap = new HashMap<Service, Map<Capability, String>>();
|
||||
Map<Capability, String> elb = new HashMap<Capability, String>();
|
||||
elb.put(Capability.ElasticLb, "true");
|
||||
Map<Capability, String> eip = new HashMap<Capability, String>();
|
||||
eip.put(Capability.ElasticIp, "true");
|
||||
serviceCapabilityMap.put(Service.Lb, elb);
|
||||
serviceCapabilityMap.put(Service.StaticNat, eip);
|
||||
|
||||
if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultSharedEIPandELBNetworkOffering) == null) {
|
||||
offering = _configMgr.createNetworkOffering(Account.ACCOUNT_ID_SYSTEM, NetworkOffering.DefaultSharedEIPandELBNetworkOffering, "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);
|
||||
offering.setState(NetworkOffering.State.Enabled);
|
||||
offering.setDedicatedLB(false);
|
||||
_networkOfferingDao.update(offering.getId(), offering);
|
||||
}
|
||||
|
||||
txn.commit();
|
||||
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ public class NetworkOfferingVO implements NetworkOffering, Identity {
|
|||
return dedicatedLB;
|
||||
}
|
||||
|
||||
public void setDedicatedLb(boolean dedicatedLB) {
|
||||
public void setDedicatedLB(boolean dedicatedLB) {
|
||||
this.dedicatedLB = dedicatedLB;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -903,7 +903,7 @@ public class ConfigurationServerImpl implements ConfigurationServer {
|
|||
netscalerServiceProviders.put(Service.Lb, Provider.Netscaler);
|
||||
|
||||
// The only one diff between 1 and 2 network offerings is that the first one has SG enabled. In Basic zone only
|
||||
// first network offering has to be enabled, in Advance zone - the second one
|
||||
// first network offering has to be enabled, in Advance zone - the second one
|
||||
Transaction txn = Transaction.currentTxn();
|
||||
txn.start();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue