diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-06-10 18:39:35 +0200 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-06-10 18:39:35 +0200 |
commit | 3824912f0a54d5fc9d58e9d5bedf316fcdab560a (patch) | |
tree | 7ee24365e8582e424fc3a9a2592bb4a1b1a849b0 /ironic/tests/unit/drivers/modules/test_image_utils.py | |
parent | 1e2fa5c3267e28e066f9622abb11b26d1133b5b3 (diff) | |
download | ironic-3824912f0a54d5fc9d58e9d5bedf316fcdab560a.tar.gz |
Handle non-key-value params in [inspector]extra_kernel_params
Since we use a dict for passing them internally, use None value for
single-value params.
Change-Id: I4e7d2a555eff48ee164d4ecce53156bacbc68da4
Story: #2008963
Task: #42599
Diffstat (limited to 'ironic/tests/unit/drivers/modules/test_image_utils.py')
-rw-r--r-- | ironic/tests/unit/drivers/modules/test_image_utils.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ironic/tests/unit/drivers/modules/test_image_utils.py b/ironic/tests/unit/drivers/modules/test_image_utils.py index 91c0e514c..e3de0eed6 100644 --- a/ironic/tests/unit/drivers/modules/test_image_utils.py +++ b/ironic/tests/unit/drivers/modules/test_image_utils.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import collections import os import tempfile from unittest import mock @@ -576,6 +577,29 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', base_iso='/path/to/baseiso', inject_files=None) + @mock.patch.object(image_utils.ImageHandler, 'publish_image', + autospec=True) + @mock.patch.object(images, 'create_boot_iso', autospec=True) + def test__prepare_iso_image_extra_params( + 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' + extra_params = collections.OrderedDict([('foo', 'bar'), + ('banana', None)]) + self.config(kernel_append_params=kernel_params, group='redfish') + + image_utils._prepare_iso_image( + task, 'http://kernel/img', 'http://ramdisk/img', + root_uuid=task.node.uuid, params=extra_params) + + 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 + ' foo=bar banana', + root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123', + base_iso=None, inject_files=None) + def test__prepare_iso_image_bootable_iso(self): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: |