Rohit, it turned out that we were fixing the same bug yesterday:) I also
ran into template registration issue in vmware testing. I saw that you
fixed that issue through modifying java code. After discussing with Kelven
and Alex, we think that a more standard way to fix is to address this in
componentContext.xml (nonossComponentContext.xml) to set name property and
remove @Component annotation from BareMetalTemplateAdapater and
HyervisorTemplateAdapater (here our code has a typo here, this class
should be named as HypervisorTemplateAdapter). You can see that fix in my
feature branch 
(https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=commi
t;h=c0442e2556a7b10cfb363a2d4d55b7fb9c381297).  Kelven is cleaning up code
to use XML to load all component and remove auto-scanning, this bug fix
will be addressed there during his cleanup.

Thanks
-min

On 2/13/13 10:35 AM, "Frank Zhang" <[email protected]> wrote:

>Thanks for filing this bug.
>I am working on it recently, because new baremetal which is as a single
>plugin haven't been checked in when javelin refactoring. So there are
>some old code which is not working still stay in source, I am cleaning
>up/testing in my local source,
>will close these bug when fixes are checked in
>
>From: [email protected] [mailto:[email protected]] On Behalf Of
>Rohit Yadav
>Sent: Wednesday, February 13, 2013 2:01 AM
>To: Frank Zhang
>Cc: cloudstack
>Subject: Duplicate BareMetalTemplateAdapter classes
>
>Hi Frank,
>
>Can you check why we have two BareMetalTemplateAdapter;
>./plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalT
>emplateAdapter.java (Found no usage across codebase, removable?)
>./server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java (only this
>one is used, as spring would instantiate only this one with @Component
>annotation)
>
>And remove one which is redundant code? Found this while fixing
>CLOUDSTACK-1237.
>
>Regards.
>On Wed, Feb 13, 2013 at 3:26 PM, Rohit Yadav
><[email protected]<mailto:[email protected]>> wrote:
>This is an automatically generated e-mail. To reply, visit:
>https://reviews.apache.org/r/9420/
>
>
>
>
>This fix would have worked for Hypervisor but would have failed for
>baremetal... if we fix like this, there may be other template adapters
>whose class (simple) names. So, it was better to impl getName() for all
>implementing template adapters.
>
>
>
>Hongfu thank you for your patch, I was in middle of working and testing
>the patch and went ahead to commit the fix.
>
>
>- Rohit
>
>
>On February 13th, 2013, 5:07 a.m., Hongtu Zang wrote:
>Review request for cloudstack, mice xia, anthony xu, and SrikanteswaraRao
>Talluri.
>By Hongtu Zang.
>
>Updated Feb. 13, 2013, 5:07 a.m.
>
>Description
>
>In TemplateManagerImpl.java, function getAdapter(),
>TemplateAdapterType.Hypervisor.getName() returns "HyervisorAdapter",
>while it should returns "HyervisorTemplateAdapter". So, in
>AdapterBase.java function getAdapterByName() returns null.
>
>
>Testing
>
>register a template and start a vm.
>
>success.
>
>Bugs: CLOUDSTACK-1237, CLOUDSTACK-1240
>Diffs
>
> *   server/src/com/cloud/template/TemplateAdapter.java (19cfef0)
>
>View Diff<https://reviews.apache.org/r/9420/diff/>
>
>

Reply via email to