diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2022-01-19 13:27:44 +0100 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2022-01-28 19:13:13 +0100 |
commit | a813c769e8d27803e87d46280db84607fdfce153 (patch) | |
tree | 2aced89fce0b491961f4fe65a768a7bf88a8f36c /ironic/tests/unit/conductor/test_manager.py | |
parent | 374d5e5a3037a6b985933e734e902b2e05d805bb (diff) | |
download | ironic-a813c769e8d27803e87d46280db84607fdfce153.tar.gz |
Explicit parameter to distinguish partition/whole-disk images
Using kernel/ramdisk makes no sense with local boot, we need a better
way. We already have an internal image_type instance parameter, let's
make it public.
Glance support will be added in the next patch.
Change-Id: I4ce5f7a2317d952f976194d2022328f4afbb0258
Diffstat (limited to 'ironic/tests/unit/conductor/test_manager.py')
-rw-r--r-- | ironic/tests/unit/conductor/test_manager.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/ironic/tests/unit/conductor/test_manager.py b/ironic/tests/unit/conductor/test_manager.py index dee5b6974..7016576b7 100644 --- a/ironic/tests/unit/conductor/test_manager.py +++ b/ironic/tests/unit/conductor/test_manager.py @@ -1859,12 +1859,15 @@ class ServiceDoNodeDeployTestCase(mgr_utils.ServiceSetUpMixin, # exc_info[1] self.assertIn(r'node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123', str(exc.exc_info[1])) + node.refresh() # This is a sync operation last_error should be None. self.assertIsNone(node.last_error) # Verify reservation has been cleared. self.assertIsNone(node.reservation) mock_iwdi.assert_called_once_with(self.context, node.instance_info) - self.assertNotIn('is_whole_disk_image', node.driver_internal_info) + # The image type must be set for validation to actually work + self.assertFalse(node.driver_internal_info['is_whole_disk_image']) + self.assertEqual('partition', node.instance_info['image_type']) @mock.patch('ironic.drivers.modules.fake.FakeDeploy.validate', autospec=True) @@ -3410,6 +3413,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, self.context, driver='fake-hardware', target_raid_config=target_raid_config, network_interface='noop') + expected_info = dict(node.instance_info, image_type='partition') ret = self.service.validate_driver_interfaces(self.context, node.uuid) expected = {'console': {'result': True}, @@ -3424,7 +3428,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, 'rescue': {'result': True}, 'bios': {'result': True}} self.assertEqual(expected, ret) - mock_iwdi.assert_called_once_with(self.context, node.instance_info) + mock_iwdi.assert_called_once_with(self.context, expected_info) @mock.patch.object(fake.FakeDeploy, 'validate', autospec=True) @mock.patch.object(images, 'is_whole_disk_image', autospec=True) @@ -3435,11 +3439,12 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, network_interface='noop') reason = 'fake reason' mock_val.side_effect = exception.InvalidParameterValue(reason) + expected_info = dict(node.instance_info, image_type='partition') ret = self.service.validate_driver_interfaces(self.context, node.uuid) self.assertFalse(ret['deploy']['result']) self.assertEqual(reason, ret['deploy']['reason']) - mock_iwdi.assert_called_once_with(self.context, node.instance_info) + mock_iwdi.assert_called_once_with(self.context, expected_info) @mock.patch.object(fake.FakeDeploy, 'validate', autospec=True) @mock.patch.object(images, 'is_whole_disk_image', autospec=True) @@ -3447,6 +3452,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, self, mock_iwdi, mock_val): node = obj_utils.create_test_node(self.context, driver='fake-hardware') mock_val.side_effect = Exception('boom') + expected_info = dict(node.instance_info, image_type='whole-disk') ret = self.service.validate_driver_interfaces(self.context, node.uuid) reason = ('Unexpected exception, traceback saved ' @@ -3454,8 +3460,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, 'that is running on test-host: boom') self.assertFalse(ret['deploy']['result']) self.assertEqual(reason, ret['deploy']['reason']) - - mock_iwdi.assert_called_once_with(self.context, node.instance_info) + mock_iwdi.assert_called_once_with(self.context, expected_info) @mock.patch.object(images, 'is_whole_disk_image', autospec=True) def test_validate_driver_interfaces_validation_fail_instance_traits( @@ -3463,6 +3468,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, mock_iwdi.return_value = False node = obj_utils.create_test_node(self.context, driver='fake-hardware', network_interface='noop') + expected_info = dict(node.instance_info, image_type='partition') with mock.patch( 'ironic.conductor.utils.validate_instance_info_traits', autospec=True) as ii_traits: @@ -3472,7 +3478,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, node.uuid) self.assertFalse(ret['deploy']['result']) self.assertEqual(reason, ret['deploy']['reason']) - mock_iwdi.assert_called_once_with(self.context, node.instance_info) + mock_iwdi.assert_called_once_with(self.context, expected_info) @mock.patch.object(images, 'is_whole_disk_image', autospec=True) def test_validate_driver_interfaces_validation_fail_deploy_templates( @@ -3480,6 +3486,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, mock_iwdi.return_value = False node = obj_utils.create_test_node(self.context, driver='fake-hardware', network_interface='noop') + expected_info = dict(node.instance_info, image_type='partition') with mock.patch( 'ironic.conductor.steps' '.validate_user_deploy_steps_and_templates', @@ -3490,7 +3497,7 @@ class MiscTestCase(mgr_utils.ServiceSetUpMixin, mgr_utils.CommonMixIn, node.uuid) self.assertFalse(ret['deploy']['result']) self.assertEqual(reason, ret['deploy']['reason']) - mock_iwdi.assert_called_once_with(self.context, node.instance_info) + mock_iwdi.assert_called_once_with(self.context, expected_info) @mock.patch.object(manager.ConductorManager, '_fail_if_in_state', autospec=True) |