-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Allow initrd configuration to be skipped #165
Conversation
@TheMysteriousX can you give me an example of specific use case for this? @sergio-correia does this make sense to you? |
@richm: I will let @TheMysteriousX elaborate on the use cases, but basically unlocking may happen in 2 different moments: first during early boot, in which case we need to amend the initrd to e.g. setup networking, when required, and then in late boot, after the system has switched from the initrd to the actual root filesystem ( For some devices, such as the root device (
Yep, it does. |
If you rebase on top of the latest |
Thanks for the review, all the proposed changes look good - I'll implement them and rebase as suggested.
Sure - we keep the base OS volume unencrypted and attach additional encrypted data volumes separately to VM's because:
So to keep things simple, we modified the nbde role to not configure the initrd and flush service - the encrypted volume gets unlocked and mounted after NetworkManager has started instead of before. Systemd supports some additional directives for making sure processes don't get started before a required volume is online which we set with This is also advantageous because the role does not support static addressing as additional parameters are required for that. Any host that contacts the tang hosts via e.g. WiFi, Cellular, bonded interfaces, dynamic routing, IPsec, Wireguard, PPPoE is similarly not supported - I'm not aware of any simple way to support these, other than not decrypting them with the initrd. Ideally when using the initrd to decrypt volumes, you also need to run an sshd so that the host can be manually decrypted remotely if the tang hosts were to fail - but I don't think this is supported on RHEL at all. |
Co-authored-by: Richard Megginson <[email protected]>
Co-authored-by: Richard Megginson <[email protected]>
[citest] |
2 similar comments
[citest] |
[citest] |
@sergio-correia how can we have automated tests for this new feature? is it possible? |
Yeah, it is possible, but not very simple. Basically we can have a VM provisioned having an encrypted Long ago, when there was |
Enhancement:
Allow the initrd and network manager/dracut flush module mechanisms to be disabled.
Reason:
We have volumes that are unlocked by
clevis-luks-askpass
late in the boot process after NetworkManager has put the system on the network, so no changes to the initrd are needed.The affected systems we have this arrangment on have complicated network setups (bonds, macsec, static addressing, IPv6), so the role actually breaks the boot process for them, as it does not account for anything except single NIC + DHCP + IPv4.
Result:
User can disable initrd configuration if required, supporting advanced network configuration to be used or decryption to occur late in the boot process.
Issue Tracker Tickets (Jira or BZ if any):