supermicro-java-ikvm icon indicating copy to clipboard operation
supermicro-java-ikvm copied to clipboard

50-setup-ikvm.sh: terminated with error 1.

Open Knogle opened this issue 1 year ago • 12 comments

Hey, fine project you got here :)

Unfortunately i am not able to run the docker, using the docker-compose script. Maybe you can help out in this case :)

Thanks in advance!


 ✔ Network root_default            Created                                 0.1s 
 ✔ Volume "supermicro-java-ikvm"   Crea...                                 0.0s 
 ✔ Container supermicro-java-ikvm  Cre...                                  0.9s 
Attaching to supermicro-java-ikvm
supermicro-java-ikvm  | [init        ] container is starting...
supermicro-java-ikvm  | [cont-env    ] loading container environment variables...
supermicro-java-ikvm  | [cont-env    ] APP_NAME: loading...
supermicro-java-ikvm  | [cont-env    ] APP_VERSION: loading...
supermicro-java-ikvm  | [cont-env    ] DISPLAY: executing...
supermicro-java-ikvm  | [cont-env    ] DISPLAY: terminated successfully.
supermicro-java-ikvm  | [cont-env    ] DISPLAY: loading...
supermicro-java-ikvm  | [cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
supermicro-java-ikvm  | [cont-env    ] DOCKER_IMAGE_VERSION: loading...
supermicro-java-ikvm  | [cont-env    ] GTK2_RC_FILES: executing...
supermicro-java-ikvm  | [cont-env    ] GTK2_RC_FILES: terminated successfully.
supermicro-java-ikvm  | [cont-env    ] GTK2_RC_FILES: loading...
supermicro-java-ikvm  | [cont-env    ] GTK_THEME: executing...
supermicro-java-ikvm  | [cont-env    ] GTK_THEME: terminated successfully.
supermicro-java-ikvm  | [cont-env    ] GTK_THEME: loading...
supermicro-java-ikvm  | [cont-env    ] HOME: loading...
supermicro-java-ikvm  | [cont-env    ] JAVA_OPTS: loading...
supermicro-java-ikvm  | [cont-env    ] QT_STYLE_OVERRIDE: executing...
supermicro-java-ikvm  | [cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
supermicro-java-ikvm  | [cont-env    ] QT_STYLE_OVERRIDE: loading...
supermicro-java-ikvm  | [cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
supermicro-java-ikvm  | [cont-env    ] XDG_CACHE_HOME: loading...
supermicro-java-ikvm  | [cont-env    ] XDG_CONFIG_HOME: loading...
supermicro-java-ikvm  | [cont-env    ] XDG_DATA_HOME: loading...
supermicro-java-ikvm  | [cont-env    ] XDG_RUNTIME_DIR: loading...
supermicro-java-ikvm  | [cont-env    ] XDG_STATE_HOME: loading...
supermicro-java-ikvm  | [cont-env    ] container environment variables initialized.
supermicro-java-ikvm  | [cont-secrets] loading container secrets...
supermicro-java-ikvm  | [cont-secrets] container secrets loaded.
supermicro-java-ikvm  | [cont-init   ] executing container initialization scripts...
supermicro-java-ikvm  | [cont-init   ] 10-certs.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-certs.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-check-app-niceness.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-check-app-niceness.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-clean-logmonitor-states.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-clean-tmp-dir.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-fontconfig-cache-dir.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-init-users.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-init-users.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-nginx.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-nginx.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-openbox.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-openbox.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-pkgs-mirror.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-pkgs-mirror.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-set-tmp-dir-perms.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-vnc-password.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-vnc-password.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-web-data.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-web-data.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-x11-unix.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-x11-unix.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 10-xdg-runtime-dir.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 15-cjk-font.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 15-cjk-font.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 15-install-pkgs.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 15-install-pkgs.sh: terminated successfully.
supermicro-java-ikvm  | [cont-init   ] 50-setup-ikvm.sh: executing...
supermicro-java-ikvm  | [cont-init   ] 50-setup-ikvm.sh: terminated with error 1.
supermicro-java-ikvm exited with code 1

Knogle avatar Apr 17 '24 13:04 Knogle

Can you give me the details for your Supermicro hardware you're trying to connect to? (Motherboard, BMC model, BMC firmware, motherboard firmware)

Also set the environment variable CONTAINER_DEBUG=1 and post the log output

MisterCalvin avatar Apr 17 '24 15:04 MisterCalvin

Hey :) I'd like to use a Supermicro X9SCM-F. With Winbond 450 BMC. Currently i can't even get the docker running, that's my issue, because during creation it fails. I'll try with CONTAINER_DEBUG=1.

Knogle avatar Apr 17 '24 16:04 Knogle

From your original logs, the container is failing at 50-setup-ikvm.sh, which is the KVM wrapper responsible for your grabbing all of the necessary files / login details for our KVM session inside the container. With CONTAINER_DEBUG=1 set I will have a better idea as to why it is failing.

MisterCalvin avatar Apr 17 '24 16:04 MisterCalvin

Hey, i hope you are doing fine! Something might be of interest. I am using this version. SMT_X9_364 for the BMC. Also the Supermicro IPMI View doesn't work with that. Do you want to give it a try maybe, so you can check it out as well?

Knogle avatar Apr 23 '24 21:04 Knogle

Are your Docker host and Supermicro IPMI on the same network? Or is there a firewall with restrictive rules in-between them? If this is the case you may need to create an allow rule for TCP port 5900 and TCP port 623 (if you need virtual media) to your Supermicro host.

I also published a debug image, will you try running ghcr.io/mistercalvin/supermicro-java-ikvm:debug and posting the log output? Please check the logs before posting as they may contain sensitive information. Be sure to set CONTAINER_DEBUG=1 in your docker-compose.yml or docker run command

MisterCalvin avatar May 02 '24 00:05 MisterCalvin

I have the same issue on MacBook Pro M1

2024-05-07 22:21:52 [cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init   ] 15-cjk-font.sh: executing...
2024-05-07 22:21:52 [cont-init   ] 15-cjk-font.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init   ] 15-install-pkgs.sh: executing...
2024-05-07 22:21:52 [cont-init   ] 15-install-pkgs.sh: terminated successfully.
2024-05-07 22:21:52 [cont-init   ] 50-setup-ikvm.sh: executing...
2024-05-07 22:21:53 [cont-init   ] 50-setup-ikvm.sh: terminated with error 1.

robsonek avatar May 07 '24 20:05 robsonek

ok, I have solution for this error. You need to update IPMI firmware to newest version. Tested on X9SCL-F

robsonek avatar May 07 '24 21:05 robsonek

@robsonek How did you update the IPMI to the newest version for the docker container?

trulow avatar May 20 '24 19:05 trulow

@robsonek How did you update the IPMI to the newest version for the docker container?

Just download it from https://www.supermicro.com/support/resources/bios_ipmi.php?type=BMC and upload it to your Motherboard using e.g. FreeDos

robsonek avatar Jun 24 '24 09:06 robsonek

Hmm, I've experienced this very same situation on my end. Seems the server I'm using has an IPMI HTTPS setup which still employs TLS 1.0, which is not supported anymore by alpine. A tls-proxy can be employed so the connection with the KVM_HOST is mediated with this container (an nginx container <= 1.23.2-alpine version should work), then the supermicro-java-ikvm container queries the tls-proxy instead.

services:
  tls-proxy:
    image: nginx:1.23.2-alpine # Last version with TLS legacy support
    volumes:
      - ./nginx/templates:/etc/nginx/templates
      - ./nginx/certs:/etc/nginx/certs
    environment:
      KVM_HOST: host
  supermicro-java-ikvm:
    image: ghcr.io/mistercalvin/supermicro-java-ikvm:debug
    container_name: supermicro-java-ikvm
    depends_on:
      - tls-proxy
    environment:
      TZ: America/Mexico_City
      USER_ID: 1000
      GROUP_ID: 1000
      KVM_HOST: "tls-proxy"
      KVM_USER: user
      KVM_PASS: pwd
      DISPLAY_WIDTH: 1024 # Display Width
      DISPLAY_HEIGHT: 768 # Display Height
      CONTAINER_DEBUG: 1
    ports:
      - 5800:5800 # Web UI Port
      - 5900:5900 # VNC Port
    volumes:
      - ./vmedia:/app/vmedia/ # Virtual Media ISO's
      - ./screenshots:/app/screenshots/ # Screenshots / Recordings
      - supermicro-java-ikvm:/config/ # Persistent Configuration for user preferences
    restart: no

volumes:
  supermicro-java-ikvm:
    name: supermicro-java-ikvm

A sample config for the tls-proxy:

server {
  listen 443 default_server ssl;
  ssl_certificate     /etc/nginx/certs/default.crt;
  ssl_certificate_key /etc/nginx/certs/default.key;
  location / {
    proxy_pass https://${KVM_HOST}:443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_ssl_server_name on;
    proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    proxy_ssl_ciphers DEFAULT@SECLEVEL=0;
  }
}

FoxBuru avatar Feb 01 '25 02:02 FoxBuru

I'm having the same issue with a AS-2042G-TRF, it might happen because 50-setup-ikvm.sh queries https://$KVM_HOST/cgi/login.cgi, but on this machine it returns a 404, as https://$KVM_HOST/cgi/login.asp exists instead

d1nuc0m avatar Mar 11 '25 14:03 d1nuc0m

Per @FoxBuru looks like legacy boards still use TLS 1.0. Could you possibly add an unsecured connection variable to connect using plain HTTP? I see the script only has HTTPS.

eringuet avatar Oct 05 '25 22:10 eringuet