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