diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 55c86716790..712693185d1 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -814,7 +814,11 @@ public class ApiDBUtils { public static String getKeyPairName(String sshPublicKey) { SSHKeyPairVO sshKeyPair = _sshKeyPairDao.findByPublicKey(sshPublicKey); - return sshKeyPair.getName(); + //key might be removed prior to this point + if (sshKeyPair != null) { + return sshKeyPair.getName(); + } + return null; } public static UserVmDetailVO findPublicKeyByVmId(long vmId) { diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 9cd2b487623..4f489bc15f9 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -3298,7 +3298,7 @@ public class ManagementServerImpl implements ManagementServer { throw ex; } - return _sshKeyPairDao.deleteByName(caller.getAccountId(), caller.getDomainId(), cmd.getName()); + return _sshKeyPairDao.deleteByName(owner.getAccountId(), owner.getDomainId(), cmd.getName()); } @Override