Alex, In that case if all test calls are over 8080, this looks to be a bug with 
CallContext then returning the system user.

-----Original Message-----
From: Prasanna Santhanam [mailto:t...@apache.org] 
Sent: Thursday, July 18, 2013 10:34 PM
To: dev@cloudstack.apache.org
Cc: Alena Prokharchyk; Alex Huang
Subject: Re: deleteAffinityGroup API

All of our tests go over 8080, I explained this to Prachi last night over IRC. 
The logs I picked out oddly had only system-background threads. I'll add more 
relevant logs.

or you can run the test_affinity_groups.py tests against a simulator run from 
test/integration/component/. That's how I repro-ed the issue.

On Thu, Jul 18, 2013 at 11:14:19PM +0000, Prachi Damle wrote:
> Prasanna does the regression  test scripts call using 8096 port?
> 
> If yes then that's the reason why the API is failing.
> 
> From: Alena Prokharchyk
> Sent: Thursday, July 18, 2013 4:13 PM
> To: dev@cloudstack.apache.org; Prachi Damle; Alex Huang
> Subject: Re: deleteAffinityGroup API
> 
> If the API came through port 8096, then the caller comes as a System context 
> (System default user id=1, account id=1). It was always like this since the 
> time the UserContext was introduced.
> 
> -Alena.
> 
> From: Alex Huang <alex.hu...@citrix.com<mailto:alex.hu...@citrix.com>>
> Reply-To: 
> "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" 
> <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>
> Date: Thursday, July 18, 2013 4:00 PM
> To: Prachi Damle 
> <prachi.da...@citrix.com<mailto:prachi.da...@citrix.com>>, 
> "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" 
> <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>
> Subject: RE: deleteAffinityGroup API
> 
> 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<mailto: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:t...@apache.org]
> Sent: Thursday, July 18, 2013 6:09 AM
> To: dev@cloudstack.apache.org<mailto: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
> 
> 

--
Prasanna.,

------------------------
Powered by BigRock.com

Reply via email to