diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-09-20 18:21:22 +0200 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-09-20 18:35:12 +0200 |
commit | c80d2f29576db0c13ab3f190f4cda4351a303378 (patch) | |
tree | 6d5ef68fbcbfdfddadcbbee56f48b140d5f51d9d /ironic/tests/unit/drivers/modules/test_image_utils.py | |
parent | de50ff2df5257af504d12469bc7cbb2848044f80 (diff) | |
download | ironic-c80d2f29576db0c13ab3f190f4cda4351a303378.tar.gz |
Refactor: move base_iso handling from create_boot_iso
This is basically a no-op and does not belong there. Most of base_iso
handling happens in _prepare_iso_image, which has been restructured to
avoid redundant actions when boot_iso is provided.
Remove TODOs to rebuild base_iso. There are no immediate plans to
implement it, and I'm not even sure how doable it is (e.g. for CoreOS).
Change-Id: I9a0b955ec22d39b6a31494bd2593fec486f6d8a9
Diffstat (limited to 'ironic/tests/unit/drivers/modules/test_image_utils.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/test_image_utils.py | 64 |
1 files changed, 17 insertions, 47 deletions
diff --git a/ironic/tests/unit/drivers/modules/test_image_utils.py b/ironic/tests/unit/drivers/modules/test_image_utils.py index edfb7b29b..549a97d91 100644 --- a/ironic/tests/unit/drivers/modules/test_image_utils.py +++ b/ironic/tests/unit/drivers/modules/test_image_utils.py @@ -481,7 +481,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): boot_mode='uefi', esp_image_href='http://bootloader/img', kernel_params='nofb nomodeset vga=normal', root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso=None, inject_files=None) + inject_files=None) self.assertEqual(expected_url, url) @@ -495,15 +495,14 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): shared=True) as task: image_utils._prepare_iso_image( task, 'http://kernel/img', 'http://ramdisk/img', - bootloader_href=None, root_uuid=task.node.uuid, - base_iso='/path/to/baseiso') + bootloader_href=None, root_uuid=task.node.uuid) mock_create_boot_iso.assert_called_once_with( mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', boot_mode='uefi', esp_image_href=None, kernel_params='nofb nomodeset vga=normal', root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso='/path/to/baseiso', inject_files=None) + inject_files=None) @mock.patch.object(image_utils.ImageHandler, 'publish_image', autospec=True) @@ -531,7 +530,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): boot_mode='bios', esp_image_href=None, kernel_params='nofb nomodeset vga=normal', root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso=None, inject_files=None) + inject_files=None) self.assertEqual(expected_url, url) @@ -548,15 +547,14 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): image_utils._prepare_iso_image( task, 'http://kernel/img', 'http://ramdisk/img', - bootloader_href=None, root_uuid=task.node.uuid, - base_iso='/path/to/baseiso') + bootloader_href=None, root_uuid=task.node.uuid) mock_create_boot_iso.assert_called_once_with( mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', boot_mode='bios', esp_image_href=None, kernel_params=kernel_params, root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso='/path/to/baseiso', inject_files=None) + inject_files=None) @mock.patch.object(image_utils.ImageHandler, 'publish_image', autospec=True) @@ -571,15 +569,14 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): image_utils._prepare_iso_image( task, 'http://kernel/img', 'http://ramdisk/img', - bootloader_href=None, root_uuid=task.node.uuid, - base_iso='/path/to/baseiso') + bootloader_href=None, root_uuid=task.node.uuid) mock_create_boot_iso.assert_called_once_with( mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', boot_mode='bios', esp_image_href=None, kernel_params=kernel_params, root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso='/path/to/baseiso', inject_files=None) + inject_files=None) @mock.patch.object(deploy_utils, 'get_boot_option', lambda node: 'ramdisk') @mock.patch.object(image_utils.ImageHandler, 'publish_image', @@ -602,32 +599,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): boot_mode='bios', esp_image_href=None, kernel_params="root=/dev/ram0 text " + kernel_params, root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso=None, inject_files=None) - - @mock.patch.object(deploy_utils, 'get_boot_option', lambda node: 'ramdisk') - @mock.patch.object(image_utils.ImageHandler, 'publish_image', - autospec=True) - @mock.patch.object(images, 'create_boot_iso', autospec=True) - def test__prepare_iso_image_kernel_params_for_ramdisk_boot_iso( - self, mock_create_boot_iso, mock_publish_image): - with task_manager.acquire(self.context, self.node.uuid, - shared=True) as task: - kernel_params = 'network-config=base64-cloudinit-blob' - - task.node.instance_info['ramdisk_kernel_arguments'] = kernel_params - - image_utils._prepare_iso_image( - task, 'http://kernel/img', 'http://ramdisk/img', - bootloader_href=None, root_uuid=task.node.uuid, - base_iso='/path/to/baseiso') - - mock_create_boot_iso.assert_called_once_with( - mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', - boot_mode='bios', esp_image_href=None, - # No custom parameters with a boot ISO present - kernel_params=None, - root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso='/path/to/baseiso', inject_files=None) + inject_files=None) @mock.patch.object(deploy_utils, 'get_boot_option', lambda node: 'ramdisk') @mock.patch.object(image_utils.ImageHandler, 'publish_image', @@ -644,15 +616,14 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): image_utils._prepare_iso_image( task, 'http://kernel/img', 'http://ramdisk/img', - bootloader_href=None, root_uuid=task.node.uuid, - base_iso='/path/to/baseiso') + bootloader_href=None, root_uuid=task.node.uuid) mock_create_boot_iso.assert_called_once_with( mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', boot_mode='bios', esp_image_href=None, kernel_params=kernel_params, root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso='/path/to/baseiso', inject_files=None) + inject_files=None) @mock.patch.object(image_utils.ImageHandler, 'publish_image', autospec=True) @@ -675,7 +646,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): boot_mode='bios', esp_image_href=None, kernel_params=kernel_params + ' foo=bar banana', root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - base_iso=None, inject_files=None) + inject_files=None) def test__prepare_iso_image_bootable_iso(self): with task_manager.acquire(self.context, self.node.uuid, @@ -700,8 +671,10 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): @mock.patch.object(image_utils.ImageHandler, 'publish_image', autospec=True) + @mock.patch.object(images, 'fetch_into', autospec=True) @mock.patch.object(images, 'create_boot_iso', autospec=True) def test__prepare_iso_image_bootable_iso_file(self, mock_create_boot_iso, + mock_fetch, mock_publish_image): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: @@ -711,12 +684,9 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): task, 'http://kernel/img', 'http://ramdisk/img', bootloader_href=None, root_uuid=task.node.uuid, base_iso=base_image_url) - mock_create_boot_iso.assert_called_once_with( - mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img', - esp_image_href=None, - root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', - kernel_params='nofb nomodeset vga=normal', boot_mode='bios', - base_iso='/path/to/baseiso', inject_files=None) + mock_fetch.assert_called_once_with(task.context, + base_image_url, mock.ANY) + mock_create_boot_iso.assert_not_called() @mock.patch.object(images, 'get_temp_url_for_glance_image', autospec=True) |