Hi everyone!
I've been playing around with creating an Open OnDemand (OOD) Adapter for HTCondor: https://github.com/OSC/ood_core/pull/885
That should allow getting e.g. Code Server running inside HTCondor Jobs quite easily.
Joachim:
This is great work which will be of interest to many HTCondor
users and administrators -- thank you for your efforts here!
With HTCondor, as far as I know, the executable always has to be a file on the submission node (or, shared fs or anything a transfer plugin supports ..) and only submit commands can be handed as stdin. Thus, my current approach is to write a temp file for run.sh on the submission node (ssh bash -c "cat >/tmp/tempname.sh").
I think this may be the best way for now. If the script is small, it can be inlined into the submit file and job with with the "shell =" submit command, but I wouldn't recommend that for a general purpose tool, where you don't know what version of HTCondor you've got.
Would you have any nicer suggestions that would require only limited changes to HTCondor configurations?
I've been considering using remote submission (calling condor_submit locally using -name to direct it to submission hosts), but I was uncertain if this is always available / might be a pain to set up?
My understanding of the Open On Demand approach is that it
prefers to have as few batch system dependencies on the OOD
machine -- that all it asks of the OOD machine is that it can ssh
into the batch machine.