mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-6056. Enabling static NAT rule for a portable public IP fails with error "Failed to enable static nat".
router.extra.public.nics isn't being honoured and so when an ip that is acquired from the additional VLAN range is being configured it failed.
This commit is contained in:
parent
9174020d9a
commit
9f597ef130
|
|
@ -89,6 +89,7 @@ import com.cloud.vm.NicProfile;
|
|||
import com.cloud.vm.NicVO;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.VirtualMachine.Type;
|
||||
import com.cloud.vm.VirtualMachineProfile;
|
||||
import com.cloud.vm.VmDetailConstants;
|
||||
import com.cloud.vm.dao.NicDao;
|
||||
|
|
@ -151,9 +152,12 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
|
|||
if (details == null)
|
||||
details = new HashMap<String, String>();
|
||||
|
||||
Type vmType = vm.getType();
|
||||
boolean userVm = !(vmType.equals(VirtualMachine.Type.DomainRouter) || vmType.equals(VirtualMachine.Type.ConsoleProxy)
|
||||
|| vmType.equals(VirtualMachine.Type.SecondaryStorageVm));
|
||||
|
||||
String nicDeviceType = details.get(VmDetailConstants.NIC_ADAPTER);
|
||||
if (vm.getVirtualMachine() instanceof DomainRouterVO || vm.getVirtualMachine() instanceof ConsoleProxyVO ||
|
||||
vm.getVirtualMachine() instanceof SecondaryStorageVmVO) {
|
||||
if (!userVm) {
|
||||
|
||||
if (nicDeviceType == null) {
|
||||
details.put(VmDetailConstants.NIC_ADAPTER, _vmwareMgr.getSystemVMDefaultNicAdapterType());
|
||||
|
|
@ -180,8 +184,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
|
|||
}
|
||||
|
||||
String diskDeviceType = details.get(VmDetailConstants.ROOK_DISK_CONTROLLER);
|
||||
if (!(vm.getVirtualMachine() instanceof DomainRouterVO || vm.getVirtualMachine() instanceof ConsoleProxyVO || vm.getVirtualMachine() instanceof SecondaryStorageVmVO)) {
|
||||
// user vm
|
||||
if (userVm) {
|
||||
if (diskDeviceType == null) {
|
||||
details.put(VmDetailConstants.ROOK_DISK_CONTROLLER, _vmwareMgr.getRootDiskController());
|
||||
}
|
||||
|
|
@ -203,7 +206,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
|
|||
details.put(Config.VmwareReserveMem.key(), VmwareReserveMemory.valueIn(clusterId).toString());
|
||||
to.setDetails(details);
|
||||
|
||||
if (vm.getVirtualMachine() instanceof DomainRouterVO) {
|
||||
if (vmType.equals(VirtualMachine.Type.DomainRouter)) {
|
||||
|
||||
NicProfile publicNicProfile = null;
|
||||
for (NicProfile nicProfile : nicProfiles) {
|
||||
|
|
@ -277,7 +280,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co
|
|||
|
||||
// Don't do this if the virtual machine is one of the special types
|
||||
// Should only be done on user machines
|
||||
if (!(vm.getVirtualMachine() instanceof DomainRouterVO || vm.getVirtualMachine() instanceof ConsoleProxyVO || vm.getVirtualMachine() instanceof SecondaryStorageVmVO)) {
|
||||
if (userVm) {
|
||||
String nestedVirt = _configDao.getValue(Config.VmwareEnableNestedVirtualization.key());
|
||||
if (nestedVirt != null) {
|
||||
s_logger.debug("Nested virtualization requested, adding flag to vm configuration");
|
||||
|
|
|
|||
Loading…
Reference in New Issue