Read only home dirs, prolog and epilog?

Hi I have OOD-1.8.18 up and mostly working. Our home directories are by default read-only on the compute nodes - I have resolved the issues I have hit so far with non-writable home by setting the OOD_DATAROOT directory in /etc/ood/config/apps/dashboard/env file, and also with half a dozen ungodly hacks to redirect jupyter data, config, runtime, ipython, and turbovnc’s vncUserDirs etc. to the users /scratch space.

However, we run a regular purge on our scratch space, and the admin is not keen on setting up custom whitelisting, so all these precious settings are going to be regularly blown away every 90 days. I was wondering if OOD has a mechanism to run prolog and epilog scripts that could automatically sync these small files and directories before and after the job runs? The scripts would have to be external to the job and run as the user on the submit host. I guess I could hack the standard slurm prolog and epilog, but I’d rather have it be a little more focused?

Any help appreciated

-Alastair

Hi and welcome!

Sorry we didn’t get around to this earlier. We believe that the prolog and epilog is likely you’re best bet right now. We don’t carry a lot of state in Open OnDemand, so it’s hard for us to tell when a job ended and trigger any sort of hook.

We’re moving this to the feature request section, but that said, we don’t know how to implement such a feature at the moment.

I would look at SLURM TaskProlog and TaskEpilog , those are run as the user rather than run as root like Prolog and Epilog. The only downside to TaskProlog is many copies will run if a job has many tasks so you can avoid that by checking that $SLURM_LOCALID is set to 0 , and then execute things.