Earlier there was no scenarios where deployment plan had host id specified for 
a ROOT disk. If new scenarios like storage migration needs them, the condition 
can be relaxed to remove data disk type check.

On 28-May-2014, at 2:18 PM, Wido den Hollander <w...@widodh.nl> wrote:

> 
> 
> On 05/28/2014 10:20 AM, Devdeep Singh wrote:
>> Hi,
>> 
>> I am looking into an issue where migration of a vm with its volume (storage 
>> motion) fails. The root volume of the vm is on local storage. The issue is 
>> that when LocalStoragePoolAllocator::select gets called and the hostid is 
>> included in the plan, the function ends up returning local storage pools 
>> from other hosts in the cluster too. This is happening because we list local 
>> storage pools on a host only if the volume type is 'Data'; otherwise we list 
>> all the storage pools in the cluster.
>> 
>> <code snippet>
>> // 4.4-forward branch, 
>> ./engine/storage/src/org/apache/cloudstack/storage/allocator/LocalStoragePoolAllocator.java,
>>  Line 76
>> if (dskCh.getType() == Volume.Type.DATADISK && plan.getHostId() != null) {
>> </code snippet>
>> 
>> Anyone aware why the check for data disk type was added in the first place? 
>> Will it break any scenario if I remove this check?
> 
> Looking at it this seems like a bug to me. A ROOT or DATA volume is bound to 
> the host where it's stored on. So there is no difference between ROOT and 
> DATA.
> 
> Wido
> 
>> 
>> Regards,
>> Devdeep
>> 

Reply via email to