Is there a way to select the image used for commission upon commission for just this one commission? We are experiencing some errors with certain server models using Ubuntu 20.04 image (which we will eventually solve), so we are expediently switching back to Ubuntu 18.04 for them, though other servers in our environment need the newer drivers and such included in Ubuntu 20.04. I don’t want to have to fight with a universal setting.
We’ve also noticed that servers commissioned under one or the other version have an affinity for that version, and seem to fail a deployment on one version if they’ve been commissioned under the other version.
As a workaround you can edit the hwe_kernel property of a machine to get around this, but not via the UI.
Example of location it fails to find:
Focal is ga-20.04 and yet it’s looking for Bionic there, this has to be a bug in MAAS
MAAS does not support a custom image for commissioning, it does allow for customization of what operations are done during commissioning however. In addition to modifying the hwe_kernel properties, as mentioned, you can add custom operations for commissioning using curtin templates (docs here).
@cgrabowski The problem is that MAAS is trying to select a kernel for one release of Ubuntu in the path of a different release. This causes ephemeral image paths provided to the node during boot to fail, because MAAS has provided an invalid path.
What triggered this problem was raising the version of Ubuntu used for commissions in the global setting to focal (ga-20.04).
Any machine which had the hwe_kernel version set to bionic prior to this change was made now tries to boot the bionic kernel, but it looks in the focal path to do so.
At no point have we been manually selecting a hwe_kernel when deploying nodes, this field is being populated automatically by MAAS. If you change the global commission version to no longer match this, any nodes which MAAS has automatically populated before will have a path constructed that combined the global commission path with the hwe_kernel path causing it to point to a file that doesn’t exist.