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 GitHub Bot (JIRA)" <ji...@apache.org> on 2015/08/14 13:25:46 UTC
[jira] [Commented] (CLOUDSTACK-8732) Unable to resize RBD volume:
"Cannot determine resize type from pool type RBD"
[ https://issues.apache.org/jira/browse/CLOUDSTACK-8732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14696895#comment-14696895 ]
ASF GitHub Bot commented on CLOUDSTACK-8732:
--------------------------------------------
GitHub user insom opened a pull request:
https://github.com/apache/cloudstack/pull/696
Default to notify only script to handle non-CLVM/QCOW cases.
This relates to [CLOUDSTACK-8732](https://issues.apache.org/jira/browse/CLOUDSTACK-8732)
Before this commit the call to `getResizeScriptType` would throw an exception (earlier versions returned `null`, which was fine) - this caused the RBD case to fail. By changing the default to notify only we fix the case for any non-CLVM and non-QCOW cases, too.
This is RBD for now, but this should extend to new storage types supported by Libvirt natively in future.
This is my first attempted contribution: I can see a case for adding RBD logic to the actual getResizeScriptType call, too, but I felt that putting it `LibvirtResizeVolumeCommandWrapper.java` kept the special-casing of RBD (and comments about that) in one place.
### Caveat:
With Libvirt 1.2.2 this actually doesn't do the right thing - but it does do what the documentation *says* should be the right thing, so I'm going to test if this is a Libvirt bug which is fixed in a later version.
(To make it work I need to execute something like:
virsh blockresize --path vda --size 100G i-7-44-VM
where vda is the path as far as the *guest* is concerned, and not an `rbd/` path - which *should* work, but doesn't.)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/iwebhosting/cloudstack rbd-live-resize
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/696.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #696
----
commit 77a96ed1f77627aa7c528b5b9f822b31ec1868a0
Author: Aaron Brady <aa...@iweb.co.uk>
Date: 2015-08-14T11:15:07Z
Default to notify only script to handle non-CLVM/QCOW cases.
Before this commit the call to `getResizeScriptType` would throw
an exception (earlier versions returned `null`, which was fine) -
this caused the RBD case to fail. By changing the default to
notify only we fix the case for any non-CLVM and non-QCOW cases.
This is RBD for now, but this should extend to new storage
types suppored by Libvirt natively in future.
----
> Unable to resize RBD volume: "Cannot determine resize type from pool type RBD"
> ------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-8732
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8732
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Affects Versions: 4.5.1
> Environment: Ubuntu 14.04, libvirt 1.2.2, qemu 2.0.0, ceph 0.94.2, Cloudstack 4.5.1, Kernel 3.16.0, KVM hypervisor
> Reporter: Darren Worrall
>
> First time reporter, so apologies early on if I've gotten anything wrong here.
> While trying to resize a RBD backed volume in our 4.5.1 installation (using the {{resizeVolume}} api call), the job fails with the error above. A [pull request|https://github.com/apache/cloudstack/pull/281] was merged in this space but it seems incomplete - you can see that {{getResizeScriptType}} in the source branch [returns null|https://github.com/remibergsma/cloudstack/blob/a26bbc2ce2f99e706895f9c0bbc6bdb5a522c37f/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java#L1824], but currently in master the above exception [is thrown|https://github.com/apache/cloudstack/blob/792c27c9bd97bc703ceb28fa8db24db7d0d46012/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java#L1428]
> You can see a management server log snippet [here|https://gist.githubusercontent.com/DazWorrall/3bfcb153dea8b137f38b/raw/1f41096b247221e26b5407ae777f5fe278614d54/management-server.log], compete with traces.
> This was discussed on the [mailing list|http://mail-archives.us.apache.org/mod_mbox/cloudstack-dev/201505.mbox/%3CCAMvtBPOu4TkAn2kzKNzpL0Scu3y032ghu3Av2QZgTSfaS3tsNQ@mail.gmail.com%3E] but I cant see if anything came of it. I can confirm the findings there though - going underneath Cloudstack and dealing with libvirt directly works fine, I can live resize root and data volumes without issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)