diff --git a/api/src/org/apache/cloudstack/api/ApiCommandJobType.java b/api/src/org/apache/cloudstack/api/ApiCommandJobType.java index 227fb30114f..ead6ce1eede 100644 --- a/api/src/org/apache/cloudstack/api/ApiCommandJobType.java +++ b/api/src/org/apache/cloudstack/api/ApiCommandJobType.java @@ -53,5 +53,6 @@ public enum ApiCommandJobType { IAMPolicy, IAMGroup, GuestOs, - GuestOsMapping + GuestOsMapping, + Network } diff --git a/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java index 2811434f805..43b6633bde4 100644 --- a/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java @@ -16,6 +16,7 @@ // under the License. package org.apache.cloudstack.api.command.user.network; +import org.apache.cloudstack.api.ApiCommandJobType; import org.apache.log4j.Logger; import org.apache.cloudstack.acl.SecurityChecker.AccessType; @@ -105,6 +106,15 @@ public class DeleteNetworkCmd extends BaseAsyncCmd { return "Deleting network: " + id; } + @Override + public Long getInstanceId() { + return getId(); + } + + @Override + public ApiCommandJobType getInstanceType() { + return ApiCommandJobType.Network; + } @Override public long getEntityOwnerId() { Network network = _networkService.getNetwork(id); diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index c589781e57c..1da62ccb833 100644 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -1217,7 +1217,7 @@ public class ApiDBUtils { } public static NetworkVO findNetworkById(long id) { - return s_networkDao.findById(id); + return s_networkDao.findByIdIncludingRemoved(id); } public static Map> getNetworkCapabilities(long networkId, long zoneId) { @@ -1599,6 +1599,11 @@ public class ApiDBUtils { if (group != null) { jobInstanceId = group.getUuid(); } + } else if (jobInstanceType == ApiCommandJobType.Network) { + NetworkVO networkVO = ApiDBUtils.findNetworkById(job.getInstanceId()); + if(networkVO != null) { + jobInstanceId = networkVO.getUuid(); + } } else if (jobInstanceType != ApiCommandJobType.None) { // TODO : when we hit here, we need to add instanceType -> UUID // entity table mapping