Reviewed:  https://review.openstack.org/207373
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=b67614fe878ea3b6bb6240f9989a21c2c3c0b2df
Submitter: Jenkins
Branch:    master

commit b67614fe878ea3b6bb6240f9989a21c2c3c0b2df
Author: lyanchih <lya...@inwinstack.com>
Date:   Thu Jul 30 09:16:16 2015 +0000

    libvirt: serial console ports count upper limit needs to be checked
    
    There is a limit of 4 serial ports on qemu_x86. If number of serial port
    over limit, qemu will throw error message with
    "libvirtError: internal error:
    process exited while connecting to monitor: qemu-system-x86_64: -device
    isa-serial,chardev=charserial4, id=serial4: Max. supported number of ISA
    serial ports is 4."
    
    We should check upper limit of serial console port.
    
    Change-Id: Id14c94dd658868037eeab1524a9984354cdb4071
    Closes-Bug: 1478607


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1478607

Title:
  libvirt: serial console ports count upper limit needs to be checked

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  This bug is based on Daniel Berrange's comment on [1].

      "There is a limit of 4 serial ports on x86, [...] guest will have 
      5 consoles and will fail to boot with a QEMU error."

  The number of serial ports a guest will have can be influenced by
  * the image properties: "hw_serial_port_count"
  * and the flavor extra specs: "hw:serial_port_count"

  The upper limit of 4 serial ports (on x86) is not checked in the code 
  but should be. Otherwise it is possible to prevent the boot of the 
  guest.

  This observation is based on nova master:
  183cd889 2015-07-26 Merge "remove _rescan_iscsi fr[...]

  Steps to reproduce
  -----------------------
  1) setup OpenStack with an libvirt/kvm on x86 compute node
  2) set image property "hw_serial_port_count" to 6
  3) launch instance from that image

  CLI:

      glance image-update cirros-0.3.4-x86_64-uec \
      --property hw_serial_port_count=6

      nova boot test_serial_port_count --flavor m1.tiny \
      --image cirros-0.3.4-x86_64-uec
      
      nova list

  Expected result
  ---------------
  The request fails with an error message that explains that the upper
  limit of serial ports on x86 is 4. 

  At least the documentation in [3]

      - image hw_serial_port_count=6
            VM gets 6 serial ports

  can be updated to reflect that limitation.

  
  Actual result
  -------------
  Instance get scheduled on a compute node [2] and is in ERROR state.

  horizon shows:
      No valid host was found. There are not enough hosts available.
      Code 500

  
  nova-compute.log shows:
      libvirtError: internal error: process exited while connecting to 
      monitor: qemu-system-x86_64: -device isa-serial,chardev=charserial4,
      id=serial4: Max. supported number of ISA serial ports is 4.
      
      qemu-system-x86_64: -device isa-serial,chardev=charserial4,
      id=serial4: Device 'isa-serial' could not be initialized

  
  References
  ----------
  [1] https://review.openstack.org/#/c/188058/
  [2] Instance's domain XML: http://paste.openstack.org/show/405929/
  [3] def get_number_of_serial_ports; 
https://github.com/openstack/nova/blob/master/nova/virt/hardware.py#L168

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1478607/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to