From 233a8d2c4206910e18bba490573cd2c884d3827f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aija=20Jaunt=C4=93va?= Date: Thu, 8 Apr 2021 10:51:33 -0400 Subject: [PATCH] Update to not use deprecated `get_task_monitor`. `update_service.get_task_monitor` is deprecated, using top level `get_task_monitor` instead. Change-Id: Ib028313ee14744a2c016ebaa463e6bfc3a4cc5f0 --- ironic/drivers/modules/redfish/management.py | 6 ++-- .../modules/redfish/test_management.py | 33 ++++++++----------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/ironic/drivers/modules/redfish/management.py b/ironic/drivers/modules/redfish/management.py index 7af5273d1e..4d554925b2 100644 --- a/ironic/drivers/modules/redfish/management.py +++ b/ironic/drivers/modules/redfish/management.py @@ -996,9 +996,9 @@ class RedfishManagement(base.ManagementInterface): return try: - task_monitor = update_service.get_task_monitor( - current_update['task_monitor']) - except sushy.exceptions.ResourceNotFoundError: + task_monitor = redfish_utils.get_task_monitor( + node, current_update['task_monitor']) + except exception.RedfishError: # The BMC deleted the Task before we could query it LOG.warning('Firmware update completed for node %(node)s, ' 'firmware %(firmware_image)s, but success of the ' diff --git a/ironic/tests/unit/drivers/modules/redfish/test_management.py b/ironic/tests/unit/drivers/modules/redfish/test_management.py index a74e3d8e12..99da1265b4 100644 --- a/ironic/tests/unit/drivers/modules/redfish/test_management.py +++ b/ironic/tests/unit/drivers/modules/redfish/test_management.py @@ -1143,13 +1143,10 @@ class RedfishManagementTestCase(db_base.DbTestCase): @mock.patch.object(redfish_mgmt.LOG, 'warning', autospec=True) @mock.patch.object(redfish_utils, 'get_update_service', autospec=True) + @mock.patch.object(redfish_utils, 'get_task_monitor', autospec=True) def test__check_node_firmware_update_task_monitor_not_found( - self, mock_get_update_service, mock_log): - mock_update_service = mock.Mock() - mock_update_service.get_task_monitor.side_effect =\ - sushy.exceptions.ResourceNotFoundError( - method='GET', url='/task/123', response=mock.MagicMock()) - mock_get_update_service.return_value = mock_update_service + self, mock_task_monitor, mock_get_update_service, mock_log): + mock_task_monitor.side_effect = exception.RedfishError() driver_internal_info = { 'firmware_updates': [ {'task_monitor': '/task/123', @@ -1166,19 +1163,17 @@ class RedfishManagementTestCase(db_base.DbTestCase): self.assertTrue(mock_log.called) management._continue_firmware_updates.assert_called_once_with( task, - mock_update_service, + mock_get_update_service.return_value, [{'task_monitor': '/task/123', 'url': 'test1'}]) @mock.patch.object(redfish_mgmt.LOG, 'debug', autospec=True) @mock.patch.object(redfish_utils, 'get_update_service', autospec=True) + @mock.patch.object(redfish_utils, 'get_task_monitor', autospec=True) def test__check_node_firmware_update_in_progress(self, + mock_get_task_monitor, mock_get_update_service, mock_log): - mock_task_monitor = mock.Mock() - mock_task_monitor.is_processing = True - mock_update_service = mock.Mock() - mock_update_service.get_task_monitor.return_value = mock_task_monitor - mock_get_update_service.return_value = mock_update_service + mock_get_task_monitor.return_value.is_processing = True driver_internal_info = { 'firmware_updates': [ {'task_monitor': '/task/123', @@ -1195,7 +1190,9 @@ class RedfishManagementTestCase(db_base.DbTestCase): @mock.patch.object(manager_utils, 'cleaning_error_handler', autospec=True) @mock.patch.object(redfish_utils, 'get_update_service', autospec=True) + @mock.patch.object(redfish_utils, 'get_task_monitor', autospec=True) def test__check_node_firmware_update_fail(self, + mock_get_task_monitor, mock_get_update_service, mock_cleaning_error_handler): mock_sushy_task = mock.Mock() @@ -1211,9 +1208,7 @@ class RedfishManagementTestCase(db_base.DbTestCase): mock_task_monitor = mock.Mock() mock_task_monitor.is_processing = False mock_task_monitor.get_task.return_value = mock_sushy_task - mock_update_service = mock.Mock() - mock_update_service.get_task_monitor.return_value = mock_task_monitor - mock_get_update_service.return_value = mock_update_service + mock_get_task_monitor.return_value = mock_task_monitor driver_internal_info = {'something': 'else', 'firmware_updates': [ {'task_monitor': '/task/123', @@ -1238,7 +1233,9 @@ class RedfishManagementTestCase(db_base.DbTestCase): @mock.patch.object(redfish_mgmt.LOG, 'info', autospec=True) @mock.patch.object(redfish_utils, 'get_update_service', autospec=True) + @mock.patch.object(redfish_utils, 'get_task_monitor', autospec=True) def test__check_node_firmware_update_done(self, + mock_get_task_monitor, mock_get_update_service, mock_log): mock_task = mock.Mock() @@ -1250,9 +1247,7 @@ class RedfishManagementTestCase(db_base.DbTestCase): mock_task_monitor = mock.Mock() mock_task_monitor.is_processing = False mock_task_monitor.get_task.return_value = mock_task - mock_update_service = mock.Mock() - mock_update_service.get_task_monitor.return_value = mock_task_monitor - mock_get_update_service.return_value = mock_update_service + mock_get_task_monitor.return_value = mock_task_monitor driver_internal_info = { 'firmware_updates': [ {'task_monitor': '/task/123', @@ -1269,7 +1264,7 @@ class RedfishManagementTestCase(db_base.DbTestCase): self.assertTrue(mock_log.called) management._continue_firmware_updates.assert_called_once_with( task, - mock_update_service, + mock_get_update_service.return_value, [{'task_monitor': '/task/123', 'url': 'test1'}])