freeipmi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-devel] Ruby implementation?


From: Arnaud Quette
Subject: Re: [Freeipmi-devel] Ruby implementation?
Date: Thu, 19 Jul 2012 23:29:26 +0200


2012/7/19 Corey Osman <address@hidden>
Hi,
 
Hi Corey,

first, a quick thank to Al for pointing back your mail. I've discarded it too quickly (my main interest being power management, not Ruby ;)

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

you may be interested in looking at NUT (still meaning Network UPS Tools).
while NUT was first intended to monitor UPS, over the years, I've added PDU (big smart power switch) and power supplies a year ago.
solar controllers are also supported, and meters are planned.

the final intent is to provide everything needed to manage these "power devices", either for Green or Smart Grids.

Some interesting readings:
http://www.networkupstools.org/
http://www.networkupstools.org/projects.html
http://www.networkupstools.org/docs/man/nut-ipmipsu.html
http://www.networkupstools.org/docs/developer-guide.chunked/ar01s02.html#_the_layering
https://wiki.ubuntu.com/ServerPreciseCloudPowerManagement
https://wiki.ubuntu.com/ServerOneiricInfraPower

so you may also be interested in interfacing theforeman with the NUT server (upsd) to manage all these devices, including powering on servers and everything on this powerchain...
there is currently no Ruby binding/module/whatever-name, apart for C/C++, Python, Perl and Java.
but interestingly enough, a Ruby developer recently jumped on the ML.

cheers,
Arnaud
--
Linux / Unix / Opensource Engineering Expert - Eaton - http://opensource.eaton.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.fr


reply via email to

[Prev in Thread] Current Thread [Next in Thread]