Merge "Fix nits on DRAC OOB inspection patch"
This commit is contained in:
commit
991d3a9f2b
ironic
@ -77,8 +77,9 @@ class DracInspect(base.InspectInterface):
|
||||
properties['memory_mb'] = sum(
|
||||
[memory.size_mb for memory in client.list_memory()])
|
||||
cpus = client.list_cpus()
|
||||
properties['cpus'] = len(cpus)
|
||||
properties['cpu_arch'] = 'x86_64' if cpus[0].arch64 else 'x86'
|
||||
if cpus:
|
||||
properties['cpus'] = len(cpus)
|
||||
properties['cpu_arch'] = 'x86_64' if cpus[0].arch64 else 'x86'
|
||||
|
||||
virtual_disks = client.list_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)
|
||||
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)
|
||||
for disk in disks:
|
||||
if disk.size_mb >= min_size_required:
|
||||
if disk.size_mb >= min_size_required_mb:
|
||||
return disk
|
||||
|
@ -207,6 +207,24 @@ class DracInspectionTestCase(db_base.DbTestCase):
|
||||
self.assertEqual(states.MANAGEABLE, return_value)
|
||||
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,
|
||||
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(states.MANAGEABLE, return_value)
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user