The latest 7.5.x versions for Jupyter have a very peculiar problem in OnDemand which makes them unusable for any user. To the users it appears with a “nothing works”.
After lots of sleuthing I pinpointed the problem to the inability to read any file that is in any directory different from the HOME directory itself. Any subdirectory of the home is not accessible either. It seems that the server returns 404, but not in a clear way (that may be a Jupyter thing that prefers to keep spinning the irritating wheel rather than giving up). See screenshot:
This applies in general, so I can’t even say “just make your notebooks in the home directory” because as soon as they try to import any module they need subdirectories and the modules file to import (interestingly, modules which are part of the virtual environment the kernel is based on, which are in some subdirectory load just fine).
The problem does not apply version 7.2.1 of Jupyter, so I thought it was a problem with them and was getting ready to submit a bug report there, but before doing so I tried to reproduce the issue without OnDemand. Easy peasy: take the config file, password and script out of ondemand/data/sys/dashboard/batch_connect/sys/jupyter753/output/97b5810d-6a4b-4e41-aca6-9d99619d3a55/ and run those is an XFCE environment, using same environment, same everything. LOL and behold, that works just fine.
So it must be some interaction between Jupyter and OnDemand. I thought that tornado may be responsible (since it affects serving files), however both the v7.2.1 and the v7.5.x environments use tornado v6.5.4 so it must be something else. The output.log does not provide any clue, just regular things in both working and non-working instances. Nothing about it in /var/log/ondemand-nginx/$USER/ either.
Do you have any suggestions about what may be causing this issue, or at least what to look for?
