[openstack-dev] [nova][scheduler] bug in handling of ISOLATE thread policy

Chris Friesen chris.friesen at windriver.com
Tue Jun 7 17:36:03 UTC 2016


Hi,

The full details are available at https://bugs.launchpad.net/nova/+bug/1590091 
but the short version is this:

1) I'm running stable/mitaka in devstack.  I've got a small system with 2 pCPUs, 
both marked as available for pinning.  They're two cores of a single processor, 
no threads.

2) I tried to boot an instance with two dedicated CPUs and a thread policy of 
ISOLATE, but the NUMATopology filter fails my host.


In _pack_instance_onto_cores(), in _get_pinning() we have the following line:

         if threads_no * len(sibling_set) < len(instance_cores):
             return

Coming into this line of code the variables look like this:

(Pdb) threads_no
1
(Pdb) sibling_set
[CoercedSet([0, 1])]
(Pdb) len(sibling_set)
1
(Pdb) instance_cores
CoercedSet([0, 1])
(Pdb) len(instance_cores)
2

So the test evaluates to True, and we bail out.

I don't think this is correct, we should be able to schedule on this host since 
it has two full physical cores available.

Chris



More information about the OpenStack-dev mailing list