diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-01-11 20:00:47 +0100 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-01-11 20:02:27 +0100 |
commit | fe380bbbab9d99554ceff82404f6033215c36063 (patch) | |
tree | a8117a613cc06aec0431cd4da26570274de1b664 /ironic/tests/unit/drivers/modules/test_image_utils.py | |
parent | 6af2e2d9d1f3324d1af69554861b0af8578076c4 (diff) | |
download | ironic-fe380bbbab9d99554ceff82404f6033215c36063.tar.gz |
Follow-up for ramdisk deploy configdrive support
1) Do not issue a warning if the boot interface supports configdrive
2) Implement missing support for Swift URLs in configdrives
Change-Id: I4b06478a14ab514d785f8e3972e5afbd79f8d3b5
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 fd51d1c73..c4d817af2 100644 --- a/ironic/tests/unit/drivers/modules/test_image_utils.py +++ b/ironic/tests/unit/drivers/modules/test_image_utils.py @@ -304,6 +304,30 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase): result = image_utils.prepare_configdrive_image(task, encoded) self.assertEqual(expected_url, result) + @mock.patch.object(images, 'fetch_into', autospec=True) + @mock.patch.object(image_utils, 'prepare_disk_image', autospec=True) + def test_prepare_configdrive_image_url(self, mock_prepare, mock_fetch): + content = 'https://swift/path' + expected_url = 'https://a.b/c.f?e=f' + encoded = b'H4sIAPJ8418C/0vOzytJzSsBAKkwxf4HAAAA' + + def _fetch(context, image_href, image_file): + self.assertEqual(content, image_href) + image_file.write(encoded) + + def _prepare(task, content, prefix): + with open(content, 'rb') as fp: + self.assertEqual(b'content', fp.read()) + return expected_url + + mock_fetch.side_effect = _fetch + mock_prepare.side_effect = _prepare + + with task_manager.acquire(self.context, self.node.uuid, + shared=True) as task: + result = image_utils.prepare_configdrive_image(task, content) + self.assertEqual(expected_url, result) + @mock.patch.object(image_utils.ImageHandler, 'unpublish_image', autospec=True) def test_cleanup_iso_image(self, mock_unpublish): |