diff options
Diffstat (limited to 'lava_scheduler_app/tests/test_templates.py')
-rw-r--r-- | lava_scheduler_app/tests/test_templates.py | 55 |
1 files changed, 15 insertions, 40 deletions
diff --git a/lava_scheduler_app/tests/test_templates.py b/lava_scheduler_app/tests/test_templates.py index dc53d2f02..2bdc7cc27 100644 --- a/lava_scheduler_app/tests/test_templates.py +++ b/lava_scheduler_app/tests/test_templates.py @@ -1,4 +1,3 @@ -import yaml from lava_scheduler_app.tests.test_base_templates import ( BaseTemplate, prepare_jinja_template, @@ -32,9 +31,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set power_on_command = '/usr/bin/pduclient --daemon localhost --port 02 --hostname lngpdu01 --command on' %} {% set connection_command = 'telnet localhost 7302' %}""" self.assertTrue(self.validate_data('staging-x86-01', data)) - test_template = prepare_jinja_template('staging-x86-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, raw=False) for _, value in template_dict['actions']['boot']['methods']['ipxe'].items(): if 'commands' in value: for item in value['commands']: @@ -62,10 +59,8 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): if item.endswith(','): self.fail("%s ends with a comma" % item) self.assertEqual(depth, 8) - test_template = prepare_jinja_template('staging-x86-01', data) job_ctx = {} - rendered = test_template.render(**job_ctx) - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, job_ctx=job_ctx, raw=False) self.assertIsNotNone(template_dict['actions']['boot']['methods']['ipxe']['nfs']['commands']) @@ -77,23 +72,19 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): # override template in job context job_ctx = {'boot_character_delay': 150} - rendered = test_template.render(**job_ctx) - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, job_ctx=job_ctx, raw=False) self.assertEqual(150, template_dict['character_delays']['boot']) # add device dictionary override # overrides the template default data += """{% set boot_character_delay = 400 %}""" - test_template = prepare_jinja_template('staging-x86-01', data) job_ctx = {} - rendered = test_template.render(**job_ctx) - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, job_ctx=job_ctx, raw=False) self.assertEqual(400, template_dict['character_delays']['boot']) # job context does not override device dictionary job_ctx = {'boot_character_delay': 150} - rendered = test_template.render(**job_ctx) - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, job_ctx=job_ctx, raw=False) self.assertNotEqual(150, template_dict['character_delays']['boot']) self.assertEqual(400, template_dict['character_delays']['boot']) @@ -105,9 +96,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set power_on_command = '/usr/bin/pduclient --daemon localhost --port 02 --hostname lngpdu01 --command on' %} {% set connection_command = 'telnet localhost 7302' %}""" self.assertTrue(self.validate_data('staging-x86-01', data)) - test_template = prepare_jinja_template('staging-x86-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, raw=False) for _, value in template_dict['actions']['boot']['methods']['ipxe'].items(): if 'commands' in value: self.assertIn('dhcp net0', value['commands']) @@ -120,9 +109,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set power_on_command = '/usr/bin/pduclient --daemon localhost --port 02 --hostname lngpdu01 --command on' %} {% set connection_command = 'telnet localhost 7302' %}""" self.assertTrue(self.validate_data('staging-x86-01', data)) - test_template = prepare_jinja_template('staging-x86-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-x86-01', data, raw=False) for _, value in template_dict['actions']['boot']['methods']['ipxe'].items(): if 'commands' in value: self.assertIn('dhcp net1', value['commands']) @@ -143,9 +130,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set power_on_command = '/usr/bin/pduclient --daemon localhost --hostname lngpdu01 --command on --port 19' %} {% set connection_command = 'telnet localhost 7333' %}""" self.assertTrue(self.validate_data('staging-thunderx-01', data)) - test_template = prepare_jinja_template('staging-thunderx-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-thunderx-01', data, raw=False) self.assertIn('character_delays', template_dict) self.assertIn('boot', template_dict['character_delays']) self.assertEqual(150, template_dict['character_delays']['boot']) @@ -162,9 +147,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set power_on_command = 'ipmitool -H calxeda02-07-02 -U admin -P admin chassis power on' %} {% set hard_reset_command = 'ipmitool -H calxeda02-07-02 -U admin -P admin chassis power off; sleep 20; ipmitool -H calxeda02-07-02 -U admin -P admin chassis power on' %}""" self.assertTrue(self.validate_data('highbank-07', data)) - test_template = prepare_jinja_template('highbank-07', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('highbank-07', data, raw=False) self.assertIsNotNone(template_dict) self.assertEqual(template_dict['character_delays']['boot'], 100) self.assertEqual(template_dict['actions']['boot']['methods']['u-boot']['parameters']['bootloader_prompt'], 'Highbank') @@ -218,15 +201,12 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set connection_command = 'telnet localhost 7301' %} {% set lava_mac = 'd8:9d:67:26:ae:e8' %}""" self.assertTrue(self.validate_data('staging-x86-01', data)) - test_template = prepare_jinja_template('staging-qemu-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-qemu-01', data, raw=False) self.assertIn( 'set console console=ttyS0,115200n8 lava_mac={LAVA_MAC}', template_dict['actions']['boot']['methods']['ipxe']['nfs']['commands']) context = {'extra_kernel_args': 'intel_mmio=on mmio=on'} - rendered = test_template.render(**context) - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('staging-qemu-01', data, job_ctx=context, raw=False) self.assertIn( 'set extraargs root=/dev/nfs rw nfsroot={NFS_SERVER_IP}:{NFSROOTFS},tcp,hard,intr intel_mmio=on mmio=on ip=dhcp', template_dict['actions']['boot']['methods']['ipxe']['nfs']['commands']) @@ -235,10 +215,8 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): data = """{% extends 'arduino101.jinja2' %} {% set board_id = 'AE6642EK61804EZ' %}""" self.assertTrue(self.validate_data('staging-arduino101-01', data)) - test_template = prepare_jinja_template('staging-arduino101-01', - data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template( + 'staging-arduino101-01', data, raw=False) self.assertIsNotNone(template_dict) self.assertEqual(template_dict['board_id'], 'AE6642EK61804EZ') @@ -256,9 +234,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): {% set console_device = console_device | default('ttyS2') %} {% set extra_kernel_args = 'earlyprintk=ttyS2,115200n8 console=tty1' %}""" self.assertTrue(self.validate_data('jaq-01', data)) - test_template = prepare_jinja_template('jaq-01', data) - rendered = test_template.render() - template_dict = yaml.load(rendered) + template_dict = prepare_jinja_template('jaq-01', data, raw=False) load_addr = template_dict['parameters']['load_address'] self.assertEqual(load_addr, '0x5678') depthcharge = template_dict['actions']['boot']['methods']['depthcharge'] @@ -268,8 +244,7 @@ class TestTemplates(BaseTemplate.BaseTemplateCases): depthcharge['ramdisk']['cmdline']) def test_x86_atom330_template(self): - rendered = self.render_device_dictionary_file('x86-atom330-01.jinja2') - template_dict = yaml.load(rendered) + template_dict = self.render_device_dictionary_file('x86-atom330-01.jinja2', raw=False) self.assertIsNotNone(template_dict['actions']['boot']['methods']['ipxe']) self.assertIn('ramdisk', template_dict['actions']['boot']['methods']['ipxe']) self.assertIn('commands', template_dict['actions']['boot']['methods']['ipxe']['nfs']) |