Bug 1164053

Summary: address of isa-serial chardev is ignored
Product: Red Hat Enterprise Linux 7 Reporter: Hu Jianwei <jiahu>
Component: libvirtAssignee: Ján Tomko <jtomko>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.1CC: 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:

Description Hu Jianwei 2014-11-14 01:31:23 UTC
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'/>

Comment 2 Ján Tomko 2015-03-04 08:11:36 UTC
<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

Comment 4 Ján Tomko 2015-03-12 08:21:29 UTC
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

Comment 7 Shanzhi Yu 2015-07-20 09:31:06 UTC
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

Comment 9 errata-xmlrpc 2015-11-19 05:55:48 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://rhn.redhat.com/errata/RHBA-2015-2202.html