Using Dell's iDRAC6 with newer Java versions
While doing some maintenance on my R710 (which runs iDRAC 6) I’ve stumbled upon a weird error not letting me open the remote console: the connection either failed misteriously or the applet didn’t start at all. No clues in the terminal nor in the logs, the console simply crashed even before showing its usual status window.
After a few hours I came up with a working solution thanks to this recent post on /r/Homelab: since the problem most probably lied in my Java version - my current default is 9 - and switching between them is pretty much an unwanted hassle, running the Remote Console Viewer inside a Docker container using an older Java version could be a perfect idea! Note: I’ve tried using the
archlinux-java helper script as well as extracting and using older JRE libs, but none of these other methods worked.
This approach has some limitations, such as the inability to forward all the keystrokes, not saving preferences (stateless containers, anyone?), and the inability to change the keyboard layout.
Refer to DomiStyle/docker-idrac6 for extra details.
Quick, show me the code!
I’d suggest leaving a space before issuing this command, so that your iDRAC’s credentials won’t get stored in your shell’s history file. Change variable as needed.
docker run -d -p 5800:5800 -p 5900:5900 -e IDRAC_HOST=your.idrac.host -e IDRAC_USER=your-idrac-user -e IDRAC_PASSWORD=your-idrac-password domistyle/idrac6
Open your browser @ http://localhost:5800, safely ignore the library warning that will pop up.
In case you need to access a UEFI section such as the Lifecycle Controller, you may or may not need to restart the container and refresh the browser’s page whenever it seems to get stuck. I had to do so twice while booting to the LCC - at each stage of the UEFI loading process - but you may be luckier.
Concluding: this basically is a dirty hack, but one of the best kind: one that gets the job done.