I installed Open OnDemand 1.5 on a CentOS 7 system last week, and have been pretty successful getting it to work with our cluster and LSF scheduler so far.
I’ve gotten stuck, however, in trying to get the example Jupyter app working correctly. I’ve followed the instructions installing it in my test account’s developer space. I can launch the Jupyter app, and as best I can tell everything works, save that the web interface never seems to provide a link or any information prompting the user to be able to connect to the launched application.
After selecting ‘Launch’ from the ‘/pun/sys/dashboard/batch_connect/dev/jupyter/session_contexts/new’ url, the new page loads, and reads, “Session was successfully created.” followed by “Home / My Interactive Sessions”, the ‘Interactive Apps [Sandbox]’ subwindow with ‘Jupyter Notebook’ in it, and “You have no active sessions.”:
The job itself is accepted by the scheduler, dispatches to a node, and starts jupyter up seemingly fine:
[output.log] Script starting... Waiting for Jupyter Notebook server to open port 53550... TIMING - Starting wait at: Fri Jul 12 16:43:13 EDT 2019 TIMING - Starting main script at: Fri Jul 12 16:43:13 EDT 2019 <snip> Discovered Jupyter Notebook server listening on port 53550! TIMING - Wait ended at: Fri Jul 12 16:43:17 EDT 2019 Generating connection YAML file...
It does create a connection.yml file:
[connection.yml] host: c05b06 port: 53550 password: *************
Using the fields from the connection.yml file to manually go to the (in this example) ‘/node/c05b06/53550/’ url, I’m prompted for the jupyter password, and once entered the jupyter notebook comes up with no issue, being proxied as I imagine is expected.
My ood_portal.yml file contains
--- ssl: - 'SSLCertificateFile "/etc/pki/tls/certs/***.crt"' - 'SSLCertificateKeyFile "/etc/pki/tls/private/***.key"' auth: - 'AuthType Basic' - 'AuthName "private"' - 'AuthUserFile "/opt/rh/httpd24/root/etc/httpd/.htpasswd"' - 'RequestHeader unset Authorization' - 'Require valid-user' host_regex: '[^/]+' node_uri: '/node' rnode_uri: '/rnode'
I’m not entirely sure what is supposed to happen after the jupyter job is launched, but I expect something would come up to tell the user that their interactive app has been submitted and that once it’s running, the interface will provide a link or similar for them to click to connect to it via the proxy.
I’ve tried wiping out my install, and starting from scratch again, but haven’t had any luck in figuring out where I’ve gone wrong. Any suggestions for things to check would be appreciated. Thank you very much.