You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/01/17 20:38:23 UTC
[jira] [Commented] (CLOUDSTACK-5895) CreateVolumeFromSnapshot can
fail in a multiple pod environment with tagged storagepool
[ https://issues.apache.org/jira/browse/CLOUDSTACK-5895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13875170#comment-13875170 ]
ASF subversion and git services commented on CLOUDSTACK-5895:
-------------------------------------------------------------
Commit 8a20d89d14d909077df0674a902c0eda4206be15 in branch refs/heads/master from [~prachidamle]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=8a20d89 ]
CLOUDSTACK-5895: CreateVolumeFromSnapshot can fail in a multiple pod environment with tagged storagepool
Changes:
- After finding the storagepool suitable to create the volume, we should not look for more pods
> 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)