Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1272556

Summary: OpenStack nova support for KVM real-time: remove unneeded devices from XML
Product: Red Hat OpenStack Reporter: Hai Huang <hhuang>
Component: openstack-novaAssignee: Sahid Ferdjaoui <sferdjao>
Status: CLOSED NOTABUG QA Contact: nlevinki <nlevinki>
Severity: medium Docs Contact:
Priority: high    
Version: 8.0 (Liberty)CC: berrange, dasmith, eglynn, hhuang, juzhang, jwang, kchamart, lcapitulino, michen, pezhang, sbauza, sferdjao, sgordon, srevivo, vromanso, xfu
Target Milestone: gaKeywords: Triaged
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-26 09:52:37 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:
Bug Depends On: 1189551    
Bug Blocks:    

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

Comment 4 Red Hat Bugzilla 2023-09-14 03:06:47 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days