Provide the ability to use SSH-forwarded Unix Domain Sockets to connect to a job agent (e.g. on NERSC) #7620
+60
−12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In some setups, it may not be possible to open a port to the internet for the job agent to communicate to the Sirepo server. Using SSH to forward a port can be a nice fallback for this situation. This can also eventually allow users to connect to clusters while running Sirepo locally.
We use Unix Domain Sockets (UDS) for this instead of port-to-port forwarding. This eliminates the possibility of port conflicts on the cluster, and provides better security, as the UDS can only be accessed by the user that owns it.
Instead of adding another configuration option, if the supervisor URI points to localost, while the SLURM host is not localhost, the supervisor URI is likely inaccessible and we should try to setup an SSH port forwarding over SSH.