Bug 1392769

Summary: gluster exported qcow2 img cannot be used by latest qemu-kvm-rhev/libvirt
Product: Red Hat Enterprise Linux 7 Reporter: yisun
Component: glusterfsAssignee: Yaniv Kaul <ykaul>
Status: CLOSED DEFERRED QA Contact: Sweta Anandpara <sanandpa>
Severity: high Docs Contact:
Priority: high    
Version: 7.3CC: jiyan, lmen, xuzhang, yisun
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-24 12:07:46 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:

Description yisun 2016-11-08 08:30:44 UTC
Desription:
gluster exported qcow2 img cannot be used by latest qemu-kvm-rhev/libvirt

PLEASE NOTE, THIS ISSUE NOT REPRODUCED WITH glusterfs-server-3.8.4-1.el7rhgs.x86_64
SO IT'A REGRESSION

How reproducible:
100%

Versions:
kernel-3.10.0-514.2.1.el7.x86_64
libvirt-2.0.0-10.el7_3.1.x86_64
qemu-img-rhev-2.6.0-27.el7.x86_64
qemu-kvm-common-rhev-2.6.0-27.el7.x86_64
qemu-kvm-rhev-2.6.0-27.el7.x86_64
glusterfs-libs-3.8.4-3.el7rhgs.x86_64
glusterfs-cli-3.8.4-3.el7rhgs.x86_64
glusterfs-3.8.4-3.el7rhgs.x86_64
glusterfs-api-3.8.4-3.el7rhgs.x86_64
glusterfs-fuse-3.8.4-3.el7rhgs.x86_64
glusterfs-client-xlators-3.8.4-3.el7rhgs.x86_64
glusterfs-server-3.8.4-3.el7rhgs.x86_64


Reproduce steps:
1. Prepare a gluster server in localhost, as follow
Add "option rpc-auth-allow-insecure on" in /etc/glusterfs/glusterd.vol
#vim /etc/glusterfs/glusterd.vol
volume management
...
    option rpc-auth-allow-insecure on
...
# service glusterd restart
Stopping glusterd:                                         [  OK  ]
Starting glusterd:                                         [  OK  ]
# mkdir /br1
# chmod -R 777 /br1
# setenforce 0
# iptables -F
# gluster volume create gluster-vol1 localhost:/br1 force
# gluster volume set gluster-vol1 server.allow-insecure on
# gluster volume start gluster-vol1
# gluster volume set gluster-vol1 nfs.disable on
# qemu-img create -f qcow2 /br1/test.qcow2 1G
# service glusterd restart

2. edit a vm and insert following virtual dis
#virsh edit avocado-vt-vm1
    <disk type='network' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source protocol='gluster' name='gluster-vol1/test.qcow2'>
        <host name='127.0.0.1' port='24007'/>
      </source>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>

3. start the guest failed, as follow:
# virsh start avocado-vt-vm1
error: Failed to start domain avocado-vt-vm1
error: internal error: qemu unexpectedly closed the monitor: [2016-11-08 06:42:30.011107] I [MSGID: 104045] [glfs-master.c:91:notify] 0-gfapi: New graph 7367692d-7576-3230-2d30-312e72687473 (0) coming up
[2016-11-08 06:42:30.011160] I [MSGID: 114020] [client.c:2356:notify] 0-gluster-vol1-client-0: parent translators are ready, attempting connect on transport
[2016-11-08 06:42:30.014892] I [rpc-clnt.c:1947:rpc_clnt_reconfig] 0-gluster-vol1-client-0: changing port to 49152 (from 0)
[2016-11-08 06:42:30.018213] I [MSGID: 114057] [client-handshake.c:1446:select_server_supported_programs] 0-gluster-vol1-client-0: Using Program GlusterFS 3.3, Num (1298437), Version (330)
[2016-11-08 06:42:30.019558] I [MSGID: 114046] [client-handshake.c:1222:client_setvolume_cbk] 0-gluster-vol1-client-0: Connected to gluster-vol1-client-0, attached to remote volume '/br1'.
[2016-11-08 06:42:30.019576] I [MSGID: 114047] [client-handshake.c:1233:client_setvolume_cbk] 0-gluster-vol1-client-0: Server and Client lk-version numbers are not same, reopening th


Actual result:
Cannot start vm due to gluster error

Expected result:
Vm should be started correctly

Additional info:
1. if we create a raw img in gluster vol, and use that raw img in vm's virtual disk, everything is OK
2. This is not reproduced with glusterfs*-3.8.4-1, with below rpms 
# rpm -qa | egrep "libvirt-2|qemu-kvm|kernel-3|glusterfs"
glusterfs-libs-3.8.4-1.el7rhgs.x86_64
glusterfs-rdma-3.8.4-1.el7rhgs.x86_64
qemu-kvm-common-rhev-2.6.0-27.el7.x86_64
glusterfs-3.8.4-1.el7rhgs.x86_64
glusterfs-api-3.8.4-1.el7rhgs.x86_64
glusterfs-fuse-3.8.4-1.el7rhgs.x86_64
glusterfs-server-3.8.4-1.el7rhgs.x86_64
glusterfs-api-devel-3.8.4-1.el7rhgs.x86_64
glusterfs-geo-replication-3.8.4-1.el7rhgs.x86_64
glusterfs-debuginfo-3.8.4-1.el7rhgs.x86_64
libvirt-2.0.0-10.el7_3.1.x86_64
kernel-3.10.0-514.2.1.el7.x86_64
glusterfs-client-xlators-3.8.4-1.el7rhgs.x86_64
glusterfs-cli-3.8.4-1.el7rhgs.x86_64
glusterfs-devel-3.8.4-1.el7rhgs.x86_64
glusterfs-events-3.8.4-1.el7rhgs.x86_64
qemu-kvm-rhev-2.6.0-28.el7.x86_64

Comment 6 Yaniv Kaul 2019-10-24 12:07:46 UTC
Not touched for so many years, I hope it's solved by now!