Updated Branches: refs/heads/4.3 233f0f618 -> 9c32605f2
CLOUDSTACK-4987: when addNic to vm, don't make account check if the call is made by ROOT admin Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9c32605f Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9c32605f Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9c32605f Branch: refs/heads/4.3 Commit: 9c32605f2b877134df4b512dea4ea8c4fa8e65e9 Parents: 233f0f6 Author: Alena Prokharchyk <alena.prokharc...@citrix.com> Authored: Thu Jan 16 13:27:09 2014 -0800 Committer: Alena Prokharchyk <alena.prokharc...@citrix.com> Committed: Thu Jan 16 13:35:04 2014 -0800 ---------------------------------------------------------------------- server/src/com/cloud/vm/UserVmManagerImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9c32605f/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index a3dbcb7..ea38d12 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -987,8 +987,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir throw new InvalidParameterValueException("unable to find a network with id " + networkId); } - Account vmOwner = _accountMgr.getAccount(vmInstance.getAccountId()); - if (vmOwner.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { if (!(network.getGuestType() == Network.GuestType.Shared && network.getAclType() == ACLType.Domain) && !(network.getAclType() == ACLType.Account && network.getAccountId() == vmInstance.getAccountId())) { throw new InvalidParameterValueException("only shared network or isolated network with the same account_id can be added to vmId: " + vmId); @@ -2799,8 +2798,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir + zone.getId()); } - Account vmOwner = _accountMgr.getAccount(accountId); - if (vmOwner.getType() != Account.ACCOUNT_TYPE_ADMIN) { + //relax the check if the caller is admin account + if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { if (!(network.getGuestType() == Network.GuestType.Shared && network.getAclType() == ACLType.Domain) && !(network.getAclType() == ACLType.Account && network.getAccountId() == accountId)) { throw new InvalidParameterValueException("only shared network or isolated network with the same account_id can be added to vm");