diff --git a/server/src/com/cloud/network/dao/FirewallRulesDao.java b/server/src/com/cloud/network/dao/FirewallRulesDao.java index 595509cb84e..8e089af4ec6 100644 --- a/server/src/com/cloud/network/dao/FirewallRulesDao.java +++ b/server/src/com/cloud/network/dao/FirewallRulesDao.java @@ -36,7 +36,7 @@ public interface FirewallRulesDao extends GenericDao { boolean releasePorts(long ipAddressId, String protocol, FirewallRule.Purpose purpose, int[] ports); - List listByIpAndPurpose(long ipAddressId, FirewallRule.Purpose purpose); + List listByIpAndPurpose(long ipAddressId, FirewallRule.Purpose purpose); List listByNetworkIdAndPurpose(long networkId, FirewallRule.Purpose purpose); diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 58cc8d60b2c..3368fc960c1 100644 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1023,7 +1023,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } } - s_logger.debug("Found " + publicIps.size() + " ip(s) to apply as a part of domR " + router.getId() + " start."); + s_logger.debug("Found " + publicIps.size() + " ip(s) to apply as a part of domR " + router + " start."); if (!publicIps.isEmpty()) { @@ -1031,13 +1031,13 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian createAssociateIPCommands(router, publicIps, cmds, 0); List vpns = new ArrayList(); - List pfRules = null; - List staticNatFirewallRules = null; + List pfRules = new ArrayList(); + List staticNatFirewallRules = new ArrayList(); for (PublicIpAddress ip : publicIps) { - pfRules = _pfRulesDao.listForApplication(ip.getId()); - staticNatFirewallRules = _rulesDao.listByIpAndPurpose(ip.getId(), Purpose.StaticNat); - + pfRules.addAll(_pfRulesDao.listForApplication(ip.getId())); + staticNatFirewallRules.addAll(_rulesDao.listByIpAndPurpose(ip.getId(), Purpose.StaticNat)); + RemoteAccessVpn vpn = _vpnDao.findById(ip.getId()); if (vpn != null) { vpns.add(vpn); diff --git a/server/src/com/cloud/network/rules/RulesManagerImpl.java b/server/src/com/cloud/network/rules/RulesManagerImpl.java index 2edc0225bc2..2a43f0f9224 100644 --- a/server/src/com/cloud/network/rules/RulesManagerImpl.java +++ b/server/src/com/cloud/network/rules/RulesManagerImpl.java @@ -629,7 +629,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager { @Override public boolean applyStaticNatRules(long sourceIpId, boolean continueOnError, Account caller){ - List rules = _firewallDao.listByIpAndPurpose(sourceIpId, Purpose.StaticNat); + List rules = _firewallDao.listByIpAndPurpose(sourceIpId, Purpose.StaticNat); List staticNatRules = new ArrayList(); if (rules.size() == 0) { @@ -637,7 +637,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager { return true; } - for (FirewallRuleVO rule : rules) { + for (FirewallRule rule : rules) { IpAddress sourceIp = _ipAddressDao.findById(rule.getSourceIpAddressId()); UserVmVO vm = _vmDao.findById(sourceIp.getAssociatedWithVmId()); @@ -650,7 +650,9 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager { throw new CloudRuntimeException("Unable to find ip address to map to in vm id=" + vm.getId()); } - staticNatRules.add(new StaticNatRuleImpl(rule, dstIp.addr())); + FirewallRuleVO ruleVO = _firewallDao.findById(rule.getId()); + + staticNatRules.add(new StaticNatRuleImpl(ruleVO, dstIp.addr())); } if (caller != null) {