I’ve checked curtin
codebase and it seems that KeyError
might indeed happen only when there is come inconsistency in boot entries names.
Can you please paste the output of efibootmgr -v
here?
Regarding your question of how to create a custom version of curtin
and which hook runs on the machine:
During deployment cloud-init
will download a packed curtin
as part of a user-data
payload.
Since you have a snap
installation, MAAS will on the fly pack curtin
that comes as a MAAS dependency (python3-curtin
), however in deb
installation it will pick up curtin
that is installed on your machine (where MAAS is configured). So yes, the file you’ve mentioned is the one being executed on the target maching.
I think that the easiest way to modify it is to unsquash snap
package, do the changes and then do snap try
:
For example:
sudo unsquashfs maas_XXXX.snap
sudo snap try squashfs-root/
And don’t forget to check snap connections
, otherwise weird things are possible.
Hope that will help you to solve you problem.