diff options
Diffstat (limited to 'ironic/tests/unit/conductor/test_task_manager.py')
-rw-r--r-- | ironic/tests/unit/conductor/test_task_manager.py | 128 |
1 files changed, 78 insertions, 50 deletions
diff --git a/ironic/tests/unit/conductor/test_task_manager.py b/ironic/tests/unit/conductor/test_task_manager.py index ced512dfd..13de0a241 100644 --- a/ironic/tests/unit/conductor/test_task_manager.py +++ b/ironic/tests/unit/conductor/test_task_manager.py @@ -112,7 +112,13 @@ class TaskManagerTestCase(db_base.DbTestCase): get_voltgt_mock.return_value = mock.sentinel.voltgt1 build_driver_mock.return_value = mock.sentinel.driver1 + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_all(task): + return task.ports, task.portgroups, task.volume_targets, \ + task.volume_connectors + with task_manager.TaskManager(self.context, 'node-id1') as task: + _eval_all(task) reserve_mock.return_value = node2 get_ports_mock.return_value = mock.sentinel.ports2 get_portgroups_mock.return_value = mock.sentinel.portgroups2 @@ -120,6 +126,7 @@ class TaskManagerTestCase(db_base.DbTestCase): get_voltgt_mock.return_value = mock.sentinel.voltgt2 build_driver_mock.return_value = mock.sentinel.driver2 with task_manager.TaskManager(self.context, 'node-id2') as task2: + _eval_all(task2) self.assertEqual(self.context, task.context) self.assertEqual(self.node, task.node) self.assertEqual(mock.sentinel.ports1, task.ports) @@ -231,16 +238,18 @@ class TaskManagerTestCase(db_base.DbTestCase): reserve_mock.return_value = self.node get_ports_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id') + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_ports(task): + return task.ports + + with task_manager.TaskManager(self.context, 'fake-node-id') as task: + self.assertRaises(exception.IronicException, _eval_ports, task) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') reserve_mock.assert_called_once_with(self.context, self.host, 'fake-node-id') get_ports_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) release_mock.assert_called_once_with(self.context, self.host, self.node.id) @@ -251,16 +260,19 @@ class TaskManagerTestCase(db_base.DbTestCase): reserve_mock.return_value = self.node get_portgroups_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id') + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_portgroups(task): + return task.portgroups + + with task_manager.TaskManager(self.context, 'fake-node-id') as task: + self.assertRaises(exception.IronicException, _eval_portgroups, + task) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') reserve_mock.assert_called_once_with(self.context, self.host, 'fake-node-id') get_portgroups_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) release_mock.assert_called_once_with(self.context, self.host, self.node.id) @@ -271,15 +283,18 @@ class TaskManagerTestCase(db_base.DbTestCase): reserve_mock.return_value = self.node get_volconn_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id') + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_volconn(task): + return task.volume_connectors + + with task_manager.TaskManager(self.context, 'fake-node-id') as task: + self.assertRaises(exception.IronicException, _eval_volconn, + task) reserve_mock.assert_called_once_with(self.context, self.host, 'fake-node-id') get_volconn_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) release_mock.assert_called_once_with(self.context, self.host, self.node.id) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') @@ -291,15 +306,17 @@ class TaskManagerTestCase(db_base.DbTestCase): reserve_mock.return_value = self.node get_voltgt_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id') + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_voltgt(task): + return task.volume_targets + + with task_manager.TaskManager(self.context, 'fake-node-id') as task: + self.assertRaises(exception.IronicException, _eval_voltgt, task) reserve_mock.assert_called_once_with(self.context, self.host, 'fake-node-id') get_voltgt_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) release_mock.assert_called_once_with(self.context, self.host, self.node.id) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') @@ -320,8 +337,10 @@ class TaskManagerTestCase(db_base.DbTestCase): node_get_mock.assert_called_once_with(self.context, 'fake-node-id') reserve_mock.assert_called_once_with(self.context, self.host, 'fake-node-id') - get_ports_mock.assert_called_once_with(self.context, self.node.id) - get_portgroups_mock.assert_called_once_with(self.context, self.node.id) + self.assertFalse(get_ports_mock.called) + self.assertFalse(get_portgroups_mock.called) + self.assertFalse(get_volconn_mock.called) + self.assertFalse(get_voltgt_mock.called) build_driver_mock.assert_called_once_with(mock.ANY) release_mock.assert_called_once_with(self.context, self.host, self.node.id) @@ -381,17 +400,19 @@ class TaskManagerTestCase(db_base.DbTestCase): node_get_mock.return_value = self.node get_ports_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id', - shared=True) + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_ports(task): + return task.ports + + with task_manager.TaskManager(self.context, 'fake-node-id', + shared=True) as task: + self.assertRaises(exception.IronicException, _eval_ports, task) self.assertFalse(reserve_mock.called) self.assertFalse(release_mock.called) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') get_ports_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) def test_shared_lock_get_portgroups_exception( self, get_voltgt_mock, get_volconn_mock, get_portgroups_mock, @@ -400,17 +421,20 @@ class TaskManagerTestCase(db_base.DbTestCase): node_get_mock.return_value = self.node get_portgroups_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id', - shared=True) + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_portgroups(task): + return task.portgroups + + with task_manager.TaskManager(self.context, 'fake-node-id', + shared=True) as task: + self.assertRaises(exception.IronicException, _eval_portgroups, + task) self.assertFalse(reserve_mock.called) self.assertFalse(release_mock.called) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') get_portgroups_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) def test_shared_lock_get_volconn_exception( self, get_voltgt_mock, get_volconn_mock, get_portgroups_mock, @@ -419,17 +443,19 @@ class TaskManagerTestCase(db_base.DbTestCase): node_get_mock.return_value = self.node get_volconn_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id', - shared=True) + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_volconn(task): + return task.volume_connectors + + with task_manager.TaskManager(self.context, 'fake-node-id', + shared=True) as task: + self.assertRaises(exception.IronicException, _eval_volconn, task) self.assertFalse(reserve_mock.called) self.assertFalse(release_mock.called) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') get_volconn_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(get_voltgt_mock.called) + self.assertTrue(build_driver_mock.called) def test_shared_lock_get_voltgt_exception( self, get_voltgt_mock, get_volconn_mock, get_portgroups_mock, @@ -438,17 +464,19 @@ class TaskManagerTestCase(db_base.DbTestCase): node_get_mock.return_value = self.node get_voltgt_mock.side_effect = exception.IronicException('foo') - self.assertRaises(exception.IronicException, - task_manager.TaskManager, - self.context, - 'fake-node-id', - shared=True) + # Note(arne_wiebalck): Force loading of lazy-loaded properties. + def _eval_voltgt(task): + return task.volume_targets + + with task_manager.TaskManager(self.context, 'fake-node-id', + shared=True) as task: + self.assertRaises(exception.IronicException, _eval_voltgt, task) self.assertFalse(reserve_mock.called) self.assertFalse(release_mock.called) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') get_voltgt_mock.assert_called_once_with(self.context, self.node.id) - self.assertFalse(build_driver_mock.called) + self.assertTrue(build_driver_mock.called) def test_shared_lock_build_driver_exception( self, get_voltgt_mock, get_volconn_mock, get_portgroups_mock, @@ -467,10 +495,10 @@ class TaskManagerTestCase(db_base.DbTestCase): self.assertFalse(reserve_mock.called) self.assertFalse(release_mock.called) node_get_mock.assert_called_once_with(self.context, 'fake-node-id') - get_ports_mock.assert_called_once_with(self.context, self.node.id) - get_portgroups_mock.assert_called_once_with(self.context, self.node.id) - get_volconn_mock.assert_called_once_with(self.context, self.node.id) - get_voltgt_mock.assert_called_once_with(self.context, self.node.id) + self.assertFalse(get_ports_mock.called) + self.assertFalse(get_portgroups_mock.called) + self.assertFalse(get_voltgt_mock.called) + self.assertFalse(get_volconn_mock.called) build_driver_mock.assert_called_once_with(mock.ANY) def test_upgrade_lock( |