diff options
author | Zuul <zuul@review.opendev.org> | 2020-03-13 13:53:15 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2020-03-13 13:53:16 +0000 |
commit | 8e9c47b154c43274aa82f8b1b8d2444b519744ea (patch) | |
tree | 26fa8cda562868f67ca70a5a860870aff2d05aa1 /ironic/tests/unit/drivers/modules/test_agent.py | |
parent | 0b30506e6bc9b8674ea4e6eaca6fb46db2880dd3 (diff) | |
parent | fbf92e61267cc10868c1147f7397755fd6f7a0b9 (diff) | |
download | ironic-8e9c47b154c43274aa82f8b1b8d2444b519744ea.tar.gz |
Merge "Make image_checksum optional if other checksum is present"
Diffstat (limited to 'ironic/tests/unit/drivers/modules/test_agent.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/test_agent.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/ironic/tests/unit/drivers/modules/test_agent.py b/ironic/tests/unit/drivers/modules/test_agent.py index aa3a1091a..7a8575e74 100644 --- a/ironic/tests/unit/drivers/modules/test_agent.py +++ b/ironic/tests/unit/drivers/modules/test_agent.py @@ -257,6 +257,75 @@ class TestAgentDeploy(db_base.DbTestCase): pxe_boot_validate_mock.assert_called_once_with( task.driver.boot, task) + @mock.patch.object(pxe.PXEBoot, 'validate', autospec=True) + def test_validate_nonglance_image_no_checksum_os_algo( + self, pxe_boot_validate_mock): + i_info = self.node.instance_info + i_info['image_source'] = 'http://image-ref' + i_info['image_os_hash_value'] = 'az' + del i_info['image_checksum'] + self.node.instance_info = i_info + self.node.save() + + with task_manager.acquire( + self.context, self.node.uuid, shared=False) as task: + self.assertRaises(exception.MissingParameterValue, + self.driver.validate, task) + pxe_boot_validate_mock.assert_called_once_with( + task.driver.boot, task) + + @mock.patch.object(pxe.PXEBoot, 'validate', autospec=True) + def test_validate_nonglance_image_no_os_image_hash( + self, pxe_boot_validate_mock, autospec=True): + i_info = self.node.instance_info + i_info['image_source'] = 'http://image-ref' + i_info['image_os_hash_algo'] = 'magicalgo' + self.node.instance_info = i_info + self.node.save() + + with task_manager.acquire( + self.context, self.node.uuid, shared=False) as task: + self.assertRaises(exception.MissingParameterValue, + self.driver.validate, task) + pxe_boot_validate_mock.assert_called_once_with( + task.driver.boot, task) + + @mock.patch.object(pxe.PXEBoot, 'validate', autospec=True) + def test_validate_nonglance_image_no_os_algo( + self, pxe_boot_validate_mock): + i_info = self.node.instance_info + i_info['image_source'] = 'http://image-ref' + i_info['image_os_hash_value'] = 'az' + self.node.instance_info = i_info + self.node.save() + + with task_manager.acquire( + self.context, self.node.uuid, shared=False) as task: + self.assertRaises(exception.MissingParameterValue, + self.driver.validate, task) + pxe_boot_validate_mock.assert_called_once_with( + task.driver.boot, task) + + @mock.patch.object(images, 'image_show', autospec=True) + @mock.patch.object(pxe.PXEBoot, 'validate', autospec=True) + def test_validate_nonglance_image_no_os_checksum( + self, pxe_boot_validate_mock, show_mock): + i_info = self.node.instance_info + i_info['image_source'] = 'http://image-ref' + del i_info['image_checksum'] + i_info['image_os_hash_algo'] = 'whacky-algo-1' + i_info['image_os_hash_value'] = '1234567890' + self.node.instance_info = i_info + self.node.save() + + with task_manager.acquire(self.context, self.node.uuid, + shared=False) as task: + self.driver.validate(task) + pxe_boot_validate_mock.assert_called_once_with( + task.driver.boot, task) + show_mock.assert_called_once_with(self.context, + 'http://image-ref') + @mock.patch.object(agent, 'validate_http_provisioning_configuration', autospec=True) @mock.patch.object(images, 'image_show', autospec=True) |