Merge "Remove redundant node_periodic tests"
This commit is contained in:
commit
c13e2d468d
|
@ -36,6 +36,8 @@ class PeriodicTestService(base_manager.BaseConductorManager):
|
|||
def simple(self, task, context):
|
||||
self.test.assertIsInstance(context, ironic_context.RequestContext)
|
||||
self.test.assertTrue(task.shared)
|
||||
# This may raise
|
||||
task.upgrade_lock()
|
||||
self.nodes.append(task.node.uuid)
|
||||
|
||||
@periodics.node_periodic(purpose="herding cats", spacing=42,
|
||||
|
@ -83,10 +85,15 @@ class NodePeriodicTestCase(db_base.DbTestCase):
|
|||
self.uuid = uuidutils.generate_uuid()
|
||||
self.node = obj_utils.create_test_node(self.context, uuid=self.uuid)
|
||||
|
||||
def test_simple(self, mock_iter_nodes):
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
def test_simple(self, mock_log, mock_iter_nodes):
|
||||
node2 = obj_utils.create_test_node(self.context,
|
||||
uuid=uuidutils.generate_uuid(),
|
||||
reservation='host0')
|
||||
mock_iter_nodes.return_value = iter([
|
||||
(uuidutils.generate_uuid(), 'driver1', ''),
|
||||
(self.uuid, 'driver2', 'group'),
|
||||
(node2.uuid, 'driver3', 'group'),
|
||||
])
|
||||
|
||||
self.service.simple(self.ctx)
|
||||
|
@ -94,6 +101,8 @@ class NodePeriodicTestCase(db_base.DbTestCase):
|
|||
mock_iter_nodes.assert_called_once_with(self.service,
|
||||
filters=None, fields=())
|
||||
self.assertEqual([self.uuid], self.service.nodes)
|
||||
# 1 node not found, 1 locked
|
||||
self.assertEqual(2, mock_log.call_count)
|
||||
|
||||
def test_exclusive(self, mock_iter_nodes):
|
||||
mock_iter_nodes.return_value = iter([
|
||||
|
|
|
@ -25,7 +25,6 @@ import tenacity
|
|||
|
||||
from ironic.common import exception
|
||||
from ironic.common import states
|
||||
from ironic.conductor import periodics
|
||||
from ironic.conductor import task_manager
|
||||
from ironic.conductor import utils as manager_utils
|
||||
from ironic.conf import CONF
|
||||
|
@ -2557,24 +2556,6 @@ class DracRedfishRAIDTestCase(test_utils.BaseDracTest):
|
|||
self.raid._check_raid_tasks_status.assert_called_once_with(
|
||||
task, ['/TaskService/123'])
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_tasks_status_not_drac(self, mock_acquire):
|
||||
driver_internal_info = {'raid_task_monitor_uris': ['/TaskService/123']}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'not-idrac', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
task = mock.Mock(node=self.node,
|
||||
driver=mock.Mock(raid=mock.Mock()))
|
||||
mock_acquire.return_value = mock.MagicMock(
|
||||
__enter__=mock.MagicMock(return_value=task))
|
||||
self.raid._check_raid_tasks_status = mock.Mock()
|
||||
|
||||
self.raid._query_raid_tasks_status(mock_manager, self.context)
|
||||
|
||||
self.raid._check_raid_tasks_status.assert_not_called()
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_tasks_status_no_task_monitor_url(self, mock_acquire):
|
||||
driver_internal_info = {'something': 'else'}
|
||||
|
@ -2593,42 +2574,6 @@ class DracRedfishRAIDTestCase(test_utils.BaseDracTest):
|
|||
|
||||
self.raid._check_raid_tasks_status.assert_not_called()
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_tasks_status_node_notfound(
|
||||
self, mock_acquire, mock_log):
|
||||
driver_internal_info = {'raid_task_monitor_uris': ['/TaskService/123']}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'idrac', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeNotFound
|
||||
self.raid._check_raid_tasks_status = mock.Mock()
|
||||
|
||||
self.raid._query_raid_tasks_status(mock_manager, self.context)
|
||||
|
||||
self.raid._check_raid_tasks_status.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_tasks_status_node_locked(
|
||||
self, mock_acquire, mock_log):
|
||||
driver_internal_info = {'raid_task_monitor_uris': ['/TaskService/123']}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'idrac', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeLocked
|
||||
self.raid._check_raid_tasks_status = mock.Mock()
|
||||
|
||||
self.raid._query_raid_tasks_status(mock_manager, self.context)
|
||||
|
||||
self.raid._check_raid_tasks_status.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(redfish_utils, 'get_task_monitor', autospec=True)
|
||||
def test__check_raid_tasks_status(self, mock_get_task_monitor):
|
||||
driver_internal_info = {
|
||||
|
|
|
@ -23,7 +23,6 @@ from oslo_utils import uuidutils
|
|||
from ironic.conductor import task_manager
|
||||
from ironic.drivers.modules.irmc import common as irmc_common
|
||||
from ironic.drivers.modules.irmc import raid as irmc_raid
|
||||
from ironic.drivers.modules import noop
|
||||
from ironic.tests.unit.drivers.modules.irmc import test_common
|
||||
from ironic.tests.unit.objects import utils as obj_utils
|
||||
|
||||
|
@ -62,23 +61,6 @@ class iRMCPeriodicTaskTestCase(test_common.BaseIRMCTest):
|
|||
raid_object._query_raid_config_fgi_status(mock_manager, None)
|
||||
self.assertEqual(0, report_mock.call_count)
|
||||
|
||||
@mock.patch.object(irmc_common, 'get_irmc_report', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_config_fgi_status_without_raid_object(
|
||||
self, mock_acquire, report_mock):
|
||||
mock_manager = mock.Mock()
|
||||
raid_config = self.raid_config
|
||||
task = mock.Mock(node=self.node, driver=self.driver)
|
||||
mock_acquire.return_value = mock.MagicMock(
|
||||
__enter__=mock.MagicMock(return_value=task))
|
||||
node_list = [(self.node.uuid, 'irmc', '', raid_config)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
task.driver.raid = noop.NoRAID()
|
||||
raid_object = irmc_raid.IRMCRAID()
|
||||
raid_object._query_raid_config_fgi_status(mock_manager,
|
||||
self.context)
|
||||
self.assertEqual(0, report_mock.call_count)
|
||||
|
||||
@mock.patch.object(irmc_common, 'get_irmc_report', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_raid_config_fgi_status_without_input(
|
||||
|
|
|
@ -25,7 +25,6 @@ from ironic.common import components
|
|||
from ironic.common import exception
|
||||
from ironic.common import indicator_states
|
||||
from ironic.common import states
|
||||
from ironic.conductor import periodics
|
||||
from ironic.conductor import task_manager
|
||||
from ironic.conductor import utils as manager_utils
|
||||
from ironic.drivers.modules import deploy_utils
|
||||
|
@ -863,29 +862,6 @@ class RedfishManagementTestCase(db_base.DbTestCase):
|
|||
|
||||
management._clear_firmware_updates.assert_called_once_with(self.node)
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_failed_not_redfish(self, mock_acquire):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'not-redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
task = mock.Mock(node=self.node,
|
||||
driver=mock.Mock(management=mock.Mock()))
|
||||
mock_acquire.return_value = mock.MagicMock(
|
||||
__enter__=mock.MagicMock(return_value=task))
|
||||
management._clear_firmware_updates = mock.Mock()
|
||||
|
||||
management._query_firmware_update_failed(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._clear_firmware_updates.assert_not_called()
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_failed_no_firmware_upd(self, mock_acquire):
|
||||
driver_internal_info = {'something': 'else'}
|
||||
|
@ -906,52 +882,6 @@ class RedfishManagementTestCase(db_base.DbTestCase):
|
|||
|
||||
management._clear_firmware_updates.assert_not_called()
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_failed_node_notfound(self, mock_acquire,
|
||||
mock_log):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeNotFound
|
||||
management._clear_firmware_updates = mock.Mock()
|
||||
|
||||
management._query_firmware_update_failed(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._clear_firmware_updates.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_failed_node_locked(
|
||||
self, mock_acquire, mock_log):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeLocked
|
||||
management._clear_firmware_updates = mock.Mock()
|
||||
|
||||
management._query_firmware_update_failed(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._clear_firmware_updates.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_status(self, mock_acquire):
|
||||
driver_internal_info = {
|
||||
|
@ -975,29 +905,6 @@ class RedfishManagementTestCase(db_base.DbTestCase):
|
|||
|
||||
management._check_node_firmware_update.assert_called_once_with(task)
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_status_not_redfish(self, mock_acquire):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'not-redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
task = mock.Mock(node=self.node,
|
||||
driver=mock.Mock(management=mock.Mock()))
|
||||
mock_acquire.return_value = mock.MagicMock(
|
||||
__enter__=mock.MagicMock(return_value=task))
|
||||
management._check_node_firmware_update = mock.Mock()
|
||||
|
||||
management._query_firmware_update_status(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._check_node_firmware_update.assert_not_called()
|
||||
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_status_no_firmware_upd(self, mock_acquire):
|
||||
driver_internal_info = {'something': 'else'}
|
||||
|
@ -1018,52 +925,6 @@ class RedfishManagementTestCase(db_base.DbTestCase):
|
|||
|
||||
management._check_node_firmware_update.assert_not_called()
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_status_node_notfound(self, mock_acquire,
|
||||
mock_log):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeNotFound
|
||||
management._check_node_firmware_update = mock.Mock()
|
||||
|
||||
management._query_firmware_update_status(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._check_node_firmware_update.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(periodics.LOG, 'info', autospec=True)
|
||||
@mock.patch.object(task_manager, 'acquire', autospec=True)
|
||||
def test__query_firmware_update_status_node_locked(
|
||||
self, mock_acquire, mock_log):
|
||||
driver_internal_info = {
|
||||
'firmware_updates': [
|
||||
{'task_monitor': '/task/123',
|
||||
'url': 'test1'}]}
|
||||
self.node.driver_internal_info = driver_internal_info
|
||||
self.node.save()
|
||||
management = redfish_mgmt.RedfishManagement()
|
||||
mock_manager = mock.Mock()
|
||||
node_list = [(self.node.uuid, 'redfish', '', driver_internal_info)]
|
||||
mock_manager.iter_nodes.return_value = node_list
|
||||
mock_acquire.side_effect = exception.NodeLocked
|
||||
management._check_node_firmware_update = mock.Mock()
|
||||
|
||||
management._query_firmware_update_status(mock_manager,
|
||||
self.context)
|
||||
|
||||
management._check_node_firmware_update.assert_not_called()
|
||||
self.assertTrue(mock_log.called)
|
||||
|
||||
@mock.patch.object(redfish_mgmt.LOG, 'warning', autospec=True)
|
||||
@mock.patch.object(redfish_utils, 'get_update_service', autospec=True)
|
||||
def test__check_node_firmware_update_redfish_conn_error(
|
||||
|
|
Loading…
Reference in New Issue