I have an ipmi related project I need to get started and I thought I would ask the list before doing any work. First I'll give you some background.
A project that I contribute to manages the entire lifecycle of datacenter infrastructure. Which covers anything from server bare metal provisioning (via PXE) to automated configuration management (puppet). The product is called theforeman (
http://www.theforeman.org).
Additionally, I built a mobile app to control foreman which is called RemoteAdmin (
http://www.remoteadmin.co ). Both of these projects are open source GPL. The next step in both of these projects is to control power and boot order selection from the app. So when a user selects an OS to install. The server automatically gets power cycled and booted to the NIC via IPMI. This is where freeIPMI comes in.
The entire foreman project is a Ruby on Rails app. So while a C implementation library of freeIPMI is awesome, its difficult to access via Ruby. So I have come up with a few work arounds which are probably common given this situation.
1. Use the freeipmi command line tools and write a ruby wrapper to call the cli commands using exec
2. Use a tool called swig (
http://www.swig.org/) to generate a Ruby interface wrapper to the freeipmi project libraries
I have never used swig before but it looks very promising. I wanted to ask what your thoughts are about implementing a ruby freeipmi library. Any concerns, tricks, gotchas I need to look out for? The ruby freeipmi library will be open source and available as a ruby gem when completed.
How are you guys testing freeipmi with all the vendors' implementations?
I would also enjoy any code contributions.