Instances with no pci passthrough requirement can overfill host NUMA nodes which have attached PCI devices dedicated for pci passthrough. Instances placed on such NUMA nodes despite that there are plenty free resources in other host NUMA nodes. Such scheduling can lead to situation when further deployment of an instance with pci passthrough 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_policy=dedicated
Spawn several instances without pci passthrough with overall memory allocation equal memory capacity for NUMA node 0.
Then deploy instance with sr-iov port. Deployment fails with following error:
2016-08-18 11:17:15.470 55110 DEBUG nova.compute.manager [req-c6d96425-e98b-4a63-8289-e56c40ac46d9 bb8e586fd1264034885fef3aae39e777 b770743f66c44840a999cc8cf60916cd - - -] [instance: b4470025-2a59-4772-9990-a96b55966214] Build of instance b4470025-2a59-4772-9990-a96b55966214 was re-scheduled: Insufficient compute resources: Requested instance NUMA topology together with requested PCI devices cannot fit the given host NUMA topology. _do_build_and_run_instance /usr/lib/python2.7/site-packages/nova/compute/manager.py:1945
Description
===========
Instances with no pci passthrough requirement can overfill host NUMA nodes which have attached PCI devices dedicated for pci passthrough. Instances placed on such NUMA nodes despite that there are plenty free resources in other host NUMA nodes. Such scheduling can lead to situation when further deployment of an instance with pci passthrough 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_ policy= dedicated
Spawn several instances without pci passthrough with overall memory allocation equal memory capacity for NUMA node 0.
Then deploy instance with sr-iov port. Deployment fails with following error:
2016-08-18 11:17:15.470 55110 DEBUG nova.compute. manager [req-c6d96425- e98b-4a63- 8289-e56c40ac46 d9 bb8e586fd126403 4885fef3aae39e7 77 b770743f66c4484 0a999cc8cf60916 cd - - -] [instance: b4470025- 2a59-4772- 9990-a96b559662 14] Build of instance b4470025- 2a59-4772- 9990-a96b559662 14 was re-scheduled: Insufficient compute resources: Requested instance NUMA topology together with requested PCI devices cannot fit the given host NUMA topology. _do_build_ and_run_ instance /usr/lib/ python2. 7/site- packages/ nova/compute/ manager. py:1945
Environment
===========
Mitaka release
Nova: 13.0.0