Skip to main content

Access Java based ipmi kvm consoles without a local Java installation.

Project description

Introduction

NoJava-IPMI-KVM is a tool for running Java-based IPMI-KVM consoles without a local Java installation. It runs a Docker container in the background, starts a suitable Java Webstart version (from OpenJDK) and connects to the container with noVNC. By using Docker, Java Webstart is sandboxed automatically and you don’t need to install old Java versions on your Desktop machines.

This project is based on ideas from solarkennedy/ipmi-kvm-docker.

Installation

The latest version can be obtained from PyPI and runs with Python 2.7 or 3.3+ (Python 3 is recommended):

python3 -m pip install nojava-ipmi-kvm

Install Docker on your local machine if not done already.

Usage

Configuration file

First, create a file ~/.nojava-ipmi-kvmrc and create a configuration section for each kvm host you want to connect to, for example:

[myhostkvm]
full_hostname = myhostkvm.org
login_user = ADMIN
login_endpoint = rpc/WEBSES/create.asp
download_endpoint = Java/jviewer.jnlp
allow_insecure_ssl = False
user_login_attribute_name = WEBVAR_USERNAME
password_login_attribute_name = WEBVAR_PASSWORD
java_version = 7u51
session_cookie_key = SessionCookie
  • full_hostname: Fully qualified name of your KVM host

  • login_user: User to login to the web admin view (default: ADMIN)

  • login_endpoint: Relative POST url of the login form. Is needed to create a login session.

  • download_endpoint: Relative download url of the Java KVM viewer.

  • allow_insecure_ssl: Allow SSL certificates that cannot be validated when logging in and downloading the KVM viewer.

  • user_login_attribute_name: Name of the user login field in the login form (use the web inspector of your favorite browser to find out the field names).

  • password_login_attribute_name: Name of the password field in the login form.

  • java_version: Java version that is needed to run Java KVM viewer. Currently, 7u51 and 7u181 are available (default: 7u181).

  • session_cookie_key: Workaround for web applications that do not set session cookies directly (for example with Javascript). If a login attempt does not set a session cookie, the HTTP reply body is scanned for a potential session cookie value. If a value is found, it will be stored under the name session_cookie_key. In most cases you can simply obmit this configuration key.

In addition, you can create a general section to configure more general settings, e.g.:

[general]
x_resolution = 1600x1200
  • x_resolution: Resolution of the X server and size of the VNC window (default: 1024x768)

Using the command line tool

After configuring, you can call nojava-ipmi-kvm from the command line:

nojava-ipmi-kvm myhostkvm

You can start nojava-ipmi-kvm multiple times to connect to different machines in parallel. The background Docker container will be shutdown automatically after to you closed the VNC window or sent <Ctrl-C> on the command line.

Options:

usage: nojava-ipmi-kvm [-h] [-f CONFIG_FILEPATH] [--print-default-config] [-V]
                       [hostname]

nojava-ipmi-kvm is a utility to access Java based ipmi kvm consoles without a local java installation.

positional arguments:
  hostname              short hostname of the server machine; must be
                        identical with a hostname in `.nojava-ipmi-kvmrc` (for
                        example `mykvmserver`)

optional arguments:
  -h, --help            show this help message and exit
  -f CONFIG_FILEPATH, --config-file CONFIG_FILEPATH
                        login user (default: ~/.nojava-ipmi-kvmrc)
  --print-default-config
                        print the default config to stdout and exit
  -V, --version         print the version number and exit

Command line completion

This repository offers a completion script for zsh users (only hostnames currently, no options). You can install the completion script with zplug or manually.

Using zplug

Add zplug "sciapp/nojava-ipmi-kvm" to your .zshrc.

Manual

Clone this repository and source nojava_ipmi_kvm_completion.plugin.zsh in your .zshrc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nojava-ipmi-kvm-0.1.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nojava_ipmi_kvm-0.1.1-py2.py3-none-any.whl (11.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file nojava-ipmi-kvm-0.1.1.tar.gz.

File metadata

  • Download URL: nojava-ipmi-kvm-0.1.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15

File hashes

Hashes for nojava-ipmi-kvm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 aca73bb1a13082c4c64a2a8b0deebee266c5e9960db38d5041cc674d677a31dc
MD5 ee32df4995f3ff5947d9596e67c8c6c3
BLAKE2b-256 c0b6cf5b57672940b48733f8947c0660629f682e020dc42e086b454e04ef1144

See more details on using hashes here.

File details

Details for the file nojava_ipmi_kvm-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: nojava_ipmi_kvm-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/2.7.15

File hashes

Hashes for nojava_ipmi_kvm-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 db9a2cf35b490372115825de7a3e77f484c05849013df4ae1b4d37dc42c331b0
MD5 383254339c22c19f5f259a43b8d778e5
BLAKE2b-256 118dca580882f9da75aa38d8be9e52b10eca62ce26572e8822cd2f716b53be21

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page