We have the latest OOD installed. JupyterLab works fine for our Rocky 8.6 compute nodes. But for Rocky 8.8, when the user tries to “Connect to Jupyter”, a second password window pops up. In the ouput file, we find a 401 error is logged. No other logging indicates the issue. We did find a difference in the config.py file. For 8.6, we have:
c.NotebookApp.password = u’sha1:rKAQAmfrDaDjiGGG:d48ccb90ce51d577083d39e460eb210b91e9a0be’
For 8.8, we have:
c.NotebookApp.password = u’sha1:Lwr0hhNwiHttWU6x:’
Clearly the password is missing a field.
We use the some lmod modules in both instances; the only known difference is the OS version. We follow the OpenHPC recipes for Warewulf/SLURM/x86. The RStudioServer app works fine for both 8.6 and 8.8.
The following is a copy of our view.html.erb: Hopefully the display of this works ok.
<%-
base_url = “/node/#{host}/#{port}”
login_url = “#{base_url}/login”
next_url = “#{base_url}/#{jupyter_api}”
full_url=“#{login_url}?next=#{CGI.escape(next_url)}”
form_id = “juypyter_form#{login_url.gsub(‘/’, ‘_’)}”
%>
<script type=“text/javascript”>
function changeTarget() {
const agent = navigator.userAgent;
if (/Mozilla/5.0 (Macintosh; Intel Mac OS X \d+\d+\d+) AppleWebKit/\d+.\d+.\d+ (KHTML, like Gecko)/.test(agent)) {
document.getElementById(“<%= form_id %>”).target = “_self”;
}
}
<form id=“<%= form_id %>” action=“<%= full_url %>” method=“post” target=“_blank” onsubmit=“changeTarget()” >
<input type=“hidden” name=“password” value=“<%= password %>”>
<button class=“btn btn-primary” type=“submit”>
<i class=“fa fa-cogs”> Connect To Jupyter
</form>