[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-5895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prachi Damle resolved CLOUDSTACK-5895.
--------------------------------------

    Resolution: Fixed

> CreateVolumeFromSnapshot can fail in a multiple pod environment with tagged 
> storagepool
> ---------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-5895
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5895
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>    Affects Versions: 4.2.0
>            Reporter: Prachi Damle
>            Assignee: Prachi Damle
>            Priority: Critical
>             Fix For: 4.3.0
>
>
> Failed to create volume from snapshot.
> REPRO STEPS
> =======================
> SetUp: Use a setup having multiple pods.
> 1. Tag two primary storages in the same cluster with two different tag's say 
> one for root disk 'ROOT_DISK' and another for data disk 'DATA_DISK'.
> 2. Create corresponding compute offering and disk offering .
> 3. Launch an instance using the above created compute offering
> 4. Add the data disk later.
> 5. Create a snapshot of the data disk and try to create a volume out of it.
> It appears that no Storagepool is found suitable to create the volume. But 
> the bug is actually caused because of the code below which skips the volume 
> creation even if a suitable storage pool is found:
> Root cause of the issue is this bug in VolumeManagerImpl:
> // Determine what pod to store the volume in
> while ((pod = findPod(null, null, dc, account.getId(), podsToAvoid)) != null) 
> {
> podsToAvoid.add(pod.first().getId());
> // Determine what storage pool to store the volume in
> while ((pool = findStoragePool(dskCh, dc, pod.first(), null, null, null, 
> poolsToAvoid)) != null)
> { break; }
> }
> The 'findStoragePool' calls the Allocators that returns suitable pool - the 
> inner loop ends - but the outer loops continues to find another pod until no 
> pod is left.
> This is the bug causing the create Volume from Snapshot usecase fail - and it 
> will affect always in such a setup.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to