virt_type=qemu does not support cpu affinity.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Won't Fix
|
Undecided
|
Tetsuro Nakamura |
Bug Description
Description
===========
QEMU support a number of different backends for code generation.
Qemu with the TCG(tiny code generator) backend does not support
cpu affinity. the TCG backened is used when the nova
virt_type is set to qemu.
Currently by default when we
request a numa topology nova generates vcpupin elements
that confine the guest vcpus to float only across
the core that are associated with a numa node.
Currently by default when we request hugepage memory
nova implictly generates a numa topology of 1 if no
numa topology is specified.
as a result of the above behavior it is not possible
to spawn a guest a guest with a numa topology or
hugepage memory backing on non kvm/xen acclerated qemu backends
as qemu with the TCG backend does not support cpu affinity.
Steps to reproduce
==================
- deploy nova as normal and set virt_type=qemu in nova.conf.
- set hw:numa_nodes=1 or hw:mem_
- boot an instance with this modified flavor.
Expected result
===============
vm starts with a virtual numa topology of 1 numa node(hw:
or with hugepage backed memory (hw:mem_
Actual result
=============
nova reports libvirt error that cpu affinity is not support by TCG backend.
logs
====
http://
Changed in nova: | |
status: | New → Confirmed |
Changed in nova: | |
assignee: | sean mooney (sean-k-mooney) → nobody |
Changed in nova: | |
status: | Confirmed → In Progress |
assignee: | nobody → Tetsuro Nakamura (tetsuro0907) |
Changed in nova: | |
assignee: | Tetsuro Nakamura (tetsuro0907) → Stephen Finucane (stephenfinucane) |
Changed in nova: | |
assignee: | Stephen Finucane (stephenfinucane) → Tetsuro Nakamura (tetsuro0907) |
Changed in nova: | |
status: | In Progress → Won't Fix |
i will submit a partial fix for this shortly for the numa/hugepage case.
open question should the scheduler be modified to exclude host with hypervior=qemu if dedicated cpus are requested.