DomiStyle / docker-idrac6

iDRAC 6 web interface and VNC proxy
https://hub.docker.com/r/domistyle/idrac6/
MIT License
756 stars 136 forks source link

Connection Failed #18

Closed pconwell closed 5 years ago

pconwell commented 5 years ago

This is a very similar issue to #5, but I have idrac enterprise on it's own NIC/port and I'm not doing any weird port forwarding. It's all on a local network.

The container seems to work fine, the avctKVM jar files seem to download correctly and the container will 'start' but as soon as I try to access it, it gives a 'connection failed' error and force closes once you click "ok".

Running docker on Mint 19. Server is an R710 with idrac6 enterprise version 2.90. I'm accessing the container using chromium.

And just to confirm, I can sign in to idrac both through the web server and through ssh.

Here's the log from docker:

pconwell@patrick-mint:~$ docker run -it -p 5801:5800 -p 5901:5900 -e IDRAC_HOST=192.168.1.29 -e IDRAC_USER=root -e IDRAC_PASSWORD=calvin domistyle/idrac6
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-app-niceness.sh: executing... 
[cont-init.d] 00-app-niceness.sh: exited 0.
[cont-init.d] 00-app-script.sh: executing... 
[cont-init.d] 00-app-script.sh: exited 0.
[cont-init.d] 00-app-user-map.sh: executing... 
[cont-init.d] 00-app-user-map.sh: exited 0.
[cont-init.d] 00-clean-logmonitor-states.sh: executing... 
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.
[cont-init.d] 00-clean-tmp-dir.sh: executing... 
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.
[cont-init.d] 00-set-app-deps.sh: executing... 
[cont-init.d] 00-set-app-deps.sh: exited 0.
[cont-init.d] 00-set-home.sh: executing... 
[cont-init.d] 00-set-home.sh: exited 0.
[cont-init.d] 00-take-config-ownership.sh: executing... 
[cont-init.d] 00-take-config-ownership.sh: exited 0.
[cont-init.d] 00-xdg-runtime-dir.sh: executing... 
[cont-init.d] 00-xdg-runtime-dir.sh: exited 0.
[cont-init.d] 10-certs.sh: executing... 
[cont-init.d] 10-certs.sh: exited 0.
[cont-init.d] 10-cjk-font.sh: executing... 
[cont-init.d] 10-cjk-font.sh: exited 0.
[cont-init.d] 10-nginx.sh: executing... 
[cont-init.d] 10-nginx.sh: exited 0.
[cont-init.d] 10-vnc-password.sh: executing... 
[cont-init.d] 10-vnc-password.sh: exited 0.
[cont-init.d] 10-web-index.sh: executing... 
[cont-init.d] 10-web-index.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] starting s6-fdholderd...
[services.d] starting xvfb...
[xvfb] starting...
[services.d] starting nginx...
[services.d] starting certsmonitor...
[services.d] starting openbox...
[openbox] starting...
[nginx] starting...
[certsmonitor] disabling service: secure connection not enabled.
[services.d] starting statusmonitor...
[services.d] starting x11vnc...
[statusmonitor] no file to monitor: disabling service...
[services.d] starting logmonitor...
[services.d] starting app...
[x11vnc] starting...
[logmonitor] no file to monitor: disabling service...
10/08/2019 22:05:23 passing arg to libvncserver: -rfbport
10/08/2019 22:05:23 passing arg to libvncserver: 5900
10/08/2019 22:05:23 passing arg to libvncserver: -rfbportv6
10/08/2019 22:05:23 passing arg to libvncserver: -1
10/08/2019 22:05:23 passing arg to libvncserver: -httpportv6
10/08/2019 22:05:23 passing arg to libvncserver: -1
10/08/2019 22:05:23 passing arg to libvncserver: -desktop
10/08/2019 22:05:23 passing arg to libvncserver: iDRAC 6
10/08/2019 22:05:23 x11vnc version: 0.9.14 lastmod: 2015-11-14  pid: 772
10/08/2019 22:05:23 Using X display :0
10/08/2019 22:05:23 rootwin: 0x25c reswin: 0x400001 dpy: 0xf94480
10/08/2019 22:05:23 
10/08/2019 22:05:23 ------------------ USEFUL INFORMATION ------------------
[app] starting iDRAC 6...
Starting
Environment ok
Creating library folder
Downloading avctKVM
[services.d] done.
--2019-08-10 22:05:23--  https://192.168.1.29/software/avctKVM.jar
Connecting to 192.168.1.29:443... connected.
10/08/2019 22:05:23 X DAMAGE available on display, using it for polling hints.
10/08/2019 22:05:23   To disable this behavior use: '-noxdamage'
10/08/2019 22:05:23 
10/08/2019 22:05:23   Most compositing window managers like 'compiz' or 'beryl'
10/08/2019 22:05:23   cause X DAMAGE to fail, and so you may not see any screen
10/08/2019 22:05:23   updates via VNC.  Either disable 'compiz' (recommended) or
10/08/2019 22:05:23   supply the x11vnc '-noxdamage' command line option.
10/08/2019 22:05:23 X COMPOSITE available on display, using it for window polling.
10/08/2019 22:05:23   To disable this behavior use: '-noxcomposite'
10/08/2019 22:05:23 
10/08/2019 22:05:23 Wireframing: -wireframe mode is in effect for window moves.
10/08/2019 22:05:23   If this yields undesired behavior (poor response, painting
10/08/2019 22:05:23   errors, etc) it may be disabled:
10/08/2019 22:05:23    - use '-nowf' to disable wireframing completely.
10/08/2019 22:05:23    - use '-nowcr' to disable the Copy Rectangle after the
10/08/2019 22:05:23      moved window is released in the new position.
10/08/2019 22:05:23   Also see the -help entry for tuning parameters.
10/08/2019 22:05:23   You can press 3 Alt_L's (Left "Alt" key) in a row to 
10/08/2019 22:05:23   repaint the screen, also see the -fixscreen option for
10/08/2019 22:05:23   periodic repaints.
10/08/2019 22:05:23 GrabServer control via XTEST.
10/08/2019 22:05:23 
10/08/2019 22:05:23 Scroll Detection: -scrollcopyrect mode is in effect to
10/08/2019 22:05:23   use RECORD extension to try to detect scrolling windows
10/08/2019 22:05:23   (induced by either user keystroke or mouse input).
10/08/2019 22:05:23   If this yields undesired behavior (poor response, painting
10/08/2019 22:05:23   errors, etc) it may be disabled via: '-noscr'
10/08/2019 22:05:23   Also see the -help entry for tuning parameters.
10/08/2019 22:05:23   You can press 3 Alt_L's (Left "Alt" key) in a row to 
10/08/2019 22:05:23   repaint the screen, also see the -fixscreen option for
10/08/2019 22:05:23   periodic repaints.
10/08/2019 22:05:23 
10/08/2019 22:05:23 XKEYBOARD: number of keysyms per keycode 7 is greater
10/08/2019 22:05:23   than 4 and 51 keysyms are mapped above 4.
10/08/2019 22:05:23   Automatically switching to -xkb mode.
10/08/2019 22:05:23   If this makes the key mapping worse you can
10/08/2019 22:05:23   disable it with the "-noxkb" option.
10/08/2019 22:05:23   Also, remember "-remap DEAD" for accenting characters.
10/08/2019 22:05:23 
10/08/2019 22:05:23 X FBPM extension not supported.
10/08/2019 22:05:23 X display is not capable of DPMS.
10/08/2019 22:05:23 --------------------------------------------------------
10/08/2019 22:05:23 
10/08/2019 22:05:23 Default visual ID: 0x21
10/08/2019 22:05:23 Read initial data from X display into framebuffer.
10/08/2019 22:05:23 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120
10/08/2019 22:05:23 
10/08/2019 22:05:23 X display :0 is 32bpp depth=24 true color
10/08/2019 22:05:23 
10/08/2019 22:05:23 Listening for VNC connections on TCP port 5900
10/08/2019 22:05:23 
10/08/2019 22:05:23 Xinerama is present and active (e.g. multi-head).
10/08/2019 22:05:23 Xinerama: number of sub-screens: 1
10/08/2019 22:05:23 Xinerama: no blackouts needed (only one sub-screen)
10/08/2019 22:05:23 
10/08/2019 22:05:23 fb read rate: 1171 MB/sec
10/08/2019 22:05:23 fast read: reset -wait  ms to: 10
10/08/2019 22:05:23 fast read: reset -defer ms to: 10
10/08/2019 22:05:23 The X server says there are 10 mouse buttons.
10/08/2019 22:05:23 screen setup finished.
10/08/2019 22:05:23 

The VNC desktop is:      a08956e20049:0
PORT=5900

******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval.  It should work with any VNC viewer.  Try it by running:

    x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

WARNING: cannot verify 192.168.1.29's certificate, issued by 'CN=iDRAC6 default certificate,OU=Remote Access Group,O=Dell Inc.,L=Round Rock,ST=Texas,C=US':
  Self-signed certificate encountered.
    WARNING: certificate common name 'iDRAC6 default certificate' doesn't match requested host name '192.168.1.29'.
HTTP request sent, awaiting response... 200 OK
Length: 1006156 (983K) [application/octet-stream]
Saving to: 'avctKVM.jar'

avctKVM.jar                             100%[===============================================================================>] 982.57K   274KB/s    in 3.7s    

2019-08-10 22:05:28 (268 KB/s) - 'avctKVM.jar' saved [1006156/1006156]

Downloading avctKVMIOLinux64
--2019-08-10 22:05:28--  https://192.168.1.29/software/avctKVMIOLinux64.jar
Connecting to 192.168.1.29:443... connected.
WARNING: cannot verify 192.168.1.29's certificate, issued by 'CN=iDRAC6 default certificate,OU=Remote Access Group,O=Dell Inc.,L=Round Rock,ST=Texas,C=US':
  Self-signed certificate encountered.
    WARNING: certificate common name 'iDRAC6 default certificate' doesn't match requested host name '192.168.1.29'.
HTTP request sent, awaiting response... 200 OK
Length: 983674 (961K) [application/octet-stream]
Saving to: 'lib/avctKVMIOLinux64.jar'

lib/avctKVMIOLinux64.jar                100%[===============================================================================>] 960.62K   226KB/s    in 4.7s    

2019-08-10 22:05:35 (206 KB/s) - 'lib/avctKVMIOLinux64.jar' saved [983674/983674]

Downloading avctVMLinux64
--2019-08-10 22:05:35--  https://192.168.1.29/software/avctVMLinux64.jar
Connecting to 192.168.1.29:443... connected.
WARNING: cannot verify 192.168.1.29's certificate, issued by 'CN=iDRAC6 default certificate,OU=Remote Access Group,O=Dell Inc.,L=Round Rock,ST=Texas,C=US':
  Self-signed certificate encountered.
    WARNING: certificate common name 'iDRAC6 default certificate' doesn't match requested host name '192.168.1.29'.
HTTP request sent, awaiting response... 200 OK
Length: 135201 (132K) [application/octet-stream]
Saving to: 'lib/avctVMLinux64.jar'

lib/avctVMLinux64.jar                   100%[===============================================================================>] 132.03K   275KB/s    in 0.5s    

2019-08-10 22:05:37 (275 KB/s) - 'lib/avctVMLinux64.jar' saved [135201/135201]

Extracting avctKVMIOLinux64
Extracting avctVMLinux64
Initialization complete, starting virtual console
Aug 10, 2019 10:05:38 PM java.util.prefs.FileSystemPreferences$1 run
WARNING: Couldn't create user preferences directory. User preferences are unusable.
Aug 10, 2019 10:05:38 PM java.util.prefs.FileSystemPreferences$1 run
WARNING: java.io.IOException: Not a directory
08/10/2019 10:05:38:467: Starting client.
====setPowerMenuStatus: (##2)

ProtocolAPCP: Version [1.0]

08/10/2019 10:05:40:025:  Connection failed.
10/08/2019 22:05:48 Got connection from client 127.0.0.1
10/08/2019 22:05:48   other clients:
10/08/2019 22:05:48 Got 'ws' WebSockets handshake
10/08/2019 22:05:48 Got protocol: binary
10/08/2019 22:05:48   - webSocketsHandshake: using binary/raw encoding
10/08/2019 22:05:48   - WebSockets client version hybi-13
10/08/2019 22:05:48 Disabled X server key autorepeat.
10/08/2019 22:05:48   to force back on run: 'xset r on' (3 times)
10/08/2019 22:05:48 incr accepted_client=1 for 127.0.0.1:51478  sock=10
10/08/2019 22:05:48 Client Protocol Version 3.8
10/08/2019 22:05:48 Protocol version sent 3.8, using 3.8
10/08/2019 22:05:48 rfbProcessClientSecurityType: executing handler for type 1
10/08/2019 22:05:48 rfbProcessClientSecurityType: returning securityResult for client rfb version >= 3.8
10/08/2019 22:05:48 copy_tiles: allocating first_line at size 41
10/08/2019 22:05:48 Pixel format for client 127.0.0.1:
10/08/2019 22:05:48   32 bpp, depth 24, little endian
10/08/2019 22:05:48   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
10/08/2019 22:05:48 no translation needed
10/08/2019 22:05:48 Enabling NewFBSize protocol extension for client 127.0.0.1
10/08/2019 22:05:48 Enabling full-color cursor updates for client 127.0.0.1
10/08/2019 22:05:48 Using image quality level 6 for client 127.0.0.1
10/08/2019 22:05:48 Using JPEG subsampling 0, Q79 for client 127.0.0.1
10/08/2019 22:05:48 Using compression level 9 for client 127.0.0.1
10/08/2019 22:05:48 Enabling LastRect protocol extension for client 127.0.0.1
10/08/2019 22:05:48 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFECC)
10/08/2019 22:05:48 Using tight encoding for client 127.0.0.1
10/08/2019 22:05:48 client_set_net: 127.0.0.1  0.0008
10/08/2019 22:05:48 created   xdamage object: 0x40002c
Aug 10, 2019 10:05:51 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock User prefs.  Unix error code 20.
Aug 10, 2019 10:05:51 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
[services.d] stopping services
[services.d] stopping app...
[services.d] stopping logmonitor...
[services.d] stopping x11vnc...
caught signal: 15
10/08/2019 22:05:51 deleted 40 tile_row polling images.
10/08/2019 22:05:51 Restored X server key autorepeat to: 1
[services.d] stopping statusmonitor...
[services.d] stopping openbox...
[services.d] stopping certsmonitor...
[services.d] stopping nginx...
[services.d] stopping xvfb...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
pconwell commented 5 years ago

And for good measure, I tried docker compose and I tried a different docker host:

version: '3.6'
services:
    idrac:
        container_name: idrac
        restart: always
        ports:
            - '5850:5800'
            - '5950:5900'
        environment:
            - IDRAC_HOST=192.168.1.29
            - IDRAC_USER=root
            - IDRAC_PASSWORD=calvin
        image: domistyle/idrac6

Exact same error. I just get the following error over and over

Initialization complete, starting virtual console
11/08/2019 02:45:13 created selwin: 0x40002d
11/08/2019 02:45:13 called initialize_xfixes()
Aug 11, 2019 2:45:13 AM java.util.prefs.FileSystemPreferences$1 run
WARNING: Couldn't create user preferences directory. User preferences are unusable.
Aug 11, 2019 2:45:13 AM java.util.prefs.FileSystemPreferences$1 run
WARNING: java.io.IOException: Not a directory
08/11/2019 02:45:13:226: Starting client.
====setPowerMenuStatus: (##2)
11/08/2019 02:45:13 copy_tiles: allocating first_line at size 41

ProtocolAPCP: Version [1.0]

08/11/2019 02:45:14:662:  Connection failed.
Aug 11, 2019 2:45:44 AM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock User prefs.  Unix error code 20.
Aug 11, 2019 2:45:44 AM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
Aug 11, 2019 2:46:14 AM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock User prefs.  Unix error code 20.
Aug 11, 2019 2:46:14 AM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
Aug 11, 2019 2:46:44 AM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock User prefs.  Unix error code 20.

Until I click "Connection Failed" -> "OK" inside the docker 'website', then I get:

[services.d] stopping services
[services.d] stopping app...
[services.d] stopping logmonitor...
[services.d] stopping openbox...
[services.d] stopping x11vnc...
caught signal: 15
11/08/2019 02:50:03 deleted 40 tile_row polling images.
11/08/2019 02:50:03 Restored X server key autorepeat to: 1
[services.d] stopping statusmonitor...
[services.d] stopping xvfb...
[services.d] stopping certsmonitor...
[services.d] stopping nginx...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
pconwell commented 5 years ago

You can disregard. After trying every possible thing I could think of - I did a factory reset of the idrac and it is working now.

I'm still not really sure what the issue was because I double and triple checked all the settings and everything appeared to be correct. But after pulling my hair out for the past week, I don't care. It's working now, that's all that matters.

Thanks!


EDIT: For anyone who comes across this in the future (or myself when I forget what I did 2 years from now)... First, you must have the idrac enterprise module installed. Next, to reset the idrac to factory settings, you will need to press ctrl + e at the appropriate time during the POST process (I believe it says something like "remote access" or something - but you will see it). Then go to "reset to default". If you need to update your firmware (specifically for the R710, but should work for any of the 11G servers?), look at this thread on reddit: https://www.reddit.com/r/homelab/comments/clmmki/updating_r710_biosfirmware/