[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freeipmi-devel] in need of guidance...
From: |
Albert Chu |
Subject: |
Re: [Freeipmi-devel] in need of guidance... |
Date: |
Tue, 28 Jun 2011 10:28:12 -0700 |
Oh ...
On Tue, 2011-06-28 at 02:28 -0700, Arnaud Quette wrote:
>
> 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...
I'm not personally familiar with the use of pkg-config. With what I see
online, shouldn't autoconf/configure be more than suitable? I suppose
if it doesn't break the normal autoconf/automake, then I'd be fine
adding a patch. Is it used alongside other build systems??
Al
> 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/
>
--
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory