-
Notifications
You must be signed in to change notification settings - Fork 638
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
[Beta Test] Wave Containers: add support for the Spack package manager #3636
[Beta Test] Wave Containers: add support for the Spack package manager #3636
Conversation
Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
nextflow-io#3508) [ci skip] Signed-off-by: Paolo Di Tommaso <[email protected]> Co-authored-by: Ben Sherman <[email protected]> Co-authored-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Llewellyn vd Berg <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Llewellyn vd Berg <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
This configuration option allow controlling how the grid executor queries the batch scheduler for the job current status. When the setting executor.queueGlobalStatus is `false` the executor will check the queue where the job execution was submitted (default). When the setting executor.queueGlobalStatus is `true` the executor will check the queue status globally, i.e. irrespective the queue where the execution was submitted. Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
This commit add support for rclone as stageOutMode used by Nextflow to control how output files are copied from the local scratch directory to the task work dir. The use of rclone is may provide more efficient copy of large data files over network file system. Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
…i fast] (nextflow-io#3547) Signed-off-by: Ben Sherman <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Abhinav Sharma <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Ben Sherman <[email protected]> Signed-off-by: Paolo Di Tommaso <[email protected]> Co-authored-by: Paolo Di Tommaso <[email protected]> Signed-off-by: Marco De La Pierre <[email protected]>
Just checked, and it worked on first try 🤷♂️ |
Did you use my pipeline with I think you can play with the Dockerfile, |
yes. let me try again clearing the cache |
Is this the error?
|
No, I typically get one of these two:
|
Signed-off-by: Marco De La Pierre <[email protected]>
Weird, cannot even find it in the logs. When it happen again let me know |
Signed-off-by: Marco De La Pierre <[email protected]>
…t fusionUrl Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
Ok, so:
Tomorrow I will refactor the Dockerfile templates, and then release this PR for your final review and merging. |
Awesome! |
Signed-off-by: Marco De La Pierre <[email protected]>
… WaveClient Signed-off-by: Marco De La Pierre <[email protected]>
…plateEngine Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
…ling Signed-off-by: Marco De La Pierre <[email protected]>
Signed-off-by: Marco De La Pierre <[email protected]>
@pditommaso I am realising the PR for review and merge! There are TWO outstanding issues, the first one being new:
e.g. with this trace:
it must be something very silly that I am missing about the usage of these methods ... tips?
|
I believe is happening because BashWrapperBuilder is in another module, try using
The key is
|
Yep it works, thank you! About to push |
Signed-off-by: Marco De La Pierre <[email protected]>
So the second-last man standing is:
If you want to do some testing, add simple Dockerfile directives in this template: ...And the last man is the setup of the binary cache, to render the functionality useful for regular production builds. We will chat about this in person in about a month! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you Paolo, let's talk at the next PR...! |
This commit adds the ability to create containers on demand using Spack recipes via Wave container provisioning service. The Spack packages should be provided via the `spack` directive, then in the nextflow.config file, it should be added the following snippet ``` wave.enabled = true wave.strategy = ['spack'] ``` The Wave service will take care of provisioning the container image using the packages provided. Signed-off-by: Marco De La Pierre <[email protected]> Signed-off-by: Paolo Di Tommaso <[email protected]>
This PR adds support for Spack as a software provider for Wave containers.
It comes out of some very fruitful conversations myself and Paolo have had recently.
It has the potential to pave the way for on-demand, architecture optimised containers with Nextflow and Wave! (some work yet to be completed). The key missing piece of work in this regard is the adoption of binary caches, to speed up build times (coming later).
Some points:
process.arch
@pditommaso @evanfloden have even more fun! :-)
@tgamblin @alalazo I hope this can be another useful contribution from the perspective of the Spack community, too!
@vsochat hopefully this will be merged soon enough .. watch this space ;)