noVNC Failed to connect to server (ondemand 3.0.1)

I’m not sure. I mean you shouldn’t have to. This is the first report of this issue - we haven’t had to modify our EL/7 and OOD/3.0 systems.

Ok let me know if you want me to test something. I have this as a temp fix and this is only in our test cluster.

Like to add that I am having same issue with our fresh install ondemand 3.0
ssh shell is working, no haproxy.

jwaters 98517 1 0 15:38 ? 00:00:00 /opt/websockify/bin/python3.6 /opt/websockify/bin/websockify -D 55282 localhost:5924
strace -p 98517 -f
[pid 100169] getrandom(“\x4e\xf7\x5f\xbf\x09\x40\x47\xe4\x66\x6e\xd5\x6a\xb7\xac\x72\x4c\xc6\x77\xd3\xe0\xb2\xde\x4a\x3d\xde\x99\x22\x8d\xc3\x2e\xca\xb5”…, 2496, GRND_NONBLOCK) = 2496
[pid 100169] open(“/dev/null”, O_RDONLY|O_CLOEXEC) = 5
[pid 100169] fstat(5, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), …}) = 0
[pid 100169] ioctl(5, TCGETS, 0x7fff1074f090) = -1 ENOTTY (Inappropriate ioctl for device)
[pid 100169] lseek(5, 0, SEEK_CUR) = 0
[pid 100169] ioctl(5, TCGETS, 0x7fff1074f020) = -1 ENOTTY (Inappropriate ioctl for device)
[pid 100169] lseek(5, 0, SEEK_CUR) = 0
[pid 100169] select(5, [4], , , {tv_sec=3, tv_usec=0}) = 1 (in [4], left {tv_sec=2, tv_usec=999998})
[pid 100169] recvfrom(4, "GET /websockify HTTP/1.1\r\nHost: "…, 1024, MSG_PEEK, NULL, NULL) = 1024
[pid 100169] recvfrom(4, "GET /websockify HTTP/1.1\r\nHost: "…, 8192, 0, NULL, NULL) = 2164
[pid 100169] write(2, "192.168.168.17 - - [03/Jul/2023 "…, 110) = 110
[pid 100169] mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffad706b000
[pid 100169] sendto(4, “HTTP/1.1 400 Client must support”…, 215, 0, NULL, 0) = 215
[pid 100169] munmap(0x7ffad706b000, 262144) = 0
[pid 100169] sendto(4, “<!DOCTYPE HTML PUBLIC "-//W3C//D”…, 498, 0, NULL, 0) = 498
[pid 100169] write(2, "192.168.168.17 - - [03/Jul/2023 "…, 79) = 79
[pid 100169] sendto(4, “HTTP/1.1 405 Method Not Allowed\r”…, 184, 0, NULL, 0) = 184
[pid 100169] sendto(4, “<!DOCTYPE HTML PUBLIC "-//W3C//D”…, 472, 0, NULL, 0) = 472
[pid 100169] exit_group(0) = ?
[pid 100169] +++ exited with 0 +++

can confirm this patch is working for me too

open(uri, protocols) {                                     
    //this.attach(new WebSocket(uri, protocols));          
    this.attach(new WebSocket(uri, ['binary', 'base64'])); 
}

Is it related to version of webscokify?

I am running the same version of websockify on both the 3.0.1 version and the 2.0.31 versions of Ondemand.

I think @jesse.waters is on to something as we recently saw some issues with desktops connecting with websockify versions below 0.10.0 are having issues.

I’m not sure if that’s the root cause, but it’s a contender.

I’m not sure. I just now upgraded our websockify on our 3.0.1 server to 0.11.0-1.el8 and I still run into the same issue.

Ok websockify 0.10.0 works as expected.

reverted patch rsand suggested
open(uri, protocols) {
this.attach(new WebSocket(uri, protocols));
//this.attach(new WebSocket(uri, [‘binary’, ‘base64’]));
}

launch interactive session verify it break, it breaks

on “Gui” node

cd /opt
virtualenv-3 websockify-0.10.0
source websockify-0.10.0/bin/activate
pip install websockify==0.10.0

on ood web server update cluster config
vnc:
script_wrapper: |
export PATH=“/opt/TurboVNC/bin:$PATH”
export WEBSOCKIFY_CMD=“/opt/websockify-0.10.0/bin/websockify”
%s

launch interactive session and works as expected

HTH @rsand

Yes on RHEL8 the EPEL it is python3-websockify and version 0.11.0 works. I just had to update the server to the same version.

1 Like

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