[libvirt] virt_type=qemu doesn't support NUMA related features

Bug #1737449 reported by Tetsuro Nakamura
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
In Progress
Undecided
Tetsuro Nakamura

Bug Description

With the change of https://review.openstack.org/#/c/465160,
NUMA related features like CPU pinning, hugepages, and realtime are now
explicitly disabled when using libvirt driver with `virt_type=qemu`,
and compute hosts with libvirt/qemu driver are filtered out with NUMATopologyFilter.

This is because qemu with the TCG(tiny code generator) backend doesn’t support
cpu pinning and currently nova uses cpu pinning implicitly when NUMA related
features are specified in image/flavor.

However, qemu with the TCG backend potentially has capability to support
some NUMA related features such as NUMA topology and hugepages.

So, we should change codes to enable libvirt/qemu driver to support these NUMA features
without cpu pinning.

Steps to reproduce
==================
- deploy nova with virt_type=qemu and enabled_filters=NUMATopologyFilter in nova.conf.
- set hw:numa_nodes=1 or hw:mem_page_size=large in the nova flavor.

- boot an instance with this modified flavor.

Expected result
===============
VM starts with a virtual numa topology of 1 numa node(hw:numa_nodes=1)
or with hugepage backed memory (hw:mem_page_size=large).

Actual result
=============
nova reports no valid host error because of the NUMATopologyFilter.

Note: Remenber to update at least these documents when they are enabled.
https://docs.openstack.org/nova/pike/admin/huge-pages.html
https://docs.openstack.org/nova/pike/admin/cpu-topologies.html

Tags: libvirt
Revision history for this message
Tetsuro Nakamura (tetsuro0907) wrote :

Because the things are complicated enough, I have issued a Blueprint for this.
https://blueprints.launchpad.net/nova/+spec/libvirt-qemu-numa-support

tags: added: libvirt
Changed in nova:
status: New → In Progress
assignee: nobody → Tetsuro Nakamura (tetsuro0907)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.