Bug 1079173

Summary: libvirt can not do vol-download for gluster pool volume
Product: Red Hat Enterprise Linux 7 Reporter: weizhang <weizhan>
Component: libvirtAssignee: Peter Krempa <pkrempa>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: dyuan, mzhan, rbalakri, shyu, xuzhang
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.2.7-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1118756 (view as bug list) Environment:
Last Closed: 2015-03-05 07:33:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1118756    
Attachments:
Description Flags
libvirtd.log none

Description weizhang 2014-03-21 06:55:41 UTC
Created attachment 877133 [details]
libvirtd.log

Description of problem:
libvirt can not do vol-download for gluster pool volume

Version-Release number of selected component (if applicable):
libvirt-1.1.1-28.el7.x86_64
qemu-kvm-rhev-1.5.3-55.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Create gluster volume
# gluster volume create gluster-vol1 xx.xx.xx.xx:/br1 force
volume create: gluster-vol1: success: please start the volume to access data

# gluster volume start gluster-vol1
volume start: gluster-vol1: success

# qemu-img create gluster://xx.xx.xx.xx/gluster-vol1/rh.img 1G
Formatting 'gluster://xx.xx.xx.xx/gluster-vol1/rh.img', fmt=raw size=1073741824
    
2. Create pool
# virsh pool-create /tmp/pool.xml
Pool gluster-pool created from /tmp/pool.xml

# virsh vol-list gluster-pool
Name                 Path                                    
-----------------------------------------
rh.img               gluster://xx.xx.xx.xx/gluster-vol1/rh.img

3. do vol-download
# virsh vol-download rh.img /tmp/tt.
tt.img  tt.xml  
[root@4-196 virt-test]# virsh vol-download rh.img /tmp/tt.download --pool gluster-pool
error: cannot download from volume rh.img
error: Unable to open stream for 'gluster://xx.xx.xx.xx/gluster-vol1/rh.img': No such file or directory

Actual results:
Fail to download

Expected results:
Succeed to download

Additional info:

Comment 1 Peter Krempa 2014-07-11 13:15:58 UTC
The error message is wrong, we don't support the operation on gluster volumes.

I've fixed the error reporting with:

commit 589c2ad93fa0eab8a093037ee95391619f700eb0
Author: Peter Krempa <pkrempa>
Date:   Mon Jul 7 16:50:11 2014 +0200

    storage: Split out volume upload/download as separate backend function
    
    For non-local storage drivers we can't expect to use the FDStream
    backend for up/downloading volumes. Split the code into a separate
    backend function so that we can add protocol specific code later.

v1.2.6-120-g589c2ad

And cloned this bug as https://bugzilla.redhat.com/show_bug.cgi?id=1118756 that tracks the feature request to add volume download/upload on gluster.

Comment 3 Xuesong Zhang 2014-12-23 11:05:54 UTC
Verify this bug with the following package version:
libvirt-1.2.8-11.el7.x86_64
qemu-img-rhev-2.1.2-17.el7.x86_64
kernel-3.10.0-219.el7.x86_64 

Steps:
1. prepare one gluster pool, there are some volumes in the pool
# virsh pool-list 
 Name                 State      Autostart 
-------------------------------------------
 default              active     yes       
 gluster-pool         active     no        

# virsh vol-list gluster-pool
 Name                 Path                                    
------------------------------------------------------------------------------
 test.qcow2           gluster://#glusterServerIP#/gluster-vol1/test.qcow2
 test.raw             gluster://#glusterServerIP#/gluster-vol1/test.raw

2. download one volume to local will fail with the correct error message.
# virsh vol-download test.qcow2 /tmp/test.download --pool gluster-pool
error: cannot download from volume test.qcow2
error: this function is not supported by the connection driver: storage pool doesn't support volume download

Change the bug status to verify.

Comment 5 errata-xmlrpc 2015-03-05 07:33:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0323.html