Return-Path: X-Original-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 00FCDD216 for ; Mon, 24 Dec 2012 03:39:12 +0000 (UTC) Received: (qmail 84708 invoked by uid 500); 24 Dec 2012 03:39:12 -0000 Delivered-To: apmail-incubator-cloudstack-dev-archive@incubator.apache.org Received: (qmail 84658 invoked by uid 500); 24 Dec 2012 03:39:12 -0000 Mailing-List: contact cloudstack-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-dev@incubator.apache.org Received: (qmail 84648 invoked by uid 99); 24 Dec 2012 03:39:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Dec 2012 03:39:11 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,URIBL_DBL_REDIR X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of Prasanna.Santhanam@citrix.com designates 203.166.19.134 as permitted sender) Received: from [203.166.19.134] (HELO SMTP.CITRIX.COM.AU) (203.166.19.134) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Dec 2012 03:39:05 +0000 X-IronPort-AV: E=Sophos;i="4.84,343,1355097600"; d="scan'208";a="179119" Received: from banpmailmx02.citrite.net ([10.103.128.74]) by SYDPIPO01.CITRIX.COM.AU with ESMTP/TLS/RC4-MD5; 24 Dec 2012 03:38:44 +0000 Received: from citrix.com (10.252.112.33) by BANPMAILMX02.citrite.net (10.103.128.74) with Microsoft SMTP Server id 8.3.279.5; Mon, 24 Dec 2012 09:08:41 +0530 Date: Sun, 23 Dec 2012 19:38:39 -0800 From: Prasanna Santhanam To: "cloudstack-dev@incubator.apache.org" Subject: Re: API Updates: Tracking progress, changes Message-ID: <20121224033839.GB13542@cloud.citrite.net> Mail-Followup-To: "cloudstack-dev@incubator.apache.org" References: <091D99E8-2FF7-4EEA-AAED-3004019F4999@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Virus-Checked: Checked by ClamAV on apache.org On Mon, Dec 24, 2012 at 08:27:52AM +0530, Min Chen wrote: > Added recent change and TODO item for list api performance > optimization. > > Thanks > -min > > On 12/23/12 6:20 PM, "Rohit Yadav" > > wrote: > > This thread is for tracking progress, changes on api_refactoring. > > Current changes: > 1. Introduction of a new InternalIdentity interface that provides a > contract for any extending Interface or implementing class that it > would have a getId() method that returns the internal id (long). > 2. Merge master on api_refactoring to get the latest changes, all > merge conflicts (about 3k lines) resolved. > 3. Host/hypervisor simulator runs with the mgmt server when the > profile simulator (mvn xxx -P simulator) is selected. The simulator is mostly running now save for systemVms that don't come up unless you remove the SecondaryStorageDiscoverer from components.xml. I'm still figuring out how to fix ComponentLocator to not load multiple adapters of the same name. Until then do the following: diff --cc build/replace.properties index c9a93c2,c9a93c2..23156ed --- a/build/replace.properties +++ b/build/replace.properties @@@ -24,6 -24,6 +24,6 @@@ DBHOST=localhos AGENTLOGDIR=logs AGENTLOG=logs/agent.log MSMNTDIR=/mnt --COMPONENTS-SPEC=components.xml ++COMPONENTS-SPEC=components-simulator.xml AWSAPILOG=awsapi.log REMOTEHOST=localhost diff --cc client/tomcatconf/components.xml.in index 5957b61,5957b61..d224356 --- a/client/tomcatconf/components.xml.in +++ b/client/tomcatconf/components.xml.in @@@ -130,7 -130,7 +130,6 @@@ under the License -- And then to startup the simulator: mvn -Psimulator clean install mvn -Pdeveloper -pl developer -Ddeploydb mvn -Pdeveloper -pl developer -Ddeploydb-simulator mvn -pl client jetty:run > 4. Correctly annotate @Parameter on *all apis* and remove > @IdentityMapper, except for few in plugin whose VO classes did not > implement an interface. For. ex: ExternalLoadBalancerDeviceVO, > NiciraNvpDeviceVO > 5. Get rid of IdentityMapper annotation processing code in > ApiDispatcher. > 6. Replace IdentityProxy field in all Response classes by String > field except CreateCmdResponse. > 7. Created Host db join view to improve listHostsCmd performance. > > TODO: > 1. Prasanna to completely resurrect the simulator. Check: There might be some commands that might be missing from Simulator's set but we can fix those along the way as we hit the corressponding API Cmd. > 2. Fix ACL Role and checkaccess adapters, move out config. to the > plugin and implement an interface for ACL adapter to get mappings of > apiname etc. > 3. Rename @Implementation to @Command and introduce name field so we > tightly couple over the wire api name to the Cmd class (no mappings > in properties files necessary). > 4. Performance profiling for several costly list APIs > (listAccountsCmd, listUserCmd, listVolumesCmd, listStorgePoolsCmd) > identified by QAs and look into creation of DB join views for > these responses. 5. Come up with the marvin configurations covering the admin APIs/user APIs. 6. CRUD tests I'll start on 5 & 6 tomorrow. Happy Christmas and Happy Holidays to all! -- Prasanna.,