mirror of https://github.com/apache/cloudstack.git
Default service provider to VirtualRouter (should make this parameter configurable in the future)
This commit is contained in:
parent
7433d5314a
commit
2d228dfcbb
|
|
@ -18,6 +18,9 @@
|
|||
|
||||
package com.cloud.api.commands;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
|
@ -28,6 +31,7 @@ import com.cloud.api.Implementation;
|
|||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.NetworkOfferingResponse;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offering.NetworkOffering.Availability;
|
||||
import com.cloud.user.Account;
|
||||
|
|
@ -127,7 +131,7 @@ public class CreateNetworkOfferingCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
public String getAvailability() {
|
||||
return availability == null ? Availability.Required.toString() : availability;
|
||||
return availability == null ? Availability.Optional.toString() : availability;
|
||||
}
|
||||
|
||||
public Integer getNetworkRate() {
|
||||
|
|
@ -147,43 +151,56 @@ public class CreateNetworkOfferingCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
public Boolean getDhcpService() {
|
||||
return dhcpService;
|
||||
return dhcpService == null ? false : dhcpService;
|
||||
}
|
||||
|
||||
public Boolean getDnsService() {
|
||||
return dnsService;
|
||||
return dnsService == null ? false : dnsService;
|
||||
}
|
||||
|
||||
public Boolean getGatewayService() {
|
||||
return gatewayService;
|
||||
return gatewayService == null ? false : gatewayService;
|
||||
}
|
||||
|
||||
public Boolean getFirewallService() {
|
||||
return firewallService;
|
||||
return firewallService == null ? false : firewallService;
|
||||
}
|
||||
|
||||
public Boolean getLbService() {
|
||||
return lbService;
|
||||
return lbService == null ? false : lbService;
|
||||
}
|
||||
|
||||
public Boolean getUserdataService() {
|
||||
return userdataService;
|
||||
return userdataService == null ? false : userdataService;
|
||||
}
|
||||
|
||||
public Boolean getSourceNatService() {
|
||||
return sourceNatService;
|
||||
return sourceNatService == null ? false : sourceNatService;
|
||||
}
|
||||
|
||||
public Boolean getVpnService() {
|
||||
return vpnService;
|
||||
return vpnService == null ? false : vpnService;
|
||||
}
|
||||
|
||||
public Map getServiceProviderList() {
|
||||
return serviceProviderList;
|
||||
public Map<String, String> getServiceProviderList() {
|
||||
Map<String, String> serviceProviderMap = null;
|
||||
if (serviceProviderList != null && !serviceProviderList.isEmpty()) {
|
||||
serviceProviderMap = new HashMap<String, String>();
|
||||
Collection servicesCollection = serviceProviderList.values();
|
||||
Iterator iter = servicesCollection.iterator();
|
||||
while (iter.hasNext()) {
|
||||
HashMap<String, String> services = (HashMap<String, String>) iter.next();
|
||||
String service = (String)services.get("service");
|
||||
String provider = (String) services.get("provider");
|
||||
serviceProviderMap.put(service, provider);
|
||||
}
|
||||
}
|
||||
|
||||
return serviceProviderMap;
|
||||
}
|
||||
|
||||
public Boolean getSecurityGroupEnabled() {
|
||||
return securityGroupEnabled;
|
||||
return securityGroupEnabled == null ? false : securityGroupEnabled;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ public interface Network extends ControlledEntity {
|
|||
public static final Provider ExternalDhcpServer = new Provider("ExternalDhcpServer");
|
||||
public static final Provider ExternalGateWay = new Provider("ExternalGateWay");
|
||||
public static final Provider ElasticLoadBalancerVm = new Provider("ElasticLoadBalancerVm");
|
||||
public static final Provider defaultProvider = VirtualRouter;
|
||||
|
||||
public static final Provider None = new Provider("None");
|
||||
|
||||
|
|
|
|||
|
|
@ -2893,40 +2893,57 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura
|
|||
Map<Network.Service, Network.Provider> serviceProviderMap = new HashMap<Network.Service, Network.Provider>();
|
||||
//populate all services first
|
||||
if (cmd.getDhcpService()) {
|
||||
serviceProviderMap.put(Network.Service.Dhcp, null);
|
||||
} else if (cmd.getDnsService()) {
|
||||
serviceProviderMap.put(Network.Service.Dns, null);
|
||||
} else if (cmd.getFirewallService()) {
|
||||
serviceProviderMap.put(Network.Service.Firewall, null);
|
||||
} else if (cmd.getGatewayService()) {
|
||||
serviceProviderMap.put(Network.Service.Gateway, null);
|
||||
} else if (cmd.getLbService()) {
|
||||
serviceProviderMap.put(Network.Service.Lb, null);
|
||||
} else if (cmd.getSourceNatService()) {
|
||||
serviceProviderMap.put(Network.Service.SourceNat, null);
|
||||
} else if (cmd.getUserdataService()) {
|
||||
serviceProviderMap.put(Network.Service.UserData, null);
|
||||
} else if (cmd.getVpnService()) {
|
||||
serviceProviderMap.put(Network.Service.Vpn, null);
|
||||
serviceProviderMap.put(Network.Service.Dhcp, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getDnsService()) {
|
||||
serviceProviderMap.put(Network.Service.Dns, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getFirewallService()) {
|
||||
serviceProviderMap.put(Network.Service.Firewall, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getGatewayService()) {
|
||||
serviceProviderMap.put(Network.Service.Gateway, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getLbService()) {
|
||||
serviceProviderMap.put(Network.Service.Lb, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getSourceNatService()) {
|
||||
serviceProviderMap.put(Network.Service.SourceNat, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getUserdataService()) {
|
||||
serviceProviderMap.put(Network.Service.UserData, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
if (cmd.getVpnService()) {
|
||||
serviceProviderMap.put(Network.Service.Vpn, Network.Provider.defaultProvider);
|
||||
}
|
||||
|
||||
//populate providers
|
||||
Map<String, String> svcPrv = (Map<String, String>)cmd.getServiceProviderList();
|
||||
for (String serviceStr : svcPrv.keySet()) {
|
||||
if (serviceProviderMap.containsKey(serviceStr)) {
|
||||
if (svcPrv != null) {
|
||||
for (String serviceStr : svcPrv.keySet()) {
|
||||
Network.Service service = Network.Service.getService(serviceStr);
|
||||
//check if provider is supported
|
||||
Network.Provider provider;
|
||||
String prvNameStr = svcPrv.get(serviceStr);
|
||||
provider = Network.Provider.getProvider(prvNameStr);
|
||||
if (provider == null) {
|
||||
throw new InvalidParameterValueException("Invalid service provider: " + prvNameStr);
|
||||
}
|
||||
serviceProviderMap.put(service, provider);
|
||||
} else {
|
||||
throw new InvalidParameterValueException("Service " + serviceStr + " is not enabled for the network offering, can't add a provider to it");
|
||||
if (serviceProviderMap.containsKey(service)) {
|
||||
//check if provider is supported
|
||||
Network.Provider provider;
|
||||
String prvNameStr = svcPrv.get(serviceStr);
|
||||
provider = Network.Provider.getProvider(prvNameStr);
|
||||
if (provider == null) {
|
||||
throw new InvalidParameterValueException("Invalid service provider: " + prvNameStr);
|
||||
}
|
||||
serviceProviderMap.put(service, provider);
|
||||
} else {
|
||||
throw new InvalidParameterValueException("Service " + serviceStr + " is not enabled for the network offering, can't add a provider to it");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return createNetworkOffering(userId, name, displayText, trafficType, tags, maxConnections, specifyVlan, availability, guestIpType, networkRate, serviceProviderMap, false, isSecurityGroupEnabled);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,4 +124,11 @@ public class NetworkOfferingDaoImpl extends GenericDaoBase<NetworkOfferingVO, Lo
|
|||
return listBy(sc, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(Long networkOfferingId){
|
||||
NetworkOfferingVO offering = findById(networkOfferingId);
|
||||
offering.setName(null);
|
||||
update(networkOfferingId, offering);
|
||||
return super.remove(networkOfferingId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue