← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1746674] [NEW] isolated cpu thread policy doesn't work with multi numa node

 

Public bug reported:

Description
===========

As described in test_multi_nodes_isolate() in https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/test_hardware.py#L3006-L3024,
numa_fit_instance_to_host() function returns None for cpuset_reserved for cells with id >1. 

---------
   def test_multi_nodes_isolate(self):
        host_topo = self._host_topology()
        inst_topo = objects.InstanceNUMATopology(
            emulator_threads_policy=(
                fields.CPUEmulatorThreadsPolicy.ISOLATE),
            cells=[objects.InstanceNUMACell(
                id=0,
                cpuset=set([0]), memory=2048,
                cpu_policy=fields.CPUAllocationPolicy.DEDICATED),
            objects.InstanceNUMACell(
                id=1,
                cpuset=set([1]), memory=2048,
                cpu_policy=fields.CPUAllocationPolicy.DEDICATED)])

        inst_topo = hw.numa_fit_instance_to_host(host_topo, inst_topo)
        self.assertEqual({0: 0}, inst_topo.cells[0].cpu_pinning)
        self.assertEqual(set([1]), inst_topo.cells[0].cpuset_reserved)
        self.assertEqual({1: 2}, inst_topo.cells[1].cpu_pinning)
        self.assertIsNone(inst_topo.cells[1].cpuset_reserved)
--------

However,  we are testing  libvirt driver with non-None value in
https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/libvirt/test_driver.py#L3052.

This causes errors when deploying VMs with multi numa nodes with
`cpu_thread_policy=isolate`.

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1746674

Title:
  isolated cpu thread policy doesn't work with multi numa node

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========

  As described in test_multi_nodes_isolate() in https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/test_hardware.py#L3006-L3024,
  numa_fit_instance_to_host() function returns None for cpuset_reserved for cells with id >1. 

  ---------
     def test_multi_nodes_isolate(self):
          host_topo = self._host_topology()
          inst_topo = objects.InstanceNUMATopology(
              emulator_threads_policy=(
                  fields.CPUEmulatorThreadsPolicy.ISOLATE),
              cells=[objects.InstanceNUMACell(
                  id=0,
                  cpuset=set([0]), memory=2048,
                  cpu_policy=fields.CPUAllocationPolicy.DEDICATED),
              objects.InstanceNUMACell(
                  id=1,
                  cpuset=set([1]), memory=2048,
                  cpu_policy=fields.CPUAllocationPolicy.DEDICATED)])

          inst_topo = hw.numa_fit_instance_to_host(host_topo, inst_topo)
          self.assertEqual({0: 0}, inst_topo.cells[0].cpu_pinning)
          self.assertEqual(set([1]), inst_topo.cells[0].cpuset_reserved)
          self.assertEqual({1: 2}, inst_topo.cells[1].cpu_pinning)
          self.assertIsNone(inst_topo.cells[1].cpuset_reserved)
  --------

  However,  we are testing  libvirt driver with non-None value in
  https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/libvirt/test_driver.py#L3052.

  This causes errors when deploying VMs with multi numa nodes with
  `cpu_thread_policy=isolate`.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1746674/+subscriptions


Follow ups