freeipmi-devel
[Top][All Lists]
Advanced

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

Re: [Freeipmi-devel] in need of guidance...


From: Arnaud Quette
Subject: Re: [Freeipmi-devel] in need of guidance...
Date: Tue, 28 Jun 2011 11:28:52 +0200


2011/6/27 Al Chu <address@hidden>
Hi Arnaud,

Hi Al,

thanks for your answer
 
On Sat, 2011-06-25 at 15:46 -0700, Arnaud Quette wrote:
> IPMI fellows,
>
> first, congrats for the FreeIPMI project. it's a cool piece of
> software ;-)

Thanks.

> I'm currently having a look at IPMI to implement a PSU monitor driver
> for the NUT project:
> https://wiki.ubuntu.com/ServerOneiricInfraPower#NUT_PSU_.2BAC8_native_IPMI_driver
>
> I've had a look at the various IPMI implementations out there, and
> FreeIPMI seems the most suitable.
> I've then had a look at FreeIPMI docs, code, svn, examples, contrib,
> and there I got lost!
> the code is very complex and hidden in many abstraction layers. And
> docs and examples are not very helpful.
> I also don't see pkg-config supports files (.pc).
> Have I missed something? or isn't it developer friendly :(

It depends on what you're trying to develop.  A few libs, like
libipmimonitoring and libipmiconsole are very suitable for high level
views of IPMI.  It's what a number of other developers use to do IPMI
stuff for monitoring and console access.

NUT drivers are simple daemons that acquire data from UPS / PDU / SCD / PSU, and provide access to the specific protocol through a generic namespace and interface.

Here is the skeleton driver, as an example:
http://anonscm.debian.org/viewvc/nut/trunk/drivers/skel.c?view=co&revision=2722&content-type=text%2Fplain

There are few hooks to init acquisition, then data, and update these data.
Other hooks are available for doing settings and instant command (power up, shut dow, launch a test, ...)

However, most of what's in libfreeipmi is at an abstraction level where
you need to know details from the IPMI specification to know what you're
doing.

> I've got the attached output from ipmi-fru and ipmi-sensors
> I'd like to do the exact same thing (ie identify and get all PSU
> information and events), but looking at the code and docs, I still
> don't see the light.

So what I gather is that you're looking to be able to program access to
the FRU and sensors, rather than do it via scripts from the tools?

indeed.
as mentioned above, I want a daemon, written in C, getting the PSU's FRU and sensors info at init, and then monitoring status (ie PSU fault, removed, ...).

These links are detailing a bit the "why":
https://wiki.ubuntu.com/ServerOneiricInfraPower#NUT_PSU_.2BAC8_native_IPMI_driver
https://wiki.ubuntu.com/ServerOneiricInfraPower#PowerChain_implementation
 
With the current library everything you need is there.  But it's not at
an abstraction level that will probably give you a very easy interface.

this is indeed the conclusion I came to.
 
I can describe in more detail the steps you'd have to take if you're
interested

I'm *very* interested in!
this could even serve as a simple example, shipped in the examples/ directory.

a final question: you've not answered on pkg-config support.
I can provide a patch if needed...

thanks again Al, and a good day to Jim (Garlick) if you see him at LLNL ;-)

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


reply via email to

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