Feature request: Add ability to specify the desired kernel for the Juju-allocated MAAS machines

In most cases, all of the machines are expected to be deployed with the GA kernel. However, that’s not always the case, and the operator could have a necessity of deploying the machine with the HWE or low-latency kernels.

Currently, it could be only achieved by setting up the “min_hwe_kernel” parameter in the specific machine option prior to the deployment:

However, this method has its own disadvantages:

  • operator can’t use IaC approach for tracking the desired configuration
  • this is “minimum” kernel, which means that the HWE kernel will be deployed only if the specified distro is requested (e.g, in case of hwe-20.04 HWE will be deployed only if Focal is requested; but if Jammy is requested upon deployment - it will be with the GA kernel)

Meanwhile, MAAS “deploy” endpoint ( /MAAS/api/2.0/machines/{system_id}/op-deploy ) has a field for specifying the kernel explicitly during the deployment:

hwe_kernel (string ): Optional. If present, this parameter specified the kernel to be used on the machine

Could we consider adding another constraint and/or provider-level config option to control the desired kernel version using Juju?