buildinstall: Expose template arguments for lorax
This would be useful for modularity. The templates can be added now and variables set via the existing `lorax_option`. It's not possible to use custom templates not shipped with lorax, as passing the path to a random directory is a little bit more tricky. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
894a5a11a4
commit
be39dc3caf
@ -486,6 +486,10 @@ Options
|
|||||||
* ``bugurl`` -- *str* (default ``None``)
|
* ``bugurl`` -- *str* (default ``None``)
|
||||||
* ``nomacboot`` -- *bool* (default ``True``)
|
* ``nomacboot`` -- *bool* (default ``True``)
|
||||||
* ``noupgrade`` -- *bool* (default ``True``)
|
* ``noupgrade`` -- *bool* (default ``True``)
|
||||||
|
* ``add_template`` -- *[str]* (default empty)
|
||||||
|
* ``add_arch_template`` -- *[str]* (default empty)
|
||||||
|
* ``add_template_var`` -- *[str]* (default empty)
|
||||||
|
* ``add_arch_template_var`` -- *[str]* (default empty)
|
||||||
**buildinstall_kickstart**
|
**buildinstall_kickstart**
|
||||||
(:ref:`scm_dict <scm_support>`) -- If specified, this kickstart file will
|
(:ref:`scm_dict <scm_support>`) -- If specified, this kickstart file will
|
||||||
be copied into each file and pointed to in boot configuration.
|
be copied into each file and pointed to in boot configuration.
|
||||||
|
@ -997,6 +997,10 @@ def make_schema():
|
|||||||
"bugurl": {"type": "string"},
|
"bugurl": {"type": "string"},
|
||||||
"nomacboot": {"type": "boolean"},
|
"nomacboot": {"type": "boolean"},
|
||||||
"noupgrade": {"type": "boolean"},
|
"noupgrade": {"type": "boolean"},
|
||||||
|
'add_template': {"$ref": "#/definitions/list_of_strings"},
|
||||||
|
'add_arch_template': {"$ref": "#/definitions/list_of_strings"},
|
||||||
|
'add_template_var': {"$ref": "#/definitions/list_of_strings"},
|
||||||
|
'add_arch_template_var': {"$ref": "#/definitions/list_of_strings"},
|
||||||
},
|
},
|
||||||
"additionalProperties": False,
|
"additionalProperties": False,
|
||||||
}),
|
}),
|
||||||
|
@ -58,6 +58,10 @@ class BuildinstallPhase(PhaseBase):
|
|||||||
noupgrade = True
|
noupgrade = True
|
||||||
bugurl = None
|
bugurl = None
|
||||||
nomacboot = True
|
nomacboot = True
|
||||||
|
add_template = []
|
||||||
|
add_arch_template = []
|
||||||
|
add_template_var = []
|
||||||
|
add_arch_template_var = []
|
||||||
for data in get_arch_variant_data(self.compose.conf, 'lorax_options', arch, variant):
|
for data in get_arch_variant_data(self.compose.conf, 'lorax_options', arch, variant):
|
||||||
if not data.get('noupgrade', True):
|
if not data.get('noupgrade', True):
|
||||||
noupgrade = False
|
noupgrade = False
|
||||||
@ -65,6 +69,10 @@ class BuildinstallPhase(PhaseBase):
|
|||||||
bugurl = data.get('bugurl')
|
bugurl = data.get('bugurl')
|
||||||
if not data.get('nomacboot', True):
|
if not data.get('nomacboot', True):
|
||||||
nomacboot = False
|
nomacboot = False
|
||||||
|
add_template.extend(data.get('add_template', []))
|
||||||
|
add_arch_template.extend(data.get('add_arch_template', []))
|
||||||
|
add_template_var.extend(data.get('add_template_var', []))
|
||||||
|
add_arch_template_var.extend(data.get('add_arch_template_var', []))
|
||||||
output_dir = os.path.join(output_dir, variant.uid)
|
output_dir = os.path.join(output_dir, variant.uid)
|
||||||
|
|
||||||
# The paths module will modify the filename (by inserting arch). But we
|
# The paths module will modify the filename (by inserting arch). But we
|
||||||
@ -86,6 +94,10 @@ class BuildinstallPhase(PhaseBase):
|
|||||||
volid=volid,
|
volid=volid,
|
||||||
nomacboot=nomacboot,
|
nomacboot=nomacboot,
|
||||||
bugurl=bugurl,
|
bugurl=bugurl,
|
||||||
|
add_template=add_template,
|
||||||
|
add_arch_template=add_arch_template,
|
||||||
|
add_template_var=add_template_var,
|
||||||
|
add_arch_template_var=add_arch_template_var,
|
||||||
noupgrade=noupgrade,
|
noupgrade=noupgrade,
|
||||||
log_dir=log_dir)
|
log_dir=log_dir)
|
||||||
return 'rm -rf %s && %s' % (pipes.quote(output_dir),
|
return 'rm -rf %s && %s' % (pipes.quote(output_dir),
|
||||||
|
@ -91,18 +91,24 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
buildarch='x86_64', is_final=True, nomacboot=True, noupgrade=True,
|
buildarch='x86_64', is_final=True, nomacboot=True, noupgrade=True,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
self.topdir + '/work/amd64/buildinstall/Server',
|
self.topdir + '/work/amd64/buildinstall/Server',
|
||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
self.topdir + '/work/amd64/buildinstall/Client',
|
self.topdir + '/work/amd64/buildinstall/Client',
|
||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
||||||
volid='vol_id', variant='Client', buildinstallpackages=[],
|
volid='vol_id', variant='Client', buildinstallpackages=[],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
||||||
self.assertItemsEqual(
|
self.assertItemsEqual(
|
||||||
get_volid.mock_calls,
|
get_volid.mock_calls,
|
||||||
@ -145,6 +151,8 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=True,
|
||||||
volid='vol_id', variant='Client', buildinstallpackages=[],
|
volid='vol_id', variant='Client', buildinstallpackages=[],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')],
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')],
|
||||||
any_order=True)
|
any_order=True)
|
||||||
self.assertItemsEqual(
|
self.assertItemsEqual(
|
||||||
@ -202,7 +210,13 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
'buildinstall_method': 'lorax',
|
'buildinstall_method': 'lorax',
|
||||||
'lorax_options': [
|
'lorax_options': [
|
||||||
('^Server$', {
|
('^Server$', {
|
||||||
'x86_64': {'bugurl': 'http://example.com'},
|
'x86_64': {
|
||||||
|
'bugurl': 'http://example.com',
|
||||||
|
'add_template': ['foo', 'FOO'],
|
||||||
|
'add_arch_template': ['bar'],
|
||||||
|
'add_template_var': ['baz=1'],
|
||||||
|
'add_arch_template_var': ['quux=2'],
|
||||||
|
},
|
||||||
'amd64': {'noupgrade': False}
|
'amd64': {'noupgrade': False}
|
||||||
}),
|
}),
|
||||||
('^Client$', {
|
('^Client$', {
|
||||||
@ -235,6 +249,8 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
self.topdir + '/work/x86_64/buildinstall/Server',
|
self.topdir + '/work/x86_64/buildinstall/Server',
|
||||||
buildarch='x86_64', is_final=True, nomacboot=True, noupgrade=True,
|
buildarch='x86_64', is_final=True, nomacboot=True, noupgrade=True,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
|
add_template=['foo', 'FOO'], add_arch_template=['bar'],
|
||||||
|
add_template_var=['baz=1'], add_arch_template_var=['quux=2'],
|
||||||
bugurl='http://example.com',
|
bugurl='http://example.com',
|
||||||
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
@ -242,12 +258,16 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
self.topdir + '/work/amd64/buildinstall/Client',
|
self.topdir + '/work/amd64/buildinstall/Client',
|
||||||
buildarch='amd64', is_final=True, nomacboot=False, noupgrade=True,
|
buildarch='amd64', is_final=True, nomacboot=False, noupgrade=True,
|
||||||
volid='vol_id', variant='Client', buildinstallpackages=[],
|
volid='vol_id', variant='Client', buildinstallpackages=[],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
||||||
self.assertItemsEqual(
|
self.assertItemsEqual(
|
||||||
get_volid.mock_calls,
|
get_volid.mock_calls,
|
||||||
@ -299,18 +319,24 @@ class TestBuildinstallPhase(PungiTestCase):
|
|||||||
buildarch='x86_64', is_final=True, nomacboot=False, noupgrade=False,
|
buildarch='x86_64', is_final=True, nomacboot=False, noupgrade=False,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/x86_64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
self.topdir + '/work/amd64/buildinstall/Server',
|
self.topdir + '/work/amd64/buildinstall/Server',
|
||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
||||||
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
volid='vol_id', variant='Server', buildinstallpackages=['bash', 'vim'],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Server-logs'),
|
||||||
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
mock.call('Test', '1', '1', self.topdir + '/work/amd64/repo',
|
||||||
self.topdir + '/work/amd64/buildinstall/Client',
|
self.topdir + '/work/amd64/buildinstall/Client',
|
||||||
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
buildarch='amd64', is_final=True, nomacboot=True, noupgrade=False,
|
||||||
volid='vol_id', variant='Client', buildinstallpackages=[],
|
volid='vol_id', variant='Client', buildinstallpackages=[],
|
||||||
bugurl=None,
|
bugurl=None,
|
||||||
|
add_template=[], add_arch_template=[],
|
||||||
|
add_template_var=[], add_arch_template_var=[],
|
||||||
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
log_dir=self.topdir + '/logs/amd64/buildinstall-Client-logs')])
|
||||||
self.assertItemsEqual(
|
self.assertItemsEqual(
|
||||||
get_volid.mock_calls,
|
get_volid.mock_calls,
|
||||||
|
Loading…
Reference in New Issue
Block a user