Bug 842557
Summary: | libvirt doesn't check ABI compatibility of watchdog and channel fully | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Luwen Su <lsu> |
Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.4 | CC: | acathrow, berrange, dallan, dyasny, dyuan, mzhan, tzheng, yupzhang |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.10.0-0rc1.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-21 07:19:34 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: | |
Embargoed: |
Description
Luwen Su
2012-07-24 08:22:23 UTC
The watchdog action is a host-side configuration parameter, with no guest visible effect. The channel type is also (primarily) a host-side configuration parameter, so in general also does not need to be checked for ABI compatibilty. The one edge case in this though, is that setting 'spicevmc', then implies a specific guest visible channel name. IIRC, this should already be validated by an ABI check against the channel name field though. I can confirm that virtio channel name is checkedin ABI compatibility, however, if target name is not explicitly specified, the guest visible name could change when channel type changes (spicevmc defaults to "com.redhat.spice.0" while other types default to numbered ports). I think we need a new spicevmc-specific check. This is now fixed upstream by v0.10.0-rc0-151-gd413464: commit d4134642295210b00fe79adacbe10e86961e88a7 Author: Jiri Denemark <jdenemar> Date: Fri Aug 17 14:06:13 2012 +0200 conf: Fix ABI stability check for spicevmc channel Change device type of a virtio channel from/to spicevmc is not a user visible change. However, spicevmc channels use different default target name than other virtio channels. To maintain ABI stability during this change target name must be explicitly specified (and equal) in both configurations. Tested this issue libvirt-0.10.0-0rc1.el6.x86_64. Steps: 1.#virsh dumpxml kvm-win7-i386 ... <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... 2.# virsh dumpxml kvm-win7-i386 > kvm-win7-i386.xml 3.Change the channel type from spicevmc to pty # vim kvm-win7-i386.xml ... <channel type='pty'> <target type='virtio' name='com.redhat.spice.0'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... 4.Migrate the guest. # virsh migrate --live --xml kvm-win7-i386.xml kvm-win7-i386 qemu+ssh://10.66.5.10/system root.5.10's password: # echo $? 0 Migrate the guest successfully,still doesn't check the channel type. So change the bug status to ASSIGNED. The two XMLs provide exactly the same guest environment (the guest will still see a virtio channel named 'com.redhat.spice.0') and thus migration is correctly allowed. See comments #2 and #3 for more details. Verified this issue with libvirt-0.10.0-0rc1.el6.x86_64. 1.#virsh dumpxml <guest> ... <channel type='pty'> <source path='/dev/pts/15'/> <target type='virtio'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... 2.Virsh dumpxml guest xml,then edit xml like this: #vim ... <channel type='spicevmc'> <target type='virtio' /> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... 3.Do migration. # virsh migrate --live --xml kvm-win7-i386.xml kvm-win7-i386 qemu+ssh://10.66.5.10/system root.5.10's password: error: unsupported configuration: Changing device type to/from spicevmc would change default target channel name So change the bug status to VERIFIED. 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. http://rhn.redhat.com/errata/RHSA-2013-0276.html |