Jupyter notebook 'Connect to Jupyter' button not rendering

We have successfully established interactive desktop applications and connected via xfce. We are now trying to use the Jupyter plugin to try launch a Jupyter notebook session.

I have set it up as a dev app in my home directory and it appears as an interactive app as expected. I can launch the application and if the before script template has the following c.NotebookApp.ip = ‘*’ line a permission denied error. If it is changed to c.NotebookApp.ip = ‘0.0.0.0’ the output of the job is as follows:

 Script starting...
 Waiting for Jupyter Notebook server to open port 35203...
TIMING - Starting wait at: Thu Feb 28 08:07:06 EST 2019
TIMING - Starting main script at: Thu Feb 28 08:07:06 EST 2019

Currently Loaded Modules:
  1) gcc/5.1.0   2) python/3.5.0

TIMING - Starting jupyter at: Thu Feb 28 08:07:06 EST 2019
+ jupyter notebook --config=/home/user/ondemand/data/sys/dashboard/batch_connect/dev/jupyter/output/7739ca56-2370-43a0-ac58-27bf6ed7ac41/config.py
[I 08:07:08.360 NotebookApp] Serving notebooks from local directory: /home/wattry
[I 08:07:08.360 NotebookApp] The Jupyter Notebook is running at:
[I 08:07:08.360 NotebookApp] http://127.0.0.1:35203/node/test-compute/35203/
[I 08:07:08.360 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Timed out waiting for Jupyter Notebook server to open port 35203!
TIMING - Wait ended at: Thu Feb 28 08:08:07 EST 2019
[C 08:08:07.365 NotebookApp] received signal 15, stopping
Cleaning up...
[I 08:08:07.383 NotebookApp] Shutting down 0 kernels
/var/spool/slurmd/job00079/slurm_script: line 20: 22452 Terminated              "/home/user/ondemand/data/sys/dashboard/batch_connect/dev/jupyter/output/7739ca56-2370-43a0-ac58-27bf6ed7ac41/script.sh"

The button view is not rendered and we are unable to launch the application. However, if we run this command manually:

jupyter notebook --config=/home/user/ondemand/data/sys/dashboard/batch_connect/dev/jupyter/output/7739ca56-2370-43a0-ac58-27bf6ed7ac41/config.py

We are then able to navigate to the Jupyter Notebook login page using a browser we installed on the compute node. Is there somewhere we should be looking to see why the connect button is not being rendered? I have a feeling it could possibly be a networking issue. How does OOD Dash handle the http request for the Jupyter Notebook session?

We don’t install netcat by default for security

https://listsprd.osu.edu/pipermail/ood-users/2018-October/000269.html

We added this function to our before script to validate the script:

port_used () {
local port="{1#*:}" sleep 2 netstat -nap 2>/dev/null | grep -q "0.0.0.0:{port} "
}