cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Huang <Alex.Hu...@citrix.com>
Subject RE: deleteAffinityGroup API
Date Thu, 18 Jul 2013 23:00:39 GMT
This one is a problem.  I will look into it.  In the bug description, all the logs were background
threads.  All of CloudStack background threads act with system context.  That's correct. 
That's why I closed it out.

Here I think you're actually saying that when called through admin API, it came in as System
context.  That would be a bug if I understand you correctly.  

--Alex

> -----Original Message-----
> From: Prachi Damle
> Sent: Thursday, July 18, 2013 11:55 AM
> To: dev@cloudstack.apache.org
> Cc: Alex Huang
> Subject: RE: deleteAffinityGroup API
> 
> 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:tsp@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


Mime
View raw message