-
Notifications
You must be signed in to change notification settings - Fork 1k
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
The auto_install
option on the mulled_singularity
option is ignored
#15717
Comments
I don't think that's possible unless you turn off the (non-cached) mulled resolver. |
The cached mulled resolver can't pull, though, so without a non-cached mulled resolver in the list, you would have to manually (as in on the command line, not clicking around in Manage Dependencies) install images.
Maybe I am still misunderstanding, but this is what I want it to do, except it doesn't. |
I don't think you want to use that
maybe we need to be clear on that, when you say tool runtime, do you mean in the job handler, or on the compute node ? |
Agreed, disabling it is exactly what I'm trying to do.
I mean in the job handler. In my testing, neither value of |
xref #11675 (most likely not fix and wrong at all) will try to drop a few lines tomorrow Most important question to me is what the intention of |
Per the commit message on 8a34101:
Seems like it means that if set to |
With the caveat that it's been a while since I last used singularity: that was the whole point of adding auto_install: false and it did work for me. Where we prevent the pulling on auto_install="false" is here: https://github.com/mvdbeek/galaxy/blob/6f945c1ccb659a85d453332a67b0746afe4d73a5/lib/galaxy/tool_util/deps/container_resolvers/mulled.py#L574 |
I did some archeology and this used to work:
it did not pull in the job handler, and the only way to install images was through the UI or API. |
Here's some confirmation on how it used to work: #7125 (comment) |
https://github.com/mvdbeek/galaxy/blob/6f945c1ccb659a85d453332a67b0746afe4d73a5/lib/galaxy/jobs/rule_helper.py#L54 seems problematic, as does this: https://github.com/mvdbeek/galaxy/blob/6f945c1ccb659a85d453332a67b0746afe4d73a5/lib/galaxy/tool_util/deps/containers.py#L149 since the default is These were retrofitted and not part of the original concept. If you do change this you want to be really careful because I think a few sites rely on this rather bad default. |
That was also my guess. But I did not want to suggest this before having better test coverage. Maybe call
Indeed. But on first thought a config variable seems to be a good idea.
That's still a point that I do not get. The This is, the image will be pulled regardless of the value of All that I have verified this in the "unit tests" (which should probably be implemented as integration test?) added here. At the moment there seem to be three variables influencing pulling/building of the container
In the end I think that But (obviously) I have not fully understood the interplay of these three variables and how they are set in the different situations. I'm currently working on a better tests coverage (primarily to understand what is going on). Also note: I think due to the differences between docker and singularity there will still be an inconsistency between
This config indeed "works", i.e. it will allow tools to execute. But it will also pull the images (regardless of The only difference that would happen if Btw. I would appreciate a review of the documentation (and typing) part in #15614. I'm already quite happy with it and currently work on the tests (input also very welcome). |
Hi @natefoo. I have an implementation ready that adds a config variable It's tested and "works". The problem is that it can only work for singularity, since for docker we always have a Now I had an idea that might work. I would define globally
and for my compute destinations/environments only
Thus during job processing only already cached images can be used. Unfortunately the explicit resolvers work completely different than the mulled resolvers:
But we could easily add one that only looks up the cache .. or try to make it more consistent. |
Now in |
Describe the bug
Or I misunderstand its purpose. My understanding would be that it prevents image pulling and conversion at tool runtime, meaning that it only occurs when initiated by an admin.
Galaxy Version and/or server at which you observed the bug
Galaxy Version: 23.0.rc1
Commit: 4f52b74
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Images are not pulled/built at tool runtime.
Additional context
I verified that
auto_install
is indeed set toFalse
in the resolver init, I just don't think it's actually used as a conditional for the pull.The text was updated successfully, but these errors were encountered: