Merge "Add support for reporting CPU socket number"

This commit is contained in:
Zuul 2024-01-22 11:52:06 +00:00 committed by Gerrit Code Review
commit 1e107bd625
4 changed files with 12 additions and 4 deletions

View File

@ -171,7 +171,7 @@ fields:
``cpu``
CPU information: ``model_name``, ``frequency``, ``count``,
``architecture`` and ``flags``.
``architecture``, ``flags`` and ``socket_count``.
``memory``
RAM information: ``total`` (total size in bytes), ``physical_mb``

View File

@ -808,13 +808,14 @@ class NetworkInterface(encoding.SerializableComparable):
class CPU(encoding.SerializableComparable):
serializable_fields = ('model_name', 'frequency', 'count', 'architecture',
'flags')
'flags', 'socket_count')
def __init__(self, model_name, frequency, count, architecture,
flags=None):
flags=None, socket_count=None):
self.model_name = model_name
self.frequency = frequency
self.count = count
self.socket_count = socket_count
self.architecture = architecture
self.flags = flags or []
@ -1496,7 +1497,8 @@ class GenericHardwareManager(HardwareManager):
# this includes hyperthreading cores
count=int(cpu_info.get('cpu(s)')),
architecture=cpu_info.get('architecture'),
flags=flags)
flags=flags,
socket_count=int(cpu_info.get('socket(s)', 0)))
def get_memory(self):
# psutil returns a long, so we force it to an int

View File

@ -871,6 +871,7 @@ class TestGenericHardwareManager(base.IronicAgentTest):
cpus.model_name)
self.assertEqual('2400.0000', cpus.frequency)
self.assertEqual(4, cpus.count)
self.assertEqual(1, cpus.socket_count)
self.assertEqual('x86_64', cpus.architecture)
self.assertEqual(['fpu', 'vme', 'de', 'pse'], cpus.flags)
@ -884,6 +885,7 @@ class TestGenericHardwareManager(base.IronicAgentTest):
cpus.model_name)
self.assertEqual('1794.433', cpus.frequency)
self.assertEqual(12, cpus.count)
self.assertEqual(1, cpus.socket_count)
self.assertEqual('x86_64', cpus.architecture)
self.assertEqual(['fpu', 'vme', 'de', 'pse'], cpus.flags)

View File

@ -0,0 +1,4 @@
---
features:
- |
Add support for collecting the cpu socket number.