← Back to team overview

curtin-dev team mailing list archive

[Merge] ~ogayot/curtin:nvmet-with-dracut into curtin:master

 

The proposal to merge ~ogayot/curtin:nvmet-with-dracut into curtin:master has been updated.

Description changed to:

Add support for booting with NVMe/TCP ; using dracut instead of initramfs-tools.

Previously, when dealing with NVMe/TCP, curtin would:
  * install nvne-stas and configure the service
  * configure the initramfs using initramfs-tools scripts/hooks so that the network is brought up and nvme connect-all commands are run in the initramfs ; if necessary (i.e., if the rootfs or other essential FS is on remote storage).

Now, curtin will also handle the full NVMe/TCP story where no local storage is available. If curtin detects that firmware support is needed for booting with NVMe/TCP, it will replace initramfs-tools with dracut ; and ensure that the latter properly passes the network configuration to systemd-networkd.

Known issues
------------
* The system does not completely shutdown after the installation finishes. It seems to hang after asking to unmount the cdrom. But maybe this should not be treated as a subiquity issue.
* Installing dracut removes ubuntu-server because ubuntu-server depends on initramfs-tools (not directly but still). This is not great but does not seem to prevent the system from properly booting.
* At the end of the installation, subiquity/curtin decide to remove dracut and reinstall initramfs-tools instead. It isn't clear to me why, yet. A workaround is to execute the following command after the installation is done (this should be doable using a late-command):
    $ snap run subiquity.curtin in-target --target /target -- apt -y install dracut

Notes for reviewers
-------------------
* I moved most of the NVMe/TCP bits out of curtin/commands/curthooks.py to curtin/nvme_tcp.py ; and reworked the naming a little bit to use a common prefix "nvme_tcp". Sadly, this increases the diff size/ Reviewing commit by commit would be an option but maybe not ideal either.

For more details, see:
https://code.launchpad.net/~ogayot/curtin/+git/curtin/+merge/469212
-- 
Your team curtin developers is requested to review the proposed merge of ~ogayot/curtin:nvmet-with-dracut into curtin:master.



References