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");

Reply via email to