Put VMs without PCI-passthrough device to non-affinitized NUMA node
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Wishlist
|
Unassigned |
Bug Description
Description
===========
Instances without pci passthrough requests can overfill host NUMA nodes with dedicated for pci passthrough PCI devices. Instances placed on such NUMA nodes despite that there are plenty free resources in other host NUMA nodes. Such scheduling can lead to situation that further deployment of an instance with pci passthrough request will fail because of unavailable capacity in required NUMA node.
Steps to reproduce
==================
Test host with 2 NUMA nodes and PCI device attached to NUMA node 0.
Create a flavor with hw:cpu_
Spawn several instances without pci passthrough with overall memory allocation equal memory capacity for NUMA node 0.
Then deploy instance with sr-iov port. Scheduling fails with following error:
2016-08-18 11:17:15.470 55110 DEBUG nova.compute.
Environment
===========
Mitaka release
Nova: 13.0.0
description: | updated |
description: | updated |
tags: | added: numa |
summary: |
- NUMA node scheduling problem + SR-IOV devices should be accessible from a non-affinitized NUMA node |
summary: |
- SR-IOV devices should be accessible from a non-affinitized NUMA node + Put VMs without PCI-passthrough device to non-affinitized NUMA node |
This is not a bug, but rather by design. Refer to the second warning note in the below document:
http:// docs.openstack. org/admin- guide/compute- cpu-topologies. html#customizin g-instance- numa-placement- policies
You will need to define a two-node NUMA topology for the guest if you wish to balance guests across host nodes.