Prachi Damle created CLOUDSTACK-5895:
----------------------------------------

             Summary: 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