Install image with Ansible via IPMI

ansibleipmikeyboard-video-mouseprovisioningsupermicro

Is there a way to install an image on and provision a bare metal SuperMicro IPMI server from the ground up with Ansible via in-band IPMI over VPN?

I'm looking to see if I can automate the installation part of the process so all I need to do is add the IP to an Ansible inventory and run the playbook to have the bare metal server up and running with a Packer image.

Best Answer

Supermicro servers generally let you connect virtual media to them via the IPMI web interface, but also via a cli tool called 'smcipmitool', available from supermicro.

smcipmitool is java based, and is a bit of pain to work with as it covers multiple generations and types of hardware, but it should include support for mounting virtual media.

You should be able to automate bare metal deployment from here, eg by having a fully automated install (custom kickstart file burned into your ISO for example).

The IPMI controller can also be set up to expose a serial over lan port (SOL), which is normally ttyS1. If this is all set up properly, you can use ipmitool and the sol interface, together with expect scripts, to handle pretty much anything you might need to do that can't be done via a kickstart install.