Skip to content

Commit 01107e9

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Add cpuset_reserved helper to instance NUMA topology" into stable/2023.1
2 parents c63046f + b60ff8c commit 01107e9

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

nova/objects/instance_numa.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,12 @@ def cpu_pinning(self):
293293
cell.cpu_pinning.values() for cell in self.cells
294294
if cell.cpu_pinning]))
295295

296+
@property
297+
def cpuset_reserved(self):
298+
return set(itertools.chain.from_iterable([
299+
cell.cpuset_reserved for cell in self.cells
300+
if cell.cpuset_reserved]))
301+
296302
def clear_host_pinning(self):
297303
"""Clear any data related to how instance is pinned to the host.
298304

nova/tests/unit/objects/test_instance_numa.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@
2929
instance_uuid=fake_instance_uuid,
3030
cells=[
3131
objects.InstanceNUMACell(
32-
id=0, cpuset=set(), pcpuset=set([1, 2]), memory=512,
32+
id=0, cpuset=set(), pcpuset=set([1, 2]),
33+
cpuset_reserved=set([5, 6]), memory=512,
3334
pagesize=2048),
3435
objects.InstanceNUMACell(
35-
id=1, cpuset=set(), pcpuset=set([3, 4]), memory=512,
36+
id=1, cpuset=set(), pcpuset=set([3, 4]),
37+
cpuset_reserved=set([7, 8]), memory=512,
3638
pagesize=2048),
3739
])
3840

@@ -155,6 +157,10 @@ def test_cpu_pinning(self):
155157
topo_obj.cells[1].pin_vcpus((3, 0), (4, 1))
156158
self.assertEqual(set([0, 1, 10, 11]), topo_obj.cpu_pinning)
157159

160+
def test_cpuset_reserved(self):
161+
topo_obj = get_fake_obj_numa_topology(self.context)
162+
self.assertEqual(set([5, 6, 7, 8]), topo_obj.cpuset_reserved)
163+
158164
def test_clear_host_pinning(self):
159165
topo_obj = get_fake_obj_numa_topology(self.context)
160166
topo_obj.cells[0].pin_vcpus((1, 10), (2, 11))

0 commit comments

Comments
 (0)