Bug 1030749

Summary: the guest will be shutdown after do snapshot when using an glusterfs volume as source disk
Product: Red Hat Enterprise Linux 7 Reporter: Shanzhi Yu <shyu>
Component: libvirtAssignee: Peter Krempa <pkrempa>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: acathrow, bili, dyuan, mzhan, pkrempa
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-22 14:18:08 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 Shanzhi Yu 2013-11-15 04:24:42 UTC
Description of problem:

the guest will be shutdown after do snapshot when using an glusterfs volume as source disk

Version-Release number of selected component:
qemu-kvm-rhev-1.5.3-19.el7.x86_64
libvirt-1.1.1-12.el7.x86_64

How reproducible:
100%

1. define an guest with glusterfs volume as the source disk
# virsh dumpxml rhel6
....
<disk type='network' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source protocol='gluster' name='gluster-vol1/rhel6.img'>
        <host name='10.66.106.22' port='24007'/>
      </source>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
 <controller type='scsi' index='0' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>
....

2. start guest and do snapshot
# virsh start rhel6 ;virsh list ;virsh snapshot-create rhel6;virsh list

Domain rhel6 started

Id    Name                           State
----------------------------------------------------
 5     rhel6                          running

Domain snapshot 1384488875 created

 Id    Name                           State
----------------------------------------------------
 -     rhel6                          shut off

3. virsh edit rhel6.

 <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/lib/libvirt/images/kvm-rhel6.4-x86_64-qcow2.img'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>

4. start guest and do snapshot

# virsh start rhel6 ; virsh snapshot-create rhel6;virsh list

Domain rhel6 started

Domain snapshot 1384488881 created
 Id    Name                           State
----------------------------------------------------
 40    rhel6                          running


Actual results:

as above 

Expected results:

in step 2, guest still be running after do snapshot

Additional info:

Comment 2 Shanzhi Yu 2013-11-19 08:31:58 UTC
Hi Peter,
I think problems listing below is related with this bug. So I list my steps here. Please help to confirm it.

Description of problem:

fail reverting guest to snapshot to running/paused status when guest using glusterfs volume

Version-Release number of selected component (if applicable):

qemu-kvm-rhev-1.5.3-19.el7.x86_64
libvirt-1.1.1-12.el7.x86_64


How reproducible:

100%

Steps to Reproduce:
1. create an guest with glusterfs volume
# virsh dumpxml rhel6
..
 <disk type='network' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source protocol='gluster' name='gluster-vol1/rhel6-qcow2.img'>
        <host name='10.66.106.22' port='24007' transport='rdma'/>
      </source>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>

..

2. create an running status snapshot for guest

# virsh snapshot-list rhel6
 Name                 Creation Time             State
------------------------------------------------------------
 1384506518           2013-11-15 17:08:38 +0800 running

this snapshot is created in comment 0

3. revert guest to snapshot to running status

# virsh  snapshot-revert rhel6 1384506518 --running ;virsh list --all


 Id    Name                           State
----------------------------------------------------
 -     rhel6                          shut off



Actual results:

as above

Expected results:

guest should be running in step 3

Additional info:

Problems in comment 0 and comment 1 are both related with
lines "<controller type='scsi' index='0' model='virtio-scsi'> 
..
</controller>"
because if i delete these three line then do the test, it works well;
or if i keep these three line and change line
"<target dev='vda' bus='virtio'/>" to 
"<target dev='sda' bus='scsi'/>", it work well also.
However, if i use file type disk, it work well on all situations above.

There is a similar bug 1031943. i think.

Comment 3 Peter Krempa 2013-11-22 14:18:08 UTC
Yes I think that bug 1031943 causes this issue too. Closing as duplicate.

*** This bug has been marked as a duplicate of bug 1031943 ***