[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-3937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725487#comment-13725487
 ] 

edison su commented on CLOUDSTACK-3937:
---------------------------------------

Yah, I just added two lines of comments on that code in commit:

commit b3576cac27e1d9f91f6d8fad8044c4b36ad9a4cd
Author: Edison Su <[email protected]>
Date:   Tue Jul 30 11:37:05 2013 -0700

    add note on vmwarweguru->getCommandHostDelegation

I agree, this code is a little bit fragile, we should move the code into 
defaultendpointselector, as it's the right place to make decision.
                
> Attaching uploaded volume is failing
> ------------------------------------
>
>                 Key: CLOUDSTACK-3937
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3937
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Storage Controller
>    Affects Versions: 4.2.0
>            Reporter: Koushik Das
>            Assignee: Koushik Das
>            Priority: Blocker
>             Fix For: 4.2.0
>
>
> This got introduced as part of bfe30cd2e31906365a306d87fe331ccdcec5c33c.
> The uploaded volume is first copied from secondary to primary and then 
> attached to a VM. Due to the above commit the copy logic is broken in all HVs 
> except Vmware.
> There is a method
>     public Pair<Boolean, Long> getCommandHostDelegation(long hostId, Command 
> cmd)
> that is overidden in VmwareGuru.java and not in any other specific HV guru.
> Earlier this method was not overridden in any HV guru and so the below method 
> used to fall back on the default behavior and used to return the passed 
> hostId but now with the Vmware guru implementation request for any HV gets 
> processed by Vmware guru and results in NPE.
>     public long getGuruProcessedCommandTargetHost(long hostId, Command cmd) {
>         for(HypervisorGuru guru : _hvGuruList) {
>             Pair<Boolean, Long> result = 
> guru.getCommandHostDelegation(hostId, cmd);
>             if (result.first()) {
>                 return result.second();
>             }
>         }
>         return hostId;
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to