mirror of https://github.com/apache/cloudstack.git
get lb working on advanced mode again
This commit is contained in:
parent
64efcf0443
commit
179368ea32
|
|
@ -1092,13 +1092,23 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
if (_canBridgeFirewall) {
|
||||
String result = null;
|
||||
if (vmSpec.getType() != VirtualMachine.Type.User) {
|
||||
result = callHostPlugin(conn, "vmops", "default_network_rules_systemvm", "vmName", vmName);
|
||||
|
||||
if (result == null || result.isEmpty() || !Boolean.parseBoolean(result)) {
|
||||
s_logger.warn("Failed to program default network rules for " + vmName);
|
||||
} else {
|
||||
s_logger.info("Programmed default network rules for " + vmName);
|
||||
NicTO[] nics = vmSpec.getNics();
|
||||
boolean secGrpEnabled = false;
|
||||
for (NicTO nic : nics) {
|
||||
if (nic.getIsolationUri() != null && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString())) {
|
||||
secGrpEnabled = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (secGrpEnabled) {
|
||||
result = callHostPlugin(conn, "vmops", "default_network_rules_systemvm", "vmName", vmName);
|
||||
if (result == null || result.isEmpty() || !Boolean.parseBoolean(result)) {
|
||||
s_logger.warn("Failed to program default network rules for " + vmName);
|
||||
} else {
|
||||
s_logger.info("Programmed default network rules for " + vmName);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
//For user vm, program the rules for each nic if the isolation uri scheme is ec2
|
||||
NicTO[] nics = vmSpec.getNics();
|
||||
|
|
|
|||
|
|
@ -164,8 +164,9 @@ iflag=
|
|||
aflag=
|
||||
dflag=
|
||||
fflag=
|
||||
sflag=
|
||||
|
||||
while getopts 'i:a:d:f:' OPTION
|
||||
while getopts 'i:a:d:f:s:' OPTION
|
||||
do
|
||||
case $OPTION in
|
||||
i) iflag=1
|
||||
|
|
@ -180,6 +181,8 @@ do
|
|||
f) fflag=1
|
||||
cfgfile="$OPTARG"
|
||||
;;
|
||||
|
||||
s) sflag=1;;
|
||||
?) usage
|
||||
exit 2
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -391,7 +391,6 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
|
|||
|
||||
IPAddressVO ipAddr = _ipAddressDao.findById(lb.getSourceIpAddressId());
|
||||
Long networkId = ipAddr.getSourceNetworkId();
|
||||
NetworkVO network = _networkDao.findById(networkId);
|
||||
// make sure ip address exists
|
||||
if (ipAddr == null || !ipAddr.readyToUse()) {
|
||||
throw new InvalidParameterValueException("Unable to create load balancer rule, invalid IP address id" + ipId);
|
||||
|
|
@ -405,6 +404,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
|
|||
throw new InvalidParameterValueException("Unable to create load balancer rule ; ip id=" + ipId + " is not associated with any network");
|
||||
|
||||
}
|
||||
NetworkVO network = _networkDao.findById(networkId);
|
||||
|
||||
_accountMgr.checkAccess(caller.getCaller(), ipAddr);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue