summaryrefslogtreecommitdiff
path: root/ironic/tests
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2022-08-16 14:16:48 -0700
committerJulia Kreger <juliaashleykreger@gmail.com>2022-08-17 12:57:57 -0700
commit5c1dd47e6ce16616268abd016da58ea80136cbfd (patch)
tree43fc2e2329bf6091717936342e36a7d6fb96ae90 /ironic/tests
parentc861423eb5acf9a1d8f3704bd4552e798731166e (diff)
downloadironic-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.py21
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):