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