JupyterLab, on connecting, emits 401 error and a second password popup

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(‘/’, ‘_’)}”
%>

&ltscript 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”;
}
}

&ltform id=“<%= form_id %>” action=“<%= full_url %>” method=“post” target=“_blank” onsubmit=“changeTarget()” >
&ltinput type=“hidden” name=“password” value=“<%= password %>”>
&ltbutton class=“btn btn-primary” type=“submit”>
&lti class=“fa fa-cogs”> Connect To Jupyter

</form&gt

Hey, sorry for the issue.

I really am not sure what is going on here after looking at this some, so I don’t have a quick fix for you. I’ll have to dig in more when I have time.

I did want to check, when you say latest version, that means 3.0.3?

Yes, have verified 3.0.3

BTW, I have a colleague at another university that has the same problem with his cluster. The common denominator is that we collaborated in the deployment of his system, so it’s a bit of a mirror image of my system.

Yes it appears your password is not being generated.

This is a reference for how we (OSC) do it:

The jupyter password you have is missing what we’ve defined as PASSWORD_SHA1 - which you do not appear to have. I’d guess there’s some inconsistency in openssl.

Jeff,

That was indeed the problem. The installation of openssl was missing from our build scripts for new node images. Once that was fixed, it worked.

Thank you for giving the direction towards the problem. This ticket can be closed.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.