diff options
author | Julia Kreger <juliaashleykreger@gmail.com> | 2022-08-16 14:16:48 -0700 |
---|---|---|
committer | Julia Kreger <juliaashleykreger@gmail.com> | 2022-08-17 12:57:57 -0700 |
commit | 5c1dd47e6ce16616268abd016da58ea80136cbfd (patch) | |
tree | 43fc2e2329bf6091717936342e36a7d6fb96ae90 /ironic/tests | |
parent | c861423eb5acf9a1d8f3704bd4552e798731166e (diff) | |
download | ironic-5c1dd47e6ce16616268abd016da58ea80136cbfd.tar.gz |
Add kickstart template 'url' option
To use a source as a path with the anaconda deployment interface,
the kickstart template needs to utilize a 'url' command as opposed
to a second stage ramdisk.
This allows a seamless automatic switch without a customized
kickstart template to just use a URL.
Change-Id: I31febd4e131ed0cc1b37adb9318be8cb17136a68
Diffstat (limited to 'ironic/tests')
-rw-r--r-- | ironic/tests/unit/common/test_pxe_utils.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ironic/tests/unit/common/test_pxe_utils.py b/ironic/tests/unit/common/test_pxe_utils.py index 037ad7449..f9d781830 100644 --- a/ironic/tests/unit/common/test_pxe_utils.py +++ b/ironic/tests/unit/common/test_pxe_utils.py @@ -1608,6 +1608,27 @@ class PXEBuildKickstartConfigOptionsTestCase(db_base.DbTestCase): self.assertTrue(params['ks_options'].pop('agent_token')) self.assertEqual(expected, params['ks_options']) + @mock.patch.object(deploy_utils, 'get_ironic_api_url', autospec=True) + def test_build_kickstart_config_options_pxe_source_path(self, + api_url_mock): + api_url_mock.return_value = 'http://ironic-api' + d_info = self.node.driver_internal_info + d_info['is_source_a_path'] = True + self.node.driver_internal_info = d_info + self.node.save() + with task_manager.acquire(self.context, self.node.uuid, + shared=True) as task: + expected = {} + expected['liveimg_url'] = task.node.instance_info['image_url'] + expected['config_drive'] = '' + expected['heartbeat_url'] = ( + 'http://ironic-api/v1/heartbeat/%s' % task.node.uuid + ) + expected['is_source_a_path'] = 'true' + params = pxe_utils.build_kickstart_config_options(task) + self.assertTrue(params['ks_options'].pop('agent_token')) + self.assertEqual(expected, params['ks_options']) + @mock.patch('ironic.common.utils.render_template', autospec=True) def test_prepare_instance_kickstart_config_not_anaconda_boot(self, render_mock): |