Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1272556 - OpenStack nova support for KVM real-time: remove unneeded devices from XML [NEEDINFO]
Summary: OpenStack nova support for KVM real-time: remove unneeded devices from XML
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 8.0 (Liberty)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ga
: 11.0 (Ocata)
Assignee: Sahid Ferdjaoui
QA Contact: nlevinki
URL:
Whiteboard:
Depends On: 1189551
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-10-16 18:07 UTC by Hai Huang
Modified: 2019-09-09 16:58 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-26 09:52:37 UTC
Target Upstream Version:
sferdjao: needinfo? (sgordon)


Attachments (Terms of Use)

Description Hai Huang 2015-10-16 18:07:56 UTC
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 23:05:15 UTC
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 09:52:37 UTC
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.