Open OnDemand: Difference between revisions

From Leo's Notes
This page was last edited on 21 January 2021, at 19:35.
mNo edit summary
Line 6: Line 6:
*Yale: <nowiki>https://docs.ycrc.yale.edu/clusters-at-yale/access/ood/</nowiki>
*Yale: <nowiki>https://docs.ycrc.yale.edu/clusters-at-yale/access/ood/</nowiki>


<br />
== Tasks ==


== Troubleshooting ==
=== App Development ===
On Open OnDemand 1.8, you need to create /var/www/ood/apps/dev/lleung, then symlink /home/lleung/openondemand/dev to /var/www/ood/apps/dev/lleung/gateway.


=== SSH App: Failed to establish a websocket connection. ===
See: https://osc.github.io/ood-documentation/latest/app-development/enabling-development-mode.html#enable-in-ondemand-v1-6
 
==Troubleshooting==
 
===SSH App: Failed to establish a websocket connection.===
After setting up OnDemand, I had a hard time getting the SSH app to connect. I kept on getting:
After setting up OnDemand, I had a hard time getting the SSH app to connect. I kept on getting:
{{Highlight
{{Highlight

Revision as of 19:35, 21 January 2021

Open OnDemand is a open source project by the Ohio Supercomputer Center that provides a web portal for HPC users. It is designed as a platform allowing system administrators to add additional modules or 'apps'. Users can use this platform to launch interactive jobs or VNC/SSH sessions, view their job statuses, interact with their files. It supports a variety of authentication mechanisms including federated authentication (OpenID, CAS, Shiboleth) or with an the system's underlying PAM (ldap, password file, etc.).

Open OnDemand is in use by:

  • https://arc-ts.umich.edu/greatlakes/user-guide/#document-3
  • Yale: https://docs.ycrc.yale.edu/clusters-at-yale/access/ood/

Tasks

App Development

On Open OnDemand 1.8, you need to create /var/www/ood/apps/dev/lleung, then symlink /home/lleung/openondemand/dev to /var/www/ood/apps/dev/lleung/gateway.

See: https://osc.github.io/ood-documentation/latest/app-development/enabling-development-mode.html#enable-in-ondemand-v1-6

Troubleshooting

SSH App: Failed to establish a websocket connection.

After setting up OnDemand, I had a hard time getting the SSH app to connect. I kept on getting:

Failed to establish a websocket connection. Be sure you are using a browser that supports websocket connections.

Debugging the socket revealed that it was getting a 401 error from PUN. At first, I thought the reverse proxy (traefik 1.7) wasn't forwarding the authentication headers, but this was a red herring. Something with the PUN application was throwing this 401 error. I verified that the node is able to SSH and that the default hostname is correct in /etc/ood/config/apps/shell/env. I even tried connecting to a specific host to no avail. I then set OOD_SSH_WRAPPER=/test.sh with test.sh just dumping the environment to a tmp file which showed me that it wasn't even reaching the point of calling the SSH wrapper. OOD 1.8 also requires setting the OOD_SSHHOST_ALLOWLIST, but that didn't help.

Solution: This only worked after setting OOD_SHELL_ORIGIN_CHECK='off'.

Other notes