Hi,

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.


The github project can be found here:  
https://github.com/logicminds/ruby-freeipmi


Corey Osman
[email protected]

Green IT and Datacenter Automation Specialist




_______________________________________________
Freeipmi-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/freeipmi-devel

Reply via email to