summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/conductor/test_manager.py
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2022-01-19 13:27:44 +0100
committerDmitry Tantsur <dtantsur@protonmail.com>2022-01-28 19:13:13 +0100
commita813c769e8d27803e87d46280db84607fdfce153 (patch)
tree2aced89fce0b491961f4fe65a768a7bf88a8f36c /ironic/tests/unit/conductor/test_manager.py
parent374d5e5a3037a6b985933e734e902b2e05d805bb (diff)
downloadironic-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.py21
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)