mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
Return false when failed to apply the rules on the backend
This commit is contained in:
parent
f6717e0a23
commit
6379c9c61e
@ -420,7 +420,6 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
|
||||
// load cidrs if any
|
||||
rule.setSourceCidrList(_firewallCidrsDao.getSourceCidrs(rule.getId()));
|
||||
}
|
||||
|
||||
|
||||
if (caller != null) {
|
||||
_accountMgr.checkAccess(caller, null, rules.toArray(new FirewallRuleVO[rules.size()]));
|
||||
@ -566,7 +565,7 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
|
||||
|
||||
// now send everything to the backend
|
||||
List<FirewallRuleVO> rulesToApply = _firewallDao.listByNetworkAndPurpose(networkId, Purpose.Firewall);
|
||||
applyFirewallRules(rulesToApply, true, caller);
|
||||
boolean success = applyFirewallRules(rulesToApply, true, caller);
|
||||
|
||||
// Now we check again in case more rules have been inserted.
|
||||
rules.addAll(_firewallDao.listByNetworkAndPurposeAndNotRevoked(networkId, Purpose.Firewall));
|
||||
@ -575,7 +574,7 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
|
||||
s_logger.debug("Successfully released firewall rules for network id=" + networkId + " and # of rules now = " + rules.size());
|
||||
}
|
||||
|
||||
return rules.size() == 0;
|
||||
return success && rules.size() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -917,11 +917,12 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager {
|
||||
revokeStaticNatRuleInternal(rule.getId(), caller, userId, false);
|
||||
}
|
||||
|
||||
boolean success = true;
|
||||
// revoke all PF rules for the network
|
||||
applyPortForwardingRulesForNetwork(networkId, true, caller);
|
||||
success = success && applyPortForwardingRulesForNetwork(networkId, true, caller);
|
||||
|
||||
// revoke all all static nat rules for the network
|
||||
applyStaticNatRulesForNetwork(networkId, true, caller);
|
||||
success = success && applyStaticNatRulesForNetwork(networkId, true, caller);
|
||||
|
||||
// Now we check again in case more rules have been inserted.
|
||||
rules.addAll(_forwardingDao.listByNetworkAndNotRevoked(networkId));
|
||||
@ -931,7 +932,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager {
|
||||
s_logger.debug("Successfully released rules for network id=" + networkId + " and # of rules now = " + rules.size());
|
||||
}
|
||||
|
||||
return rules.size() == 0;
|
||||
return success && rules.size() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user