Bug 1164053
| Summary: | address of isa-serial chardev is ignored | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Hu Jianwei <jiahu> |
| Component: | libvirt | Assignee: | Ján Tomko <jtomko> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.1 | CC: | dyuan, honzhang, jtomko, mzhan, rbalakri, shyu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-1.2.14-1.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-11-19 05:55:48 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: | |||
<serial> devices support two target types, usb-serial and the default isa-serial: http://libvirt.org/formatdomain.html#elementCharSerial A USB address can be specified for usb-serial, but we've never formatted the ISA address for isa-serial. I have proposed a patch that errors out when an address is specified: https://www.redhat.com/archives/libvir-list/2015-March/msg00105.html Now pushed upstream:
commit a00e5c662b437e11f9b375c8870f4b556bce2623
Author: Ján Tomko <jtomko>
CommitDate: 2015-03-12 09:13:31 +0100
Error out on an address for isa-serial in QEMU driver.
We've never formatted them on the qemu command line.
https://bugzilla.redhat.com/show_bug.cgi?id=1164053
git describe: v1.2.13-149-ga00e5c6
Verify this bug with libvirt-1.2.17-2.el7.x86_64. According the patch in comment 4, libvirt will give out error if no address for isa-serial # virsh start r7 error: Failed to start domain r7 error: unsupported configuration: isa-serial requires address of isa type 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://rhn.redhat.com/errata/RHBA-2015-2202.html |
Description of problem: virtio-serial controller can not be generated automatically when tying the serial char device to a particular controller Version-Release number of selected component (if applicable): libvirt-1.2.8-6.el7.x86_64 qemu-kvm-1.5.3-77.el7.x86_64 How reproducible: 100% Steps to Reproduce: [root@ibm-x3850x5-06 ~]# virsh dumpxml r7 | grep "<address type='virtio-serial'" -B5 <serial type='pty'> <target port='2'/> <address type='virtio-serial' controller='1' bus='0' port='1'/> </serial> [root@ibm-x3850x5-06 ~]# virsh dumpxml r7 | grep "controller type='virtio-serial'" -B3 <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> Actual results: As shown above steps, libvirt only have the default virtio-serial controller. Expected results: 1. If the action is accepted by libvirt, should added a new virtio-serial controller automatically 2. If not permitted, libvirt need deny the <address> element to <serial> device. Additional info: The serial-console controller can be generated automatically on a channel char device. [root@ibm-x3850x5-06 ~]# virsh dumpxml r7 | grep virtio-serial <controller type='virtio-serial' index='0'> <controller type='virtio-serial' index='1'> <address type='virtio-serial' controller='1' bus='0' port='3'/> [root@ibm-x3850x5-06 ~]# Changed its controller from 1 to 3, dump its xml again. [root@ibm-x3850x5-06 ~]# virsh edit r7 Domain r7 XML configuration edited. [root@ibm-x3850x5-06 ~]# virsh dumpxml r7 | grep virtio-serial <controller type='virtio-serial' index='0'> <controller type='virtio-serial' index='1'> <controller type='virtio-serial' index='3'> <address type='virtio-serial' controller='3' bus='0' port='3'/>