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

Share singularity images using CVMFS #73

Closed
lecorguille opened this issue Oct 23, 2020 · 14 comments
Closed

Share singularity images using CVMFS #73

lecorguille opened this issue Oct 23, 2020 · 14 comments
Labels
stale Stale

Comments

@lecorguille
Copy link

Hi here,

Maybe it was already suggested, somewhere?
Have you ever think about sharing the singularity images using the CernVM File System. It allow to provide files on the network based on a web of mirrors.

The Galaxy project is using this technology to share databanks, singularity images, configs accross Galaxy instances.
https://galaxyproject.org/blog/2019-02-cvmfs/

More easy to suggest than implement. So far, I'm just a client (and soon a stratum 1) and never try to build something from scratch.

My 2 cents

@maxulysse
Copy link
Member

If you mean the images hosted here: https://depot.galaxyproject.org/singularity
We actually starting to do that with the DSL2 implementation that is currently ongoing for some pipelines:

@lecorguille
Copy link
Author

Great news!

@maxulysse
Copy link
Member

I think the talk by Björn Grüning we had at our last hackathon (https://www.youtube.com/watch?v=_tkd_hnVYUk), convinced us to make the switch.

@apeltzer
Copy link
Member

Its a bit of a different point - Björn talked about it last year on a different meeting with @sven1103 and me, too. The point of this CernVM File System is that you simply have this mounted at your local institution and can then use the images "as if they were there" - being downloaded locally only if they are used. So its more like a global cache than what we even do with DSLv2 - might be something we should keep in mind, as it might be very interesting for some people to learn about it: https://kt.cern/technologies/cern-vm-fs

tl;dr: We are using biocontainers, but not shipping them via CVMFS - it might be however very interesting to have that supported at some point.

@maxulysse
Copy link
Member

Oh, sorry about that, I misunderstood the question then.
Could be good to move that issue in tools or modules then?

@apeltzer
Copy link
Member

No you were entirely right about the move to Biocontainers in DSlv2 which aims in the exact same direction - CVMFS would just make sharing these containers a bit more easy, as they would just magically appear on a network mount in your HPC ❤️

Yes, maybe we should move this to modules or tools - not sure which one is more suitable?

@maxulysse maxulysse transferred this issue from nf-core/configs Oct 23, 2020
@maxulysse
Copy link
Member

I decided to move to modules, as I think it make more sense here

@maxulysse maxulysse reopened this Oct 23, 2020
@lecorguille
Copy link
Author

If I'm right, as soon as you indeed push your docker images in Biocontainer, they should be available in https://depot.galaxyproject.org/singularity

@apeltzer
Copy link
Member

Ping: @bgruening: IIRC, the containers are all available under a public CVMFS endpoint (?) and could thus be mounted to any HPC system that has the ability to use CVMFS. Is there a folder structure available that we could check on how the organization of the Singularity images there looks like, in order to find out how to use this here in modules?

Had a look at some biocontainers/conda docs but couldn't find anything on it :-(

@apeltzer
Copy link
Member

Guess we will first have to find out how to use this and then could make this properly set up now that we're moving towards individual nextflow modules with DSLv2 👍

@bgruening
Copy link

Please try this here: https://github.com/usegalaxy-eu/cvmfs-example

Guess we will first have to find out how to use this

Its using the same mulled-v2 ncondings as Docker, you just need to set the cvmfs path. Always good to look at what the community has done here, this is running in production in many places already.

If I'm right, as soon as you indeed push your docker images in Biocontainer, they should be available in https://depot.galaxyproject.org/singularity sparkles

That is correct. However, on the CVMFS is will be slightly deplayed we only commit to CVMFS once a week or so.

@lecorguille
Copy link
Author

Oh, I have just check what is what you call modules. It would be cool, indeed!
In honest my first message, I was initially considering pushing the images named nfcore-rnaseq-1.4.2.img ... in Biocontainer and so CVMFS

@bgruening
Copy link

I was initially considering pushing the images named nfcore-rnaseq-1.4.2.img ... in Biocontainer and so CVMFS

I'm not sure this is a good decision, every image costs money and we replicate those images worldwide. We try to have atomic images and not full-blown images to make maintaining them easier and more cost efficient. It's great that NF gains module functionallity and this is the way forward imho to use the smaller images that all others use.

@lecorguille
Copy link
Author

Agree with you! It's a really good point to make them modular and rely on existing Bioconda/Biocontainers images.

But thoses images are already used and duplicated in many places (my two infra are on the rails). So far, they're somehow standards for ng-core... so worth to keep in long term, IMHO.

Still, I'm not managing the stratum0 and not yet a stratum1 (we are waiting for the release of our new storage).

🙇

@nvnieuwk nvnieuwk added the stale Stale label Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Stale
Projects
None yet
Development

No branches or pull requests

6 participants