Updated Branches: refs/heads/master 9174020d9 -> 9f597ef13
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. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9f597ef1 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9f597ef1 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9f597ef1 Branch: refs/heads/master Commit: 9f597ef13049f8a6a4eb8553a30565b3eb6d07e2 Parents: 9174020 Author: Likitha Shetty <likitha.she...@citrix.com> Authored: Wed Feb 12 15:51:22 2014 +0530 Committer: Likitha Shetty <likitha.she...@citrix.com> Committed: Wed Feb 12 15:53:45 2014 +0530 ---------------------------------------------------------------------- .../src/com/cloud/hypervisor/guru/VMwareGuru.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9f597ef1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index 9a30f18..372c80e 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -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");