diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 957cebe0a43..60e75ad9591 100644 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2471,8 +2471,10 @@ public class NetworkManagerImpl implements NetworkManager, VirtualMachineManager } description = desc; } + + IPAddressVO ipAdd = _ipAddressDao.findById(rule.getPublicIpAddress()); - saveEvent(userId, accountId, level, type, description); + saveEvent(userId, ipAdd.getAccountId(), level, type, description); } } finally { if (e != null) { @@ -2500,6 +2502,7 @@ public class NetworkManagerImpl implements NetworkManager, VirtualMachineManager // for existing user ids throw new PermissionDeniedException("Account does not own supplied address"); } + // although we are not writing these values to the DB, we will check // them out of an abundance // of caution (may not be warranted) diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 0909a110d72..5ec095d85cc 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -1952,21 +1952,22 @@ public class UserVmManagerImpl implements UserVmManager { } List forwardingRules = null; - try - { - forwardingRules = _rulesDao.listByPrivateIp(privateIpAddress); - - for(FirewallRuleVO rule: forwardingRules) - { - _networkMgr.deleteRule(rule.getId(), Long.valueOf(User.UID_SYSTEM), vm.getAccountId()); - if(s_logger.isDebugEnabled()) - s_logger.debug("Rule "+rule.getId()+" for vm:"+vm.getId()+" is deleted successfully during expunge operation"); - } - - } catch (Exception e) { - s_logger.info("VM " + vmId +" expunge failed due to " + e.getMessage()); + forwardingRules = _rulesDao.listByPrivateIp(privateIpAddress); + + for(FirewallRuleVO rule: forwardingRules) + { + try + { + _networkMgr.deleteRule(rule.getId(), Long.valueOf(User.UID_SYSTEM), Long.valueOf(User.UID_SYSTEM)); + if(s_logger.isDebugEnabled()) + s_logger.debug("Rule "+rule.getId()+" for vm:"+vm.getName()+" is deleted successfully during expunge operation"); + } + catch(Exception e) + { + s_logger.warn("Failed to delete rule:"+rule.getId()+" for vm:"+vm.getName()); + } } - + List vols = null; try {