diff --git a/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDao.java b/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDao.java index b1b1e1cf7571..152b5cc117d8 100644 --- a/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDao.java +++ b/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDao.java @@ -26,7 +26,7 @@ public interface IPAddressDao extends GenericDao { - IPAddressVO markAsUnavailable(long ipAddressId); + IPAddressVO markAsReleasing(long ipAddressId); void unassignIpAddress(long ipAddressId); diff --git a/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDaoImpl.java b/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDaoImpl.java index d14275227158..938d99a18c5c 100644 --- a/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/network/dao/IPAddressDaoImpl.java @@ -382,7 +382,7 @@ public int countIPs(long dcId, Long accountId, String vlanId, String vlanGateway @Override @DB - public IPAddressVO markAsUnavailable(long ipAddressId) { + public IPAddressVO markAsReleasing(long ipAddressId) { SearchCriteria sc = AllFieldsSearch.create(); sc.setParameters("id", ipAddressId); diff --git a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java index 0178236a21a9..fc8d31e03cae 100644 --- a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java +++ b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java @@ -732,8 +732,9 @@ public boolean disassociatePublicIpAddress(long addrId, long userId, Account cal PublicIpQuarantine publicIpQuarantine = null; // Cleanup all ip address resources - PF/LB/Static nat rules if (!cleanupIpResources(addrId, userId, caller)) { - success = false; - s_logger.warn("Failed to release resources for ip address id=" + addrId); + String msg = String.format("Failed to release resources for ip address id=%s", addrId); + s_logger.error(msg); + throw new CloudRuntimeException(msg); } IPAddressVO ip = markIpAsUnavailable(addrId); @@ -1567,7 +1568,7 @@ public IPAddressVO associateIPToGuestNetwork(long ipId, long networkId, boolean if (ip != null) { try { s_logger.warn("Failed to associate ip address, so releasing ip from the database " + ip); - _ipAddressDao.markAsUnavailable(ip.getId()); + _ipAddressDao.markAsReleasing(ip.getId()); if (!applyIpAssociations(network, true)) { // if fail to apply ip associations again, unassign ip address without updating resource // count and generating usage event as there is no need to keep it in the db @@ -1981,7 +1982,7 @@ public IPAddressVO doInTransaction(TransactionStatus status) { } } - return _ipAddressDao.markAsUnavailable(addrId); + return _ipAddressDao.markAsReleasing(addrId); } }); }