From 400602ee9f3bd3e0b000b916a71eae5c80b7d144 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Thu, 31 May 2012 11:32:04 -0700 Subject: [PATCH] CS-15080: VMware control network is CloudStack management network, correct the way to send down a correct traffic label to VMware resource Reviewed-by: Anthony --- .../hypervisor/vmware/resource/VmwareResource.java | 1 - server/src/com/cloud/network/NetworkManagerImpl.java | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index 9d7c02d1297..f87fd7d725f 100755 --- a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -230,7 +230,6 @@ import com.vmware.vim25.VirtualMachineGuestOsIdentifier; import com.vmware.vim25.VirtualMachinePowerState; import com.vmware.vim25.VirtualMachineRuntimeInfo; import com.vmware.vim25.VirtualSCSISharing; -import com.xensource.xenapi.VLAN; public class VmwareResource implements StoragePoolResource, ServerResource, VmwareHostService { private static final Logger s_logger = Logger.getLogger(VmwareResource.class); diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index fd3a4721035..1da95c4694d 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -5998,12 +5998,16 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag @Override public String getNetworkTag(HypervisorType hType, Network network) { // no network tag for control traffic type - if (network.getTrafficType() == TrafficType.Control) { + TrafficType effectiveTrafficType = network.getTrafficType(); + if(hType == HypervisorType.VMware && effectiveTrafficType == TrafficType.Control) + effectiveTrafficType = TrafficType.Management; + + if (effectiveTrafficType == TrafficType.Control) { return null; } Long physicalNetworkId = null; - if (network.getTrafficType() != TrafficType.Guest) { + if (effectiveTrafficType != TrafficType.Guest) { physicalNetworkId = getNonGuestNetworkPhysicalNetworkId(network); } else { NetworkOffering offering = _configMgr.getNetworkOffering(network.getNetworkOfferingId()); @@ -6016,7 +6020,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag return null; } - return _pNTrafficTypeDao.getNetworkTag(physicalNetworkId, network.getTrafficType(), hType); + return _pNTrafficTypeDao.getNetworkTag(physicalNetworkId, effectiveTrafficType, hType); } protected Long getNonGuestNetworkPhysicalNetworkId(Network network) {