mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-9165: unable to use reserved IP range in a network for external VMs (#1246)
This commit is contained in:
parent
cc749cca3e
commit
7f987ace35
@ -287,4 +287,6 @@ public interface NetworkModel {
|
||||
List<String[]> generateVmData(String userData, String serviceOffering, String zoneName,
|
||||
String vmName, long vmId, String publicKey, String password, Boolean isWindows);
|
||||
|
||||
String getValidNetworkCidr(Network guestNetwork);
|
||||
|
||||
}
|
||||
|
||||
@ -2377,4 +2377,10 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
||||
public ConfigKey<?>[] getConfigKeys() {
|
||||
return new ConfigKey<?>[] {MACIdentifier};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValidNetworkCidr(Network guestNetwork) {
|
||||
String networkCidr = guestNetwork.getNetworkCidr();
|
||||
return networkCidr == null ? guestNetwork.getCidr() : networkCidr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -376,7 +376,7 @@ public abstract class GuestNetworkGuru extends AdapterBase implements NetworkGur
|
||||
}
|
||||
|
||||
nic.setIPv4Address(guestIp);
|
||||
nic.setIPv4Netmask(NetUtils.cidr2Netmask(network.getCidr()));
|
||||
nic.setIPv4Netmask(NetUtils.cidr2Netmask(_networkModel.getValidNetworkCidr(network)));
|
||||
|
||||
nic.setIPv4Dns1(dc.getDns1());
|
||||
nic.setIPv4Dns2(dc.getDns2());
|
||||
|
||||
@ -743,7 +743,7 @@ public class NetworkHelperImpl implements NetworkHelper {
|
||||
gatewayNic.setBroadcastType(guestNetwork.getBroadcastDomainType());
|
||||
gatewayNic.setIsolationUri(guestNetwork.getBroadcastUri());
|
||||
gatewayNic.setMode(guestNetwork.getMode());
|
||||
final String gatewayCidr = guestNetwork.getCidr();
|
||||
final String gatewayCidr = _networkModel.getValidNetworkCidr(guestNetwork);
|
||||
gatewayNic.setIPv4Netmask(NetUtils.getCidrNetmask(gatewayCidr));
|
||||
} else {
|
||||
gatewayNic.setDefaultNic(true);
|
||||
|
||||
@ -127,7 +127,7 @@ public class NicProfileHelperImpl implements NicProfileHelper {
|
||||
guestNic.setBroadcastType(guestNetwork.getBroadcastDomainType());
|
||||
guestNic.setIsolationUri(guestNetwork.getBroadcastUri());
|
||||
guestNic.setMode(guestNetwork.getMode());
|
||||
final String gatewayCidr = guestNetwork.getCidr();
|
||||
final String gatewayCidr = _networkModel.getValidNetworkCidr(guestNetwork);
|
||||
guestNic.setIPv4Netmask(NetUtils.getCidrNetmask(gatewayCidr));
|
||||
|
||||
return guestNic;
|
||||
|
||||
@ -1535,7 +1535,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
|
||||
}
|
||||
}
|
||||
} else if (dc.getNetworkType() == NetworkType.Advanced) {
|
||||
final String cidr = guestNetwork.getCidr();
|
||||
final String cidr = _networkModel.getValidNetworkCidr(guestNetwork);
|
||||
if (cidr != null) {
|
||||
cidrSize = NetUtils.getCidrSize(NetUtils.getCidrNetmask(cidr));
|
||||
dhcpRange = NetUtils.getDhcpRange(cidr);
|
||||
|
||||
@ -901,4 +901,9 @@ public class MockNetworkModelImpl extends ManagerBase implements NetworkModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValidNetworkCidr(Network guestNetwork) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -916,4 +916,9 @@ public class MockNetworkModelImpl extends ManagerBase implements NetworkModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValidNetworkCidr(Network guestNetwork) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user