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.HostListSummaryQuickStats;
|
||||||
import com.vmware.vim25.HostNetworkInfo;
|
import com.vmware.vim25.HostNetworkInfo;
|
||||||
import com.vmware.vim25.HostNetworkPolicy;
|
import com.vmware.vim25.HostNetworkPolicy;
|
||||||
|
import com.vmware.vim25.HostNetworkSecurityPolicy;
|
||||||
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
||||||
import com.vmware.vim25.HostPortGroup;
|
import com.vmware.vim25.HostPortGroup;
|
||||||
import com.vmware.vim25.HostPortGroupSpec;
|
import com.vmware.vim25.HostPortGroupSpec;
|
||||||
@ -365,7 +366,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
|||||||
return false;
|
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);
|
assert(portGroupName != null);
|
||||||
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
||||||
assert(hostNetMo != null);
|
assert(hostNetMo != null);
|
||||||
@ -376,13 +377,15 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
|||||||
if(vlanId != null)
|
if(vlanId != null)
|
||||||
spec.setVlanId(vlanId.intValue());
|
spec.setVlanId(vlanId.intValue());
|
||||||
HostNetworkPolicy policy = new HostNetworkPolicy();
|
HostNetworkPolicy policy = new HostNetworkPolicy();
|
||||||
|
if (secPolicy != null)
|
||||||
|
policy.setSecurity(secPolicy);
|
||||||
policy.setShapingPolicy(shapingPolicy);
|
policy.setShapingPolicy(shapingPolicy);
|
||||||
spec.setPolicy(policy);
|
spec.setPolicy(policy);
|
||||||
spec.setVswitchName(vSwitch.getName());
|
spec.setVswitchName(vSwitch.getName());
|
||||||
hostNetMo.addPortGroup(spec);
|
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);
|
assert(portGroupName != null);
|
||||||
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
HostNetworkSystemMO hostNetMo = getHostNetworkSystemMO();
|
||||||
assert(hostNetMo != null);
|
assert(hostNetMo != null);
|
||||||
@ -393,6 +396,8 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
|||||||
if(vlanId != null)
|
if(vlanId != null)
|
||||||
spec.setVlanId(vlanId.intValue());
|
spec.setVlanId(vlanId.intValue());
|
||||||
HostNetworkPolicy policy = new HostNetworkPolicy();
|
HostNetworkPolicy policy = new HostNetworkPolicy();
|
||||||
|
if (secPolicy != null)
|
||||||
|
policy.setSecurity(secPolicy);
|
||||||
policy.setShapingPolicy(shapingPolicy);
|
policy.setShapingPolicy(shapingPolicy);
|
||||||
spec.setPolicy(policy);
|
spec.setPolicy(policy);
|
||||||
spec.setVswitchName(vSwitch.getName());
|
spec.setVswitchName(vSwitch.getName());
|
||||||
|
|||||||
@ -43,6 +43,8 @@ import com.vmware.vim25.BoolPolicy;
|
|||||||
import com.vmware.vim25.DVPortgroupConfigInfo;
|
import com.vmware.vim25.DVPortgroupConfigInfo;
|
||||||
import com.vmware.vim25.DVSTrafficShapingPolicy;
|
import com.vmware.vim25.DVSTrafficShapingPolicy;
|
||||||
import com.vmware.vim25.DynamicProperty;
|
import com.vmware.vim25.DynamicProperty;
|
||||||
|
import com.vmware.vim25.HostNetworkPolicy;
|
||||||
|
import com.vmware.vim25.HostNetworkSecurityPolicy;
|
||||||
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
import com.vmware.vim25.HostNetworkTrafficShapingPolicy;
|
||||||
import com.vmware.vim25.HostPortGroupSpec;
|
import com.vmware.vim25.HostPortGroupSpec;
|
||||||
import com.vmware.vim25.HostVirtualSwitch;
|
import com.vmware.vim25.HostVirtualSwitch;
|
||||||
@ -563,7 +565,13 @@ public class HypervisorHostHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
networkName = composeCloudNetworkName(namePrefix, vlanId, networkRateMbps, vSwitchName);
|
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;
|
HostNetworkTrafficShapingPolicy shapingPolicy = null;
|
||||||
if(networkRateMbps != null && networkRateMbps.intValue() > 0) {
|
if(networkRateMbps != null && networkRateMbps.intValue() > 0) {
|
||||||
shapingPolicy = new HostNetworkTrafficShapingPolicy();
|
shapingPolicy = new HostNetworkTrafficShapingPolicy();
|
||||||
@ -583,12 +591,12 @@ public class HypervisorHostHelper {
|
|||||||
|
|
||||||
boolean bWaitPortGroupReady = false;
|
boolean bWaitPortGroupReady = false;
|
||||||
if (!hostMo.hasPortGroup(vSwitch, networkName)) {
|
if (!hostMo.hasPortGroup(vSwitch, networkName)) {
|
||||||
hostMo.createPortGroup(vSwitch, networkName, vid, shapingPolicy);
|
hostMo.createPortGroup(vSwitch, networkName, vid, secPolicy, shapingPolicy);
|
||||||
bWaitPortGroupReady = true;
|
bWaitPortGroupReady = true;
|
||||||
} else {
|
} else {
|
||||||
HostPortGroupSpec spec = hostMo.getPortGroupSpec(networkName);
|
HostPortGroupSpec spec = hostMo.getPortGroupSpec(networkName);
|
||||||
if(!isSpecMatch(spec, vid, shapingPolicy)) {
|
if(!isSpecMatch(spec, vid, shapingPolicy)) {
|
||||||
hostMo.updatePortGroup(vSwitch, networkName, vid, shapingPolicy);
|
hostMo.updatePortGroup(vSwitch, networkName, vid, secPolicy, shapingPolicy);
|
||||||
bWaitPortGroupReady = true;
|
bWaitPortGroupReady = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user