maas/images/maas-region-controller/2.3_kernel_package.patch

28 lines
1.1 KiB
Diff

--- preseed.py 2018-10-15 12:52:41.611027184 -0700
+++ preseed2.py 2018-10-16 13:42:51.824755746 -0700
@@ -317,7 +317,23 @@
The BootResourceFile table contains a mapping between hwe kernels and
Ubuntu package names. If this mapping is missing we fall back to letting
Curtin figure out which kernel should be installed"""
- kpackage = BootResource.objects.get_kpackage_for_node(node)
+
+ # determine if this node has kernel parameters applied by drydock
+ kernel_opt_tag = "%s_kp" % (node.hostname)
+ if kernel_opt_tag in node.tag_names():
+
+ # the tag exists, retrieve it
+ kernel_opts = node.tags.get(name=kernel_opt_tag).kernel_opts
+
+ # parse the string and find our package param value
+ # e.g. kernel_package=linux-image-4.15.0-34-generic
+ kparams = kernel_opts.split()
+ kdict = dict(kparam.split('=') for kparam in kparams)
+ if 'kernel_package' in kdict:
+ kpackage = kdict['kernel_package']
+ else:
+ kpackage = BootResource.objects.get_kpackage_for_node(node)
+
if kpackage:
kernel_config = {
'kernel': {