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)