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

Add cvmfs_shrinkwrap to EESSI container to enable exporting EESSI environment #205

Merged
merged 2 commits into from
Jan 17, 2025

Conversation

ocaisa
Copy link
Member

@ocaisa ocaisa commented Jan 16, 2025

With this included, a user could:

  • Start the EESSI container on a new target system
  • Load the environment they want to export (source EESSI, load their required modules)
  • Run a script (yet to be created) that would
    • Generate a spec file for cvmfs_shrinkwrap based on the current environment
    • Run cvmfs_shrinkwrap to export the environment
    • Run mksquashfs to create a squashfs from the export
    • Tidy up

The resulting squashfs could be loaded in any container (with Linux and a supported shell). One could give a hint about how to enable host_injections with the export.

@@ -73,6 +73,7 @@ else
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs_${cvmfsversion}~1+${os}_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-fuse3_${cvmfsversion}~1+${os}_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-libs_${cvmfsversion}~1+${os}_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-shrinkwrap_${cvmfsversion}~1+${os}_${arch}.deb
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a recommendation from CernVM-FS team to use https://cvmrepo.s3.cern.ch/cvmrepo/yum/cvmfs-release-latest.noarch.rpm instead rather than https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm, see also EESSI/eessi-demo#43 .

Doesn't have to be done in this PR, but we should take that into account...

Copy link
Member Author

Choose a reason for hiding this comment

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

Done in e1f6498 (along with adding squashfs-tools)

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually the update needed for this is not trivial and there is no way (that I can see) to explore https://cvmrepo.s3.cern.ch so I'm going to have to revert that change.

Copy link
Member Author

@ocaisa ocaisa Jan 17, 2025

Choose a reason for hiding this comment

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

To search you can go to any directory and add list.html and you can see the files/directories are contained inside. I couldn't find the src RPM that we need for RISCV support so I'm not going to include the change here (also we could version bump CVMFS itself to 2.12.x in that PR)

@ocaisa
Copy link
Member Author

ocaisa commented Jan 17, 2025

@bedroge I think this should be good to go?

Copy link
Collaborator

@bedroge bedroge left a comment

Choose a reason for hiding this comment

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

Lgtm

@bedroge bedroge merged commit 77bb614 into EESSI:main Jan 17, 2025
18 checks passed
@ocaisa ocaisa deleted the cvmfs_shrinkwrap branch January 17, 2025 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants