From f96ce69818bc713851a68f1a54fcfd969ef134e2 Mon Sep 17 00:00:00 2001 From: Jacob Anders Date: Tue, 23 Mar 2021 20:55:32 +1000 Subject: [PATCH] Follow up of Use OOB inspection to fetch MACs for IB inspection This is a follow up to commit 05df3d7aa4aa7a1fd25a2f2d55726197e1b5f9df addressing issues with excessive logging and adding a missing unit test. Change-Id: I827fa5dd813acbf1d478c64508f10c42d1460b4a --- ironic/drivers/modules/inspector.py | 4 ++-- ironic/drivers/modules/redfish/utils.py | 4 ++-- .../unit/drivers/modules/redfish/test_inspect.py | 14 ++++++++++++++ .../drivers/modules/redfish/test_management.py | 4 +--- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ironic/drivers/modules/inspector.py b/ironic/drivers/modules/inspector.py index fa60412e29..263f5f0080 100644 --- a/ironic/drivers/modules/inspector.py +++ b/ironic/drivers/modules/inspector.py @@ -256,8 +256,8 @@ class Inspector(base.InspectInterface): 'node': task.node.uuid}) except exception.UnsupportedDriverExtension: - LOG.info('Pre-creating ports prior to inspection not supported' - ' on node %s.', task.node.uuid) + LOG.debug('Pre-creating ports prior to inspection not supported' + ' on node %s.', task.node.uuid) ironic_manages_boot = _ironic_manages_boot( task, raise_exc=CONF.inspector.require_managed_boot) diff --git a/ironic/drivers/modules/redfish/utils.py b/ironic/drivers/modules/redfish/utils.py index 0cb6de1fbe..49e7062333 100644 --- a/ironic/drivers/modules/redfish/utils.py +++ b/ironic/drivers/modules/redfish/utils.py @@ -370,5 +370,5 @@ def get_enabled_macs(task, system): if nic_state == sushy.STATE_ENABLED} return enabled_macs else: - LOG.warning("No NIC information discovered " - "for node %(node)s", {'node': task.node.uuid}) + LOG.debug("No ethernet interface information is available " + "for node %(node)s", {'node': task.node.uuid}) diff --git a/ironic/tests/unit/drivers/modules/redfish/test_inspect.py b/ironic/tests/unit/drivers/modules/redfish/test_inspect.py index 251d5bd917..92b2b64f22 100644 --- a/ironic/tests/unit/drivers/modules/redfish/test_inspect.py +++ b/ironic/tests/unit/drivers/modules/redfish/test_inspect.py @@ -103,6 +103,20 @@ class RedfishInspectTestCase(db_base.DbTestCase): mock_get_system.assert_called_once_with(task.node) self.assertEqual(expected_properties, task.node.properties) + @mock.patch.object(redfish_utils, 'get_system', autospec=True) + @mock.patch.object(inspect_utils, 'create_ports_if_not_exist', + autospec=True) + def test_inspect_port_creation(self, mock_create_ports_if_not_exist, + mock_get_system): + self.init_system_mock(mock_get_system.return_value) + + with task_manager.acquire(self.context, self.node.uuid, + shared=True) as task: + task.driver.inspect.inspect_hardware(task) + result = task.driver.management.get_mac_addresses(task) + inspect_utils.create_ports_if_not_exist.assert_called_once_with( + task, result, mock.ANY) + @mock.patch.object(redfish_utils, 'get_system', autospec=True) def test_inspect_hardware_fail_missing_cpu(self, mock_get_system): system_mock = self.init_system_mock(mock_get_system.return_value) diff --git a/ironic/tests/unit/drivers/modules/redfish/test_management.py b/ironic/tests/unit/drivers/modules/redfish/test_management.py index 080f518118..c2a1bacf76 100644 --- a/ironic/tests/unit/drivers/modules/redfish/test_management.py +++ b/ironic/tests/unit/drivers/modules/redfish/test_management.py @@ -1515,11 +1515,9 @@ class RedfishManagementTestCase(db_base.DbTestCase): @mock.patch.object(redfish_utils, 'get_system', autospec=True) def test_get_mac_addresses_no_ports_found(self, mock_get_system): - expected_properties = None system_mock = self.init_system_mock(mock_get_system.return_value) system_mock.ethernet_interfaces.summary = None with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: - self.assertEqual(expected_properties, - task.driver.management.get_mac_addresses(task)) + self.assertIsNone(task.driver.management.get_mac_addresses(task))