What to make of /etc/ood/config/hook.env?

Greetings –

  1. We’re preparing for the transition to ood 2 this week (maintenance day). The upgrade worked reasonably smoothly in our test/backup system. There is (at least) one linger question, specifically all the new verbiage in ood_portal.yml.new concerning ‘hooks’, and the file ‘hook.env’ itself. I do not find a description in the release notes or the broader documentation: Open OnDemand — Open OnDemand 2.0.5 documentation

  2. I perceive more and more that being able to negotiate the linux command line is inadequate knowledge for being lead institutional admin of ood. In other words, the documentation assumes a set of knowledge, and sometimes I don’t even know what I don’t know. Perhaps a related discussion is what knowledge-base should ood admins work towards obtaining?

Undauntedly yours,
~ Em

I can answer the first easily.

It’s a feature for a use case where you want to execute some commands as root before the PUN starts up. For us, it’s to set the kubectl Open ID Connect credentials because apache has the token but we don’t pass those tokens to lower layers like the dashboard. It’s not documented because it’s not stable, we’re still working through some tweaks so things could change with that feature. Much more so with kubernetes. The kubernetes adapter is not very stable and we’re still working through how to stabalize it before we tell folks “yea it’s interface and internal workings are stable enough to start to rely on”.

To the second question, well that’s a bit tougher. I’ll admit that the documentation needs some real work and that’s on us. Things could be said in a simpler way I’m sure.

But I would say that web (html, css and http) knowledge are certainly core to the OnDemand platform. Let’s take this feature for pinning apps. We use the word widget which I’m now realizing may be a bit esoteric but seems commonplace in web documentation. It’s just a fancy word form “some thing” after all. Then we’re talking rows and column sizes which certainly have meaning outside of the web, but specifically to us we’re talking about the Bootstrap grid system. Bootstrap being the css framework we use, it’s certainly central to the presentation of the pages.

Your question is striking in that it points to something fundamentally missing in our documentation, so I’ll likely think about it for some time. What are the skills our docs take for granted? What can we do to supplement our docs with these web fundamentals?

Hi, Jeff –

Thanks for clarifying the hook.env situation. I do appreciate the general approach, and am satisfied that frequently those things that I don’t understand or find docs for can be safely set aside.

I thank you for your gracious and thoughtful response to the broader question, asked out of frustration with myself. Often (here I am in PEARC-reflection mode) Research Computing/HPC support/admin work leaves people working at the edges of their formal training or previous knowledge. So the need to learn is baked into this role. For me, supporting web apps requires stretching in a whole different area than the stretches amongst the components of HPC (linux, cluster admin, network, storage, researcher engagement). What I think could be helpful is to identify (through community activity?) a set of topics for self-learning that people could pursue to guide the climb up the learning curve. For example, rather than “Learn NGINX”, there might be key concepts to highlight.

I’ve actually found the documentation to quite helpful – I’m approaching 3 years involvement supporting ood at CWRU, and generally have enjoyed the experience. So I’m hoping that this idea can be helpful, or developed into an idea for guiding self-learning (or even a few short workshops) to aid the community.

Thanks again
~ Em