Merge "Fix nits on DRAC OOB inspection patch"
This commit is contained in:
@@ -77,8 +77,9 @@ class DracInspect(base.InspectInterface):
|
|||||||
properties['memory_mb'] = sum(
|
properties['memory_mb'] = sum(
|
||||||
[memory.size_mb for memory in client.list_memory()])
|
[memory.size_mb for memory in client.list_memory()])
|
||||||
cpus = client.list_cpus()
|
cpus = client.list_cpus()
|
||||||
properties['cpus'] = len(cpus)
|
if cpus:
|
||||||
properties['cpu_arch'] = 'x86_64' if cpus[0].arch64 else 'x86'
|
properties['cpus'] = len(cpus)
|
||||||
|
properties['cpu_arch'] = 'x86_64' if cpus[0].arch64 else 'x86'
|
||||||
|
|
||||||
virtual_disks = client.list_virtual_disks()
|
virtual_disks = client.list_virtual_disks()
|
||||||
root_disk = self._guess_root_disk(virtual_disks)
|
root_disk = self._guess_root_disk(virtual_disks)
|
||||||
@@ -133,8 +134,15 @@ class DracInspect(base.InspectInterface):
|
|||||||
LOG.info(_LI('Node %s successfully inspected.'), node.uuid)
|
LOG.info(_LI('Node %s successfully inspected.'), node.uuid)
|
||||||
return states.MANAGEABLE
|
return states.MANAGEABLE
|
||||||
|
|
||||||
def _guess_root_disk(self, disks, min_size_required=4 * units.Ki):
|
def _guess_root_disk(self, disks, min_size_required_mb=4 * units.Ki):
|
||||||
|
"""Find a root disk.
|
||||||
|
|
||||||
|
:param disks: list of disks.
|
||||||
|
:param min_size_required_mb: minimum required size of the root disk in
|
||||||
|
megabytes.
|
||||||
|
:returns: root disk.
|
||||||
|
"""
|
||||||
disks.sort(key=lambda disk: disk.size_mb)
|
disks.sort(key=lambda disk: disk.size_mb)
|
||||||
for disk in disks:
|
for disk in disks:
|
||||||
if disk.size_mb >= min_size_required:
|
if disk.size_mb >= min_size_required_mb:
|
||||||
return disk
|
return disk
|
||||||
|
|||||||
@@ -207,6 +207,24 @@ class DracInspectionTestCase(db_base.DbTestCase):
|
|||||||
self.assertEqual(states.MANAGEABLE, return_value)
|
self.assertEqual(states.MANAGEABLE, return_value)
|
||||||
self.assertEqual(2, mock_port_create.call_count)
|
self.assertEqual(2, mock_port_create.call_count)
|
||||||
|
|
||||||
|
@mock.patch.object(drac_common, 'get_drac_client', spec_set=True,
|
||||||
|
autospec=True)
|
||||||
|
@mock.patch.object(objects.Port, 'create', spec_set=True, autospec=True)
|
||||||
|
def test_inspect_hardware_no_cpu(
|
||||||
|
self, mock_port_create, mock_get_drac_client):
|
||||||
|
mock_client = mock.Mock()
|
||||||
|
mock_get_drac_client.return_value = mock_client
|
||||||
|
mock_client.list_memory.return_value = self.memory
|
||||||
|
mock_client.list_cpus.return_value = []
|
||||||
|
mock_client.list_virtual_disks.return_value = []
|
||||||
|
mock_client.list_physical_disks.return_value = self.physical_disks
|
||||||
|
mock_client.list_nics.return_value = self.nics
|
||||||
|
|
||||||
|
with task_manager.acquire(self.context, self.node.uuid,
|
||||||
|
shared=True) as task:
|
||||||
|
self.assertRaises(exception.HardwareInspectionFailure,
|
||||||
|
task.driver.inspect.inspect_hardware, task)
|
||||||
|
|
||||||
@mock.patch.object(drac_common, 'get_drac_client', spec_set=True,
|
@mock.patch.object(drac_common, 'get_drac_client', spec_set=True,
|
||||||
autospec=True)
|
autospec=True)
|
||||||
@mock.patch.object(objects.Port, 'create', spec_set=True, autospec=True)
|
@mock.patch.object(objects.Port, 'create', spec_set=True, autospec=True)
|
||||||
@@ -233,3 +251,11 @@ class DracInspectionTestCase(db_base.DbTestCase):
|
|||||||
self.assertEqual(expected_node_properties, self.node.properties)
|
self.assertEqual(expected_node_properties, self.node.properties)
|
||||||
self.assertEqual(states.MANAGEABLE, return_value)
|
self.assertEqual(states.MANAGEABLE, return_value)
|
||||||
self.assertEqual(2, mock_port_create.call_count)
|
self.assertEqual(2, mock_port_create.call_count)
|
||||||
|
|
||||||
|
def test__guess_root_disk(self):
|
||||||
|
with task_manager.acquire(self.context, self.node.uuid,
|
||||||
|
shared=True) as task:
|
||||||
|
root_disk = task.driver.inspect._guess_root_disk(
|
||||||
|
self.physical_disks)
|
||||||
|
|
||||||
|
self.assertEqual(285888, root_disk.size_mb)
|
||||||
|
|||||||
Reference in New Issue
Block a user