[Nut-upsdev] [Powerman-discuss] Joining forces with the Network UPS Tools

Jim Garlick garlick at llnl.gov
Sun Oct 5 09:28:43 UTC 2008


Hi Arnaud,

Thanks for the inquiry and for bringing NUT to my attention.
I think I actually looked at it a long time ago under another name.
Looks like it has come a long way and matured a lot since then.  Nice job!

I'm keen to keep powerman simple with a small set of features,
in the "do one thing and do it well" tradition of UNIX tools.
I also want to retain it as a standalone package.  However, lets 
definitely think about how to leverage each others work to improve
both projects.

Would it make any sense for us to interface NUT with the powerman daemon
and push all the power controller support behind powerman?   Sort of a
componentized approach?  I would need to add SNMP support to cover what 
you have now.  Powerman has "native" serial, TCP/telnet, and coprocess support
now.  We add on IPMI, HTTP, GPIB, VXI-11, and Insteon via the coprocess 
interface (for example see src/httppower.c in the powerman sources).
This is where the powerman daemon spawns another process and controls its
stdin/stdout via pty.  I think SNMP could also be done via the coprocess
approach.  

Another area where we might share is in test suites.  Powerman includes
simple stdin/stdout simulators of several power controller CLI's.  When
I run "make check" in the powerman source tree, it spins through a bunch
of these, running them as coprocesses, exercising various commands to be
sure I haven't broken anything.  If we both supported the same hardware, 
perhaps we could share these simulators?  Even potentially add support for
hardware in both projects that only one of us has access to?

I'll have a closer look at NUT and see what else comes to mind.

Regards,

Jim Garlick

On Sat, Oct 04, 2008 at 10:59:41PM +0200, Arnaud Quette wrote:
> Hi Powermen ;-)
> 
> I recently came across the Powerman project
> (http:// sourceforge.net/projects/powerman/), pointed by Tony Merenda,
> from Opengear (thanks Tony). Congrats for your work in this area!
> 
> I've thought a bit about Powerman and NUT since then...
> 
> NUT currently supports hosts of UPSs and few PDUs (RPCs), and provides
> tons of features:
> http:// test.networkupstools.org
> http:// test.networkupstools.org/Documentation/UserManual/Features
> http:// test.networkupstools.org/Documentation/UserManual/Compatibility/Stable
> 
> I'm currently preparing the support of 4 Eaton network (SNMP) PDUs
> (the full Eaton range, from Aphel and Pulizzi)
> This is based upon the outlet collection:
> http:// svn.debian.org/wsvn/nut/trunk/docs/new-names.txt?op=file&rev=0&sc=0
> And will be as simple as creating a few .h files like that one:
> http:// svn.debian.org/wsvn/nut/trunk/drivers/mgemib.h?op=file&rev=0&sc=0
> 
> See also http:// svn.debian.org/wsvn/nut/trunk/docs/powersaving.txt?op=file&rev=0&sc=0
> for some more info on the outlet data collection.
> 
> Although the name of the project implies UPS only, I'm willing to
> expand NUT to any external power devices. NUT provide many generic
> acquisition drivers for serial, USB, SNMP, XML/HTTP, that aren't hard
> to be extended. There is even an APC MasterSwitch supported by the
> generic serial driver.
> 
> So integrating Powerman devices, knowledges and expertize into the NUT
> shouldn't be that hard, but would be a great deal for end users:
> - RPCs would be available through the network, protected by user auth,
> SSL and ACLs.
> - GUIs would be easy to develop/adapt using the NUT protocol, the
> Python class or the C/C++ client library
> (imagine an RPC interactive picture...)
> - We could manage a full power chain of UPSs and RPCs, and add some
> smarter/advanced features (like subscribing clients (nut slaves
> installed on computers) on a specific outlet, and have these shutdown
> earlier than others before putting the outlet off)
> - Powerman's features would be distributed with the NUT packages,
> across a wide set of systems,
> - a bigger team, with all that it implies
> ..
> 
> NUT would also have to be extended a bit, for example by adding a
> field to determine the device type (ups or rpc/pdu), by modifying the
> compatibility list format, ...
> 
> What would you think about all that. I'm opened to any questions and remarks.
> 
> Thanks,
> Arnaud
> -- 
> Linux / Unix Expert R&D - MGE Office Protection Systems - http:// www. mgeops.com
> Network UPS Tools (NUT) Project Leader - http:// www. networkupstools.org/
> Debian Developer - http:// people.debian.org/~aquette/
> Free Software Developer - http:// arnaud.quette.free.fr/
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http:// moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Powerman-discuss mailing list
> Powerman-discuss at lists.sourceforge.net
> https:// lists.sourceforge.net/lists/listinfo/powerman-discuss



More information about the Nut-upsdev mailing list