[25.1] Do not resolve symlinks at tool load time - #22666
Conversation
|
Why do you think i would agree to this ? Impossible to resolve for pulsar. If you want to deploy that way set up a monitor directory or trigger manual toolbox reload. |
|
This also 100% breaks reproducibility so I would let the deployer know that. |
|
I agree with the reproducibility concern, that was my first reaction too, why not use the toolshed and/or just version properly. But this was existing accepted behavior for over a decade, and some admins relied on it. The realpath change broke it without a deprecation path. Previously, updating the symlink target plus toolbox reload was sufficient. After this change, the old physical target stays pinned until Galaxy restart. Toolbox reload sounds good, what would be the easiest way to trigger that for an admin? |
|
I would think you would agree to it to maintain consistent behavior over time :) Was that change to realpath fixing a bug that caused problems for pulsar? We'll explore that dir path or or maybe just hit that api during our deploy to see if that helps. |

Galaxy is now constructing the tool config path with
os.path.realpathat load time, which freezes${__tool_directory__}to the resolved physical directory and breaks for admins who deploy tool updates via atomic symlink swaps. They needed to reboot Galaxy otherwise the symlink target change had no effect. If pulsar needs canonical paths, we should resolve it on the pulsar side, not in the Galaxy tool layer.Restores prior behavior by reverting: 20b691b7cd#diff-17974c8048767aa536063088ba97dbc9c4475e7589002c3b2335f9e8490fc920L1019
How to test the changes?
(Select all options that apply)
License