Skip to content
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

Fixes #37857 - Tang support multiple phys. volumes #10334

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

MartinSpiessl
Copy link

Link to the corresponding issue: https://projects.theforeman.org/issues/37857

This fixes some bugs that I found in the clevis/tang that was added via #9887
It should overall increase the usefulness of this feature for more realistic partitioning schemes,
and address some bugs that prevent this feature from working on Ubuntu.


Copy of the Commit Message Describing the Changes

Often there is more than a single disk that gets encrypted during installation. When multiple disks are available and autopart is used in the kickstart config, all disks get encrypted and put into a volume group on which a logical volume for the root partition is created. Another example is when users add a separate disk for directories like /var to separate application data. This means we need to recursively resolve all underlying encrypted volumes, not just for the root partition. To identify these, we take all entries from /etc/crypttab, which should catch all block devices that were encrypted in the installation process.

As this feature should also work for Ubuntu, we also address some bugs with the Ubuntu support:

  • disk_enc_clevis_tang.erb needs to work with dash (not just bash)
  • the check of the minor version in the autoinstall template is broken, recommendation is also to not rely on the minor version for this OS
  • PKG_MANAGER_INSTALL is missing in preseed_autoinstall_cloud_init.erb

Copy link

@jloeser jloeser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@sbernhard
Copy link
Contributor

Can you please rebase this PR?

@MartinSpiessl
Copy link
Author

Sure, I just rebased onto foreman/develop with no conflicts.

@goarsna
Copy link
Contributor

goarsna commented Nov 5, 2024

Bernhard asked me to take a look, too. I tested the script locally and took a look at the code. LGTM despite the indentation of the for loop Bernhard already mentioned.

Often there is more than a single disk that gets encrypted during
installation. When multiple disks are available and `autopart` is used
in the kickstart config, all disks get encrypted and put into a volume
group on which a logical volume for the root partition is created.
Another example is when users add a separate disk for directories like
/var to separate application data. This means we need to recursively
resolve all underlying encrypted volumes, not just for the
root partition. To identify these, we take all entries from
/etc/crypttab, which should catch all block devices that were
encrypted in the installation process.

As this feature should also work for Ubuntu, we also address some bugs
with the Ubuntu support:
- disk_enc_clevis_tang.erb needs to work with dash (not just bash)
- the check of the minor version in the autoinstall template is broken,
  recommendation is also to not rely on the minor version for this OS
- PKG_MANAGER_INSTALL is missing in preseed_autoinstall_cloud_init.erb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants