bug 8781: set dhcp/dns/userData providers to be DhcpServer in Basic zone; all other providers have to be null

status 8781: resolved fixed
This commit is contained in:
alena 2011-02-28 19:53:17 -08:00
parent 65eaf27c5c
commit f395005e0a
4 changed files with 22 additions and 13 deletions

View File

@ -77,13 +77,13 @@ public class DataCenterVO implements DataCenter {
NetworkType networkType;
@Column(name="dns_provider")
private String dnsProvider = Provider.VirtualRouter.getName();
private String dnsProvider;
@Column(name="dhcp_provider")
private String dhcpProvider = Provider.VirtualRouter.getName();
private String dhcpProvider;
@Column(name="gateway_provider")
private String gatewayProvider = Provider.VirtualRouter.getName();
private String gatewayProvider;
@Column(name="vpn_provider")
private String vpnProvider;
@ -166,14 +166,23 @@ public class DataCenterVO implements DataCenter {
this.domain = domain;
this.domainId = domainId;
this.networkType = zoneType;
this.securityGroupEnabled = securityGroupEnabled;
loadBalancerProvider = Provider.VirtualRouter.getName();
firewallProvider = Provider.VirtualRouter.getName();
dhcpProvider = Provider.VirtualRouter.getName();
dnsProvider = Provider.VirtualRouter.getName();
gatewayProvider = Provider.VirtualRouter.getName();
vpnProvider = Provider.VirtualRouter.getName();
userDataProvider = Provider.VirtualRouter.getName();
if (zoneType == NetworkType.Advanced) {
loadBalancerProvider = Provider.VirtualRouter.getName();
firewallProvider = Provider.VirtualRouter.getName();
dhcpProvider = Provider.VirtualRouter.getName();
dnsProvider = Provider.VirtualRouter.getName();
gatewayProvider = Provider.VirtualRouter.getName();
vpnProvider = Provider.VirtualRouter.getName();
userDataProvider = Provider.VirtualRouter.getName();
} else if (zoneType == NetworkType.Basic){
dhcpProvider = Provider.DhcpServer.getName();
dnsProvider = Provider.DhcpServer.getName();
userDataProvider = Provider.DhcpServer.getName();
}
}
@Override

View File

@ -2515,7 +2515,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
public boolean zoneIsConfiguredForExternalNetworking(long zoneId) {
DataCenterVO zone = _dcDao.findById(zoneId);
return (zone.getGatewayProvider().equals(Network.Provider.JuniperSRX.getName()) && zone.getFirewallProvider().equals(Network.Provider.JuniperSRX.getName()) && zone.getLoadBalancerProvider().equals(
return (zone.getGatewayProvider() != null && zone.getGatewayProvider().equals(Network.Provider.JuniperSRX.getName()) && zone.getFirewallProvider().equals(Network.Provider.JuniperSRX.getName()) && zone.getLoadBalancerProvider().equals(
Network.Provider.F5BigIp.getName()));
}

View File

@ -78,7 +78,7 @@ public class DhcpElement extends AdapterBase implements NetworkElement, Password
DataCenter dc = dest.getDataCenter();
String provider = dc.getGatewayProvider();
if (provider.equalsIgnoreCase(Provider.JuniperSRX.getName()) && ipType == GuestIpType.Virtual) {
if (provider != null && provider.equalsIgnoreCase(Provider.JuniperSRX.getName()) && ipType == GuestIpType.Virtual) {
return true;
} else {
if (dc.getNetworkType() == NetworkType.Basic) {

View File

@ -85,7 +85,7 @@ public class VirtualRouterElement extends DhcpElement implements NetworkElement,
private boolean canHandle(GuestIpType ipType, DataCenter dc) {
String provider = dc.getGatewayProvider();
boolean result = (ipType == GuestIpType.Virtual && provider.equals(Provider.VirtualRouter.getName()));
boolean result = (provider != null && ipType == GuestIpType.Virtual && provider.equals(Provider.VirtualRouter.getName()));
if (!result) {
s_logger.trace("Virtual router element only takes care of guest ip type " + GuestIpType.Virtual + " for provider " + Provider.VirtualRouter.getName());
}