Bug 1575777 - RHV import fails if VM has an unreachable floppy defined
Summary: RHV import fails if VM has an unreachable floppy defined
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 4.1.11
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-4.3.0
: 4.3.0
Assignee: Tomáš Golembiovský
QA Contact: Nisim Simsolo
URL:
Whiteboard:
Depends On: 1641536
Blocks: 1576675
TreeView+ depends on / blocked
 
Reported: 2018-05-07 21:36 UTC by Javier Coscia
Modified: 2021-06-10 16:13 UTC (History)
8 users (show)

Fixed In Version: v4.30.3
Doc Type: Bug Fix
Doc Text:
Previously, a floppy drive in a virtual machine could prevent the virtual machine from being imported. In the current release, floppy drives are ignored during import.
Clone Of:
: 1576675 (view as bug list)
Environment:
Last Closed: 2019-05-08 12:36:02 UTC
oVirt Team: Virt
Target Upstream Version:
Embargoed:
lsvaty: testing_plan_complete-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 3434901 0 None None None 2018-05-08 12:12:36 UTC
Red Hat Product Errata RHBA-2019:1077 0 None None None 2019-05-08 12:36:24 UTC
oVirt gerrit 90981 0 'None' MERGED v2v: ignore floppy drives 2020-02-25 11:03:08 UTC
oVirt gerrit 91085 0 'None' MERGED v2v: ignore floppy drives 2020-02-25 11:03:08 UTC

Description Javier Coscia 2018-05-07 21:36:56 UTC
Description of problem:

Import VM from external provider to RHV fails if the VM has a floppy device defined which is not reachable in RHV destination hypervisor


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

rhevm-4.1.9.1-0.1.el7
vdsm-4.19.50-1.el7ev
virt-v2v-1.36.3-6.el7_4.3

How reproducible:

100%

Steps to Reproduce:

1. Have a VM with floppy defined:

    <disk type='file' device='floppy'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/iso/XXXX.vfd'/>
      <target dev='fda' bus='fdc'/>
      <alias name='fdc0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>

2. Import VM to RHV environment from external provider, in this case it was KVM
3. It fails due to unreachable floppy disk

Actual results:

VM import fails from external provider to RHV

Expected results:

VM import should be successful as we can ignore floppy device like we did for CDROM in https://bugzilla.redhat.com/show_bug.cgi?id=1485807



Additional info:




=========
vdsm.log
=========

~~~
2018-04-25 21:24:50,042-0500 ERROR (jsonrpc/4) [root] Error getting disk size (v2v:1089)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/v2v.py", line 1078, in _get_disk_info
    vol = conn.storageVolLookupByPath(disk['alias'])
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 4555, in storageVolLookupByPath
    if ret is None:raise libvirtError('virStorageVolLookupByPath() failed', conn=self)
libvirtError: Storage volume not found: no storage vol with matching path

2018-04-25 21:24:50,043-0500 WARN  (jsonrpc/4) [root] Cannot add VM XXXXXXXXXXXX due to disk storage error (v2v:1020)
~~~

========
KVM XML
========


    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/vm/DISK1.img'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/vm/DISK2.img'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <disk type='file' device='floppy'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/iso/virtio-win-1.7.1_amd64.vfd'/>
      <target dev='fda' bus='fdc'/>
      <alias name='fdc0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>




Workaround is to umount / undefine floppy disk definition from source, then import the VM

Comment 2 Michal Skrivanek 2018-05-08 06:38:23 UTC
please also check the new wrapper

Comment 3 Javier Coscia 2018-05-08 12:59:47 UTC
Not sure if I did it right but I've added the "or device == 'floppy'" on lib/vdsm/v2v.py

https://gerrit.ovirt.org/#/c/90981/

Although I see there's a 'Merge Conflict' on it, not sure what could be wrong

Comment 6 Nisim Simsolo 2018-10-25 10:55:01 UTC
Verified_upstream:
ovirt-engine-4.3.0-0.0.master.20181023141116.gitc92ccb5.el7
vdsm-4.30.1-25.gitce9e416.el7.x86_64
libvirt-client-4.5.0-10.el7.x86_64
qemu-kvm-common-ev-2.10.0-21.el7_5.7.1.x86_64
virt-v2v-1.38.2-12.el7.x86_64

Verification scenario:
1. Import KVM VM with unreachable path.
2. Verify VM imported successfully and VM parameters are equal to source VM parameters.. Run VM and verify VM is running properly.
3. Repeat steps 1-2 foe Xen VM.
4. Repeat steps 1-2 for VMware VM.

Comment 8 errata-xmlrpc 2019-05-08 12:36:02 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://access.redhat.com/errata/RHBA-2019:1077

Comment 9 Daniel Gur 2019-08-28 13:14:10 UTC
sync2jira

Comment 10 Daniel Gur 2019-08-28 13:18:27 UTC
sync2jira


Note You need to log in before you can comment on or make changes to this bug.