I just updated our OOD instance and overall it was fairly smooth except for a few issues that I want to share to potentially help others.
The first issue is that I have modified /opt/rh/httpd24/root/etc/httpd/conf.d/ood-portal.conf, not /etc/ood/config/ood-portal.yml on our test instance so the ood-portal.conf got overwritten. Lesson learned.
During the troubleshooting I noticed that the info in /opt/rh/httpd24/root/etc/httpd/conf.d/ood-portal.conf has a typo - the ood_portal.yml is listed as ood-portal.yml on line 17. I don’t know where the source of this is so developers please check/fix that - the different file name caused an initial confusion as I was not sure if the file name has not changed in the update.
The second issue is that the update overwrites /var/www/ood/apps/sys/bc_desktop. I have made some customizations, in particular adding a field for number of tasks, and also adding the following to template/script.sh.erb to get rid of the dconf issues:
# Work around spam message about dconf write permissions
export XDG_RUNTIME_DIR="/tmp/${UID}"
I am not sure how to smoothly address this but if someone has an idea please post it. I ended up just backing up the old bc_desktop and then putting it back in after the update (after checking that it has not changed with the update).
Perhaps the XDG_RUNTIME_DIR can be put in by default as I am not sure if anyone would even have XDG base dir set up right.
Sigh, editing rpm controlled files is always a trap waiting to snap shut and break your fingers.
I’ve found placing files in /etc/ood/config/apps/… /… seems to be the safe way to get local things done including initializers, … that would be wiped by rpm in /var/www/ood.
If you’ve found something that can’t be done via /etc/ood/config/apps/bc_desktop, you could open a feature request for it.
I have modified the form.yml and submit.yml.erb in the bc_desktop to add core count, so, I am not sure if I can modify it in the /etc/ood/config/apps/bc_desktop/*.yml cluster files. I’ll ask the OOD guys at PEARC about it.
Thanks for the feedback on updating. I’ve created a pull request to fix your typo.
To the bc_desktop updates, you should only be modifying your /etc/ood/confg/... files. You should be able to specify core count one of 2 ways. First through node_type. See how we allow users to choose the node type. Of course, we’ve specified :ppn=40 to hard code 40 cores.
Another approach is adding the items in your /etc/ood/config/apps/bc_desktop/my_cluster.yml and specifying that it (my_cluster.yml) submits /etc/ood/config/apps/bc_desktop/submit/my_submit.yml.erb and you pass things through command line flags in the native args
script:
native:
# here I don't know what your actual cli flags are for your scheduler, but this is meant to
# illustrate how to pass in cli flags from your submission form.
- "-l"
- "select=:ncpus=<%= cores.blank? ? 1 : cores.to_i %>"
Same goes for the ENV variable you’re trying to pass into the script. For example, we could use the -v option with qsub.
That may or may not be applicable to your scheduler, but, as you’ve found out, it’s not safe to modify those files when upgrading, and it ends up being just one more thing to worry about or that’ll come back to bite you when it fails.
You’ve likely seen these docs on the same info but I’ll link them here anyhow.
I’m marking this as solved, but let us know if you the docs aren’t quite answering the questions you have.