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 9a30f189062..372c80e9e9b 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(); + 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");