-
Notifications
You must be signed in to change notification settings - Fork 32
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
increase visibility of roles #96
Comments
Note: One advantage we had from being able to install QE in a separate folder was the the singularity recipe could build everything in /tmp directly on the "host filesystem" and then only copy the executables over to the actual image (without having to worry about cleaning up temporary files). |
* numerous role updates for #96 * update image + build process
After realising that SingularityHub currently blocks IP addresses after 10 pulls per day (which can easily create issues when using singularity files in CI tests), I have decided to stop moving in the singularity direction for the time being and reconsider I've also learned that you can use docker multistage builds (
|
While one could still build docker images from the ansible roles, the underlying purpose of this issue (make the codes more easily available to users without Quantum Mobile) will in my view be better achieved via the conda route, with its fully-fledged dependency management that is indispensable as soon as you start installing several codes side-by-side. I'm closing this. |
@ltalirz FYI I don't think you would be able to install the codes into the same conda environment; you would create a separate one for each code. |
This is one of the reasons why I think it would be important to get the developers (of the roles) to sit together. Example: all codes should try to support openmpi as the MPI library (other libraries optional of course) On the upside, conda will reuse (hardlink) dependencies when they are the same, even if the codes are all installed in separate environments. P.S. I'm sure similar discussions have already been had in the context of the ESL, i.e. it would be good to learn from the insights they collected. |
Exactly, that's why I don't think it is too much of a problem. It may be possible, but a lot more work to keep ~10 or more codes "in sync" with no version incompatibilities. |
Perhaps dump the incompatibilities you encountered in #161 |
We have all these nice ansible roles that know how to install various codes & tools and might be useful on their own. However, the roles are not easy to use on their own (few people are willing/able to learn ansible).
I think adding automated singularity builds for (some of) these roles would a big step as it makes them easy to use - and it's probably not that much work.
Step 1: For such "code roles"
become_user
(see ansible provisioning using users without sudo privileges #67). still fine to keepbecome
where it's needed (i.e. don't assume the role is run withbecome: true
), but it will be needed a lot.code_folder
default to/tmp
/usr/local
Step 2: Start adding singularity recipes using the ansible roles
Start by adding a cookiecutter based on this recipe that creates a singularity recipe from an existing marvel-nccr role.
Besides the role names, I expect very little difference between these singularity recipes.
Would be nice if a new release of the ansible role could re-trigger the build of the singularity image.
Eventually, this would also lead to the benefit that one could release a "minimal" version of Quantum Mobile that does not include any of the above codes but can easily run them through singularity
The text was updated successfully, but these errors were encountered: