Automatically initialize Apptainer#20447
Conversation
|
I added some unit tests, I am a little iffy on adding to the integration tests since they are a good bit slower and our tests are already slow enough. Since the Apptainer resolvers are just the Singularity resolvers in a trenchcoat we wouldn't be testing anything new. I can add a test of the auto-init functionality though if we want. |
|
This seems to do so much more than just initialize apptainer ? About the core apptainer install idea, this will have the same issues that conda auto init has, namely it breaks and leaves behind lock files in our production setup with multiple processes. It'd seem significantly cleaner if this was just a separate command you can launch. |
| assert self.app_info.apptainer_prefix | ||
| apptainer_prefix = self.app_info.apptainer_prefix | ||
| apptainer_context = ApptainerContext(apptainer_prefix=apptainer_prefix, apptainer_exec=apptainer_exec) | ||
| deps_ensure_installed(apptainer_context, install_apptainer, self.auto_init) |
There was a problem hiding this comment.
Surely that'll only work on linux
I just assumed we'd want things done similar to how everything else is done but I'm actually very happy for that to be the case. I'll scrap this and make a simpler version. |
|
There's a lot of cool stuff in here though, maybe you can just drop the auto_init stuff and we could merge this ? |
|
Hey @natefoo 👋 . Any updates on this? |
|
Without auto_init I think a lot of the other changes aren't worth keeping, @mvdbeek did you have any specific thoughts on what was good? i.e. that's sort of the whole purpose of the apptainer resolver and all the refactoring that was done in support of that. |
Ultimately the goal here is to support easier production deployments where Galaxy itself does not have to be installed in the shared FS. Admins can configure the
tool_dependency_dirto be on the shared FS and then we can just use Apptainer + a galaxy-job-execution container for runningset_meta().I should probably add a few more tests but wanted to get this out here for comment in case people don't like the direction I've taken.
How to test the changes?
(Select all options that apply)
I've includedI will include appropriate automated tests.container_resolverswheres/singularity/apptainer/auto_init: trueprefixand/orexecto change where Apptainer is installed.License