DCImanager 6

BMC proxy module operation

The BMC proxy module allows you to connect to BMC or Intel AMT with internal IP addresses on DCImanager 6 locations. The module consists of the client and server parts.  Both parts are docker images. The client part is installed on the server with DCImanager 6, the server part is installed on locations. VNC-connection via SSH tunnel is established for connecting to a server with the BMC or Intel AMT. You can connect to the BMC web interface or console.

The client module part includes:

  • ipmi_proxy_service — this service interacts with DCImanager 6;
  • noVNC — HTML5 VNC-client;
  • goproxy — service for transferring VNC session data to noVNC and proxying Websocket client requests to a VNC server via SSH tunnel.

The server module part includes: 

  • scripts for managing module services — up.sh, down.sh;
  • TigerVNC — the VNC-server;
  • Chromium — the browser for accessing the BMC (Intel AMT) web-interface;
  • Java — it is used for opening jnlp-files in the browser. 

Connecting to BMC (Intel AMT)

  1. ipmi_proxy_service on the server with DCImanager 6:
    1. Checks that the server is accessible on the location.
    2. Checks available SSH-port for connection both on the client and server sides.
    3. Checks if there is an active BMC session. If a session is found, it prompts the user to connect to it or create a new session.
  2. The up.sh script on the location:
    1. Creates a temporary user for the VNC session in the operating system.
    2. Adds the links to the BMC (Intel AMT) web-interface through http and https into the inclusions list.
    3. Runs TigerVNC with the permissions of the temporary user.
  3. TigerVNC on the location:
    • to connect to the web interface — opens the BMC (Intel AMT) web interface in Chromium automatically. If you select IPMI v1.5/v2, Chromium will support the java plug-in;
    • to connect to the console — downloads the jnlp file of the terminal application into the user directory and launches it.
  4. ipmi_proxy_service on the server with DCImanager 6:
    1. Creates a temporary user for the VNC session in the operating system.
    2. Runs noVNC with the permissions of the temporary user.
  5. goproxy service on the server with DCImanager 6:
    1. Proxies Websocket requests to a VNC server via SSH tunnel;
    2. Transfers VNC session data to noVNC.  As a result, the BMC (Intel AMT) web-interface will be accessible from the client browser.
  6. In the client browser, a new window with the URL https://domain.com/ipmiproxy/web/ will open, where domain.com is the address of the DCImanager 6 platform. On this page the client will interact with the BMC server.

Closing connection to BMC (Intel AMT)

The down.sh script performs the following operations on the location: 

  1. Terminates the VNC session.
  2. Terminates the processes of the temporary user created for this VNC session.
  3. Deletes the temporary user and his home directory from the operating system.