Bug 1371747 - Avoid migration if the destination ignoring unknown XML parts would break ABI
Summary: Avoid migration if the destination ignoring unknown XML parts would break ABI
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: ---
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Virtualization Maintenance
QA Contact: Fangge Jin
URL:
Whiteboard:
: 1529472 1938956 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-31 02:19 UTC by Yang Yang
Modified: 2021-06-15 07:31 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-15 07:31:00 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Domain configuration xml (6.27 KB, text/plain)
2016-08-31 02:22 UTC, Yang Yang
no flags Details

Description Yang Yang 2016-08-31 02:19:47 UTC
Description of problem:
xhci usb controller with ports is used in my vm. I migrate vm from rhel7.3 to rhel7.2.
Migration gets 100% process but unexpectedly failed finally. Libvirt should
reject to migrate this vm prior to qemu-kvm rejects

Version-Release number of selected component (if applicable):
Source host:
libvirt-2.0.0-6.el7.x86_64
qemu-kvm-rhev-2.6.0-22.el7.x86_64

Target host:
libvirt-1.2.17-13.el7_2.5.x86_64
qemu-kvm-rhev-2.3.0-31.el7_2.21.x86_64

How reproducible:
100%

Steps to Reproduce:
1. start vm with xhci usb controller with ports on source host
<controller type='usb' index='1' model='nec-xhci' ports='8'>
      <alias name='usb1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>

# virsh list
 Id    Name                           State
----------------------------------------------------
 7     vm-mig                         running


2. migrate vm
# virsh migrate vm-mig qemu+ssh://10.66.4.113/system --verbose --live --unsafe
root.4.113's password:
Migration: [100 %]error: operation failed: job: unexpectedly failed

Actual results:
migration failed

Expected results:
Reject to migrate vm using usb-xhci controller with ports


Additional info:
addressed vm log on target host
2016-08-29T10:08:50.236359Z qemu-kvm: error while loading state for instance 0x0 of device '0000:00:08.0/xhci'
2016-08-29T10:08:50.236486Z qemu-kvm: load of migration failed: Input/output error
2016-08-29 10:08:50.237+0000: shutting down

Comment 1 Yang Yang 2016-08-31 02:22:25 UTC
Created attachment 1196140 [details]
Domain configuration xml

Comment 2 Jiri Denemark 2017-11-22 12:54:40 UTC
We could avoid this kind of bugs by letting the destination daemon send the
XML definition it used to start QEMU process for incoming migration back to
the source daemon. Before actually starting the migration the source daemon
would check the incoming definition and its internal definition for ABI
compatibility and abort in case the two definitions are incompatible. This way
the source could detect if the destination ignored some parts of the XML
definition.

Comment 3 Peter Krempa 2018-01-03 13:57:33 UTC
*** Bug 1529472 has been marked as a duplicate of this bug. ***

Comment 4 Han Han 2020-04-14 04:00:26 UTC
For migration from RHEL8.2-AV(libvirt-6.0.0-17.module+el8.2.0+6257+0d066c28.x86_64 qemu-kvm-4.2.0-17.module+el8.2.0+6141+0f540f16.x86_64) to RHEL8.1-AV(libvirt-5.6.0-10.module+el8.1.1+5309+6d656f05.x86_64 qemu-kvm-4.1.0-23.module+el8.1.1+6238+f5d69f68.3.x86_64), these elements will be ignored by old libvirt:
1. <slices>
2. <cookies>

Comment 8 Peter Krempa 2021-03-16 09:58:30 UTC
*** Bug 1938956 has been marked as a duplicate of this bug. ***

Comment 9 RHEL Program Management 2021-06-15 07:31:00 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.


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