Hi Alex, The error thrown while deleting affinitygroup by Id is: " Account and domainId are needed for resource creation "
Many of our APIs call AccntManager to figure out owner of the resources the API is working on like this: Account caller = CallContext.current().getCallingAccount(); //earlier it was using UserContext and was replaced by CallContext Account owner = _accountMgr.finalizeOwner(caller, account, domainId, null); And AccountManager: finalizeOwner has this check at start: if (caller.getId() == Account.ACCOUNT_ID_SYSTEM && ((accountName == null || domainId == null) && projectId == null)) { throw new InvalidParameterValueException("Account and domainId are needed for resource creation"); } Now the CallContext.current().getCallingAccount(); is returning the System user causing the subsequent failure. Why would it return system user, if the caller is admin user? Thanks, Prachi -----Original Message----- From: Prasanna Santhanam [mailto:t...@apache.org] Sent: Thursday, July 18, 2013 6:09 AM To: dev@cloudstack.apache.org Subject: Re: deleteAffinityGroup API On Thu, Jul 18, 2013 at 02:17:46PM +0530, Prasanna Santhanam wrote: > On Thu, Jul 18, 2013 at 07:14:42AM +0000, Prachi Damle wrote: > > Account and domainId are not required parameters of this API. It > > works fine with just an id too. > > > > Account and domain will be used if delete is called providing a name > > of the group instead of id, say by an admin for a regular user's > > group. > > > > Thanks Prachi - I think it is related to the recent changes in > CallContext that is making the user system for the API call preventing > it from deleteing the aff.group with just an id. Filed a bug for it. Ok - Alex mentioned the bug is 'Not a Problem'. So it's only the background CS workers which use the CallContext. But the affinity group is still failing to delete using the id. -- Prasanna., ------------------------ Powered by BigRock.com