Bug 1272556 - OpenStack nova support for KVM real-time: remove unneeded devices from XML [NEEDINFO]
OpenStack nova support for KVM real-time: remove unneeded devices from XML
Status: CLOSED NOTABUG
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova (Show other bugs)
8.0 (Liberty)
Unspecified Unspecified
high Severity medium
: ga
: 11.0 (Ocata)
Assigned To: Sahid Ferdjaoui
nlevinki
: Triaged
Depends On: 1189551
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-16 14:07 EDT by Hai Huang
Modified: 2016-12-26 04:52 EST (History)
17 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-12-26 04:52:37 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
sferdjao: needinfo? (sgordon)


Attachments (Terms of Use)

  None (edit)
Description Hai Huang 2015-10-16 14:07:56 EDT
Description of problem:

When creating a guest with libvirt for KVM real-time, we always
drop unneeded devices from the domain's XML leading to a very
minimal hardware support for a guest.

We do this for two reasons:

 1. We just don't know at this point which drivers in the guest
    may be real-time unfriendly, which could cause latency
    spikes during real-time operation (eg. a driver that creates
    a polling thread on all CPUs)

 2. We know that some hardware does cause problems with real-time
    in bare-metal (eg. legacy USB support), but we don't know
    whether such hardware will also be problematic in guests

Maybe we'll have some kind of device validation in the future,
but for now we're playing safe and dropping all the unnecessary
devices from the XML.

The list of dropped devices includes:

 - All USB support
 - All SPICE support and QXL hardware
 - virtio serial and guest agent sockets
 - Sound card

Needless to say, but we keep some virtio devices like the disk
and the NIC. Having the disk or the NIC as emulated devices
_might_ be OK as long as the real-time thread don't do I/O to
them.

If OpenStack, or another virt stack component, has a specific
request for a missing device we could try to validate it and
include it.


Version-Release number of selected component (if applicable):

OSP8

How reproducible:

Always

Steps to Reproduce:
1. Create a realtime KVM guest, with "unneeded" devices listed above;
2. Observe the presence of these "unneeded" devices in the domain XML.


Actual results:
Inappropriate devices (such as emulated devices) may be included
in the realtime guest. These inappropriate devices may lead to 
undesirable latency spikes.

Expected results:
"Unneeded devices" (or inappropriate devices for realtime) should be 
removed from the XML.

Additional info:
Comment 2 Stephen Gordon 2016-11-11 18:05:15 EST
Sahid is there anything up for this for Ocata? Just attempting to clean up the BZ queue. It's not really clear to me that the list of devices is well defined at this stage.
Comment 3 Sahid Ferdjaoui 2016-12-26 04:52:37 EST
We do not define such devices automatically in Nova. So I guess we can document somewhere that a host configured for realtime should no be configured to use serial console, usb tablet and spice.

 - All USB support
 - All SPICE support and QXL hardware
 - virtio serial and guest agent sockets

This one is just not supported

 - Sound card

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