Bug 1569145

Summary: [Backup restore API] Start VM, with snapshot disk attached, resides on iSCSI, fails with libvirtError
Product: [oVirt] vdsm Reporter: Elad <ebenahar>
Component: CoreAssignee: Michal Skrivanek <michal.skrivanek>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 4.20.23CC: bugs, ebenahar, michal.skrivanek
Target Milestone: ovirt-4.2.3Keywords: Automation, Regression
Target Release: ---Flags: rule-engine: ovirt-4.2+
rule-engine: blocker+
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-10 06:27:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
logs none

Description Elad 2018-04-18 17:05:25 UTC
Created attachment 1423686 [details]
logs

Description of problem:
Basic backup restore API scenario of VM start while it has a snapshot disk attached, resides on an iSCSI domain, fails with libvirtError.

Version-Release number of selected component (if applicable):
vdsm-4.20.25-1.el7ev.ppc64le
libvirt-3.9.0-14.el7_5.2.ppc64le
qemu-img-rhev-2.10.0-21.el7_5.2.ppc64le
sanlock-3.6.0-1.el7.ppc64le
Red Hat Enterprise Linux Server 7.5 (Maipo)
kernel 3.10.0-862.el7.ppc64le

ovirt-engine-4.2.3-0.1.el7.noarch


How reproducible:
1/1
Can't re-test this as the PPC env we have in RHV QE is not available for the time being. Will re-execute the test case once the env is back.

Steps to Reproduce:
1. Create VM (source VM) with disk attached on iscsi domain 
2. Create a snapshot for the source VM
3. Create a second VM (backup VM)
4. Attach the backup disk snapshot of source VM to the backup VM (via REST)
5. Start backup VM


Actual results:

Start VM fails:

2018-04-17 19:11:03,926+0300 ERROR (vm/9165385b) [virt.vm] (vmId='9165385b-f28b-4474-990b-4391f0be2b47') The vm start process failed (vm:943)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 872, in _startUnderlyingVm
    self._run()
  File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 2872, in _run
    dom.createWithFlags(flags)
  File "/usr/lib/python2.7/site-packages/vdsm/common/libvirtconnection.py", line 130, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vdsm/common/function.py", line 92, in wrapper
    return func(inst, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1099, in createWithFlags
    if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
libvirtError: unsupported configuration: native I/O needs either no disk cache or directsync cache mode, QEMU will fallback to aio=threads
2018-04-17 19:11:03,926+0300 INFO  (vm/9165385b) [virt.vm] (vmId='9165385b-f28b-4474-990b-4391f0be2b47') Changed state to Down: unsupported configuration: native I/O needs either no disk cache or directsync cache mode, QEMU will fallback to aio=threads (code=1) (vm:1683)


Expected results:
VM should start

Additional info:
engine.log:

2018-04-17 19:11:06,116+03 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ForkJoinPool-1-worker-15) [] EVENT_ID: VM_DOWN_ERROR(119), VM backup_vm_TestCase6183_1719104052 is down with error. Exit message: unsupported configuration: native I/O needs either no disk cache or directsync cache mode, QEMU will fallback to aio=threads.

Comment 1 Elad 2018-04-18 17:08:36 UTC
Marked regression as this test has passed with rhv-4.2.2-10 on RHV automation tier1 from April 8.

Comment 2 Michal Skrivanek 2018-04-19 07:11:52 UTC
likely fixed by https://gerrit.ovirt.org/#/c/90287/, please retest with 4.2.3-2

Comment 3 Elad 2018-04-19 22:31:48 UTC
Not specific to PPC, reproduced also on x86_64.

Comment 4 Elad 2018-04-19 23:34:56 UTC
Michal, indeed, in 4.2.3-2 the bug does not occur.
Please add the gerrit external tracker and can move to ON_QA, I'll verify.

Thanks!

Comment 5 Elad 2018-04-22 08:23:38 UTC
Start VM, with snapshot disk attached, succeeds on all storage types - tested with iscsi, fcp, nfs and gluster. 

Verified using:
vdsm-4.20.26-1.el7ev.x86_64
libvirt-3.9.0-14.el7_5.3.x86_64
qemu-img-rhev-2.10.0-21.el7_5.2.x86_64
ovirt-engine-4.2.3.2-0.1.el7.noarch

Comment 6 Sandro Bonazzola 2018-05-10 06:27:36 UTC
This bugzilla is included in oVirt 4.2.3 release, published on May 4th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.3 release, it has been closed with a resolution of CURRENT RELEASE.

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