mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
commit review request https://reviews.apache.org/r/6502/#
This commit is contained in:
parent
42a9fd641e
commit
340b086df4
@ -41,6 +41,7 @@ import com.vmware.vim25.HostIpRouteEntry;
|
||||
import com.vmware.vim25.HostListSummaryQuickStats;
|
||||
import com.vmware.vim25.HostNetworkInfo;
|
||||
import com.vmware.vim25.HostNetworkPolicy;
|
||||
import com.vmware.vim25.HostNetworkSecurityPolicy;
|
||||
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
||||
import com.vmware.vim25.HostPortGroup;
|
||||
import com.vmware.vim25.HostPortGroupSpec;
|
||||
@ -365,7 +366,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void createPortGroup(HostVirtualSwitch vSwitch, String portGroupName, Integer vlanId, HostNetworkTrafficShapingPolicy shapingPolicy) throws Exception {
|
||||
public void createPortGroup(HostVirtualSwitch vSwitch, String portGroupName, Integer vlanId, HostNetworkSecurityPolicy secPolicy, HostNetworkTrafficShapingPolicy shapingPolicy) throws Exception {
|
||||
assert(portGroupName != null);
|
||||
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
||||
assert(hostNetMo != null);
|
||||
@ -376,13 +377,15 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
if(vlanId != null)
|
||||
spec.setVlanId(vlanId.intValue());
|
||||
HostNetworkPolicy policy = new HostNetworkPolicy();
|
||||
if (secPolicy != null)
|
||||
policy.setSecurity(secPolicy);
|
||||
policy.setShapingPolicy(shapingPolicy);
|
||||
spec.setPolicy(policy);
|
||||
spec.setVswitchName(vSwitch.getName());
|
||||
hostNetMo.addPortGroup(spec);
|
||||
}
|
||||
|
||||
public void updatePortGroup(HostVirtualSwitch vSwitch, String portGroupName, Integer vlanId, HostNetworkTrafficShapingPolicy shapingPolicy) throws Exception {
|
||||
public void updatePortGroup(HostVirtualSwitch vSwitch, String portGroupName, Integer vlanId, HostNetworkSecurityPolicy secPolicy, HostNetworkTrafficShapingPolicy shapingPolicy) throws Exception {
|
||||
assert(portGroupName != null);
|
||||
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
||||
assert(hostNetMo != null);
|
||||
@ -393,6 +396,8 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
if(vlanId != null)
|
||||
spec.setVlanId(vlanId.intValue());
|
||||
HostNetworkPolicy policy = new HostNetworkPolicy();
|
||||
if (secPolicy != null)
|
||||
policy.setSecurity(secPolicy);
|
||||
policy.setShapingPolicy(shapingPolicy);
|
||||
spec.setPolicy(policy);
|
||||
spec.setVswitchName(vSwitch.getName());
|
||||
|
||||
@ -43,6 +43,8 @@ import com.vmware.vim25.BoolPolicy;
|
||||
import com.vmware.vim25.DVPortgroupConfigInfo;
|
||||
import com.vmware.vim25.DVSTrafficShapingPolicy;
|
||||
import com.vmware.vim25.DynamicProperty;
|
||||
import com.vmware.vim25.HostNetworkPolicy;
|
||||
import com.vmware.vim25.HostNetworkSecurityPolicy;
|
||||
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
||||
import com.vmware.vim25.HostPortGroupSpec;
|
||||
import com.vmware.vim25.HostVirtualSwitch;
|
||||
@ -563,7 +565,13 @@ public class HypervisorHostHelper {
|
||||
}
|
||||
|
||||
networkName = composeCloudNetworkName(namePrefix, vlanId, networkRateMbps, vSwitchName);
|
||||
|
||||
HostNetworkSecurityPolicy secPolicy = null;
|
||||
if (namePrefix.equalsIgnoreCase("cloud.private")) {
|
||||
secPolicy = new HostNetworkSecurityPolicy();
|
||||
secPolicy.setAllowPromiscuous(Boolean.TRUE);
|
||||
secPolicy.setForgedTransmits(Boolean.TRUE);
|
||||
secPolicy.setMacChanges(Boolean.TRUE);
|
||||
}
|
||||
HostNetworkTrafficShapingPolicy shapingPolicy = null;
|
||||
if(networkRateMbps != null && networkRateMbps.intValue() > 0) {
|
||||
shapingPolicy = new HostNetworkTrafficShapingPolicy();
|
||||
@ -583,12 +591,12 @@ public class HypervisorHostHelper {
|
||||
|
||||
boolean bWaitPortGroupReady = false;
|
||||
if (!hostMo.hasPortGroup(vSwitch, networkName)) {
|
||||
hostMo.createPortGroup(vSwitch, networkName, vid, shapingPolicy);
|
||||
hostMo.createPortGroup(vSwitch, networkName, vid, secPolicy, shapingPolicy);
|
||||
bWaitPortGroupReady = true;
|
||||
} else {
|
||||
HostPortGroupSpec spec = hostMo.getPortGroupSpec(networkName);
|
||||
if(!isSpecMatch(spec, vid, shapingPolicy)) {
|
||||
hostMo.updatePortGroup(vSwitch, networkName, vid, shapingPolicy);
|
||||
hostMo.updatePortGroup(vSwitch, networkName, vid, secPolicy, shapingPolicy);
|
||||
bWaitPortGroupReady = true;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user