
Blue GNU interviews Al Chu, of the FreeIPMI project about their efforts to provide a free implementation of the IPMI specification.
For those who aren't familiar with it, what is IPMI?
The IPMI specification defines a set of interfaces for platform
management. It is utilized by a wide variety of vendors for system
management on motherboards. The features of IPMI that most users will
be interested in are sensor monitoring, remote power control, and
serial-over-LAN. The specification covers many additional features
too.
When and why was FreeIPMI started?
In October 2003, California Digital Corp. (CDC) was contracted by
Lawrence Livermore National Laboratory (LLNL) for the assembly of
Thunder, a 1024 node Itanium2 cluster. The motherboards selected for
this cluster had IPMI 1.5 support.
At the time Thunder was being assembled, there were very few
open-source IPMI projects available, let alone projects that could
support the HPC and security requirements that would be needed for a
1024 node cluster at LLNL.
Developers at CDC, led by Anand Babu, had begun several IPMI related
projects internally for their customer base. At LLNL, I had begun
working on several IPMI related projects that would be needed for
Thunder. While Thunder was being assembled, we worked on alot of
these projects together, and eventually merged it together into
FreeIPMI. Since that initial merger, developers from LLNL, CDC, and
Zresearch (where some former CDC developers went to) have continued
the primary maintenance and development of FreeIPMI.
Where does the project stand at this point?
FreeIPMI 0.4.2 was just released on August 3rd, 2007 and is production
stable. It covers the majority of the IPMI specification that we
believe most would find useful. This includes features/tools for BMC
configuration, sensor reading, system event log reading, console
access, and power control.
How many active developers currently work on FreeIPMI?
At this point in time, FreeIPMI is quite stable and offers the
majority of features specified in the IPMI 2.0 specification. The
active development of FreeIPMI is winding down a bit, with one
developer developing/maintaining on a semi-regular basis, with another
3-5 others contributing from time to time.
How does FreeIPMI compare (in your view) to similar projects (Free
or non-Free)?
Taking a high level view, I believe most would view command-line
open-source IPMI projects like IPMItool and IPMIutil to be pretty
similar to FreeIPMI. All of our projects have features/tools for the
typical power control, sensor reading, serial-over-lan, etc. needs.
There are subtleties between the various projects that offer various
pros and cons. The differences range from debug/error help, output
parsability, various minor features, and coverage of the IPMI
specification.
I believe the major "value-add" provided by FreeIPMI compared to other
open-source projects is our HPC support. Our "hostrange"
functionality allows users to specify a large number of cluster nodes
for parallel out-of-band IPMI access. The output can be subsequently
consolidated to determine current cluster status. The config file
features of several configuration tools allow IPMI configuration to be
copied to other cluster nodes quickly and subsequently verified.
Most of the proprietary IPMI implementations we've seen from vendors
tend to be simpler command line tools without many features or GUIs.
I believe these are perfectly fine tools for most end users, but for
those with large data centers or clusters, I don't believe they're
very scalable.
Can you give me any idea of how big and/or active the FreeIPMI user
community is?
In my opinion, the FreeIPMI user community is sizable but not large
overall. The average individual, perhaps only having a few
servers/nodes, will probably find FreeIPMI equally useful to other
open-source and closed-source software. Most probably default to
whatever is provided by the vendor.
We've found a number of people in the HPC community have adopted
FreeIPMI because the HPC "value-add" is recognized over other
solutions. Those who see the benefit are also willing to spend the
time on the steeper learning curve needed to use some of FreeIPMI's
tools/features.
What needs to be accomplished before the next release of FreeIPMI?
FreeIPMI is now quite stable and production ready so not much more.
Most of the work being done on the 0.5.1 release is "cleanup" to
polish it up and to add a few of the missing IPMI 2.0 specification
features. A serial driver is also being considered for 0.5.1, but it
depends on developer time.
What are the biggest obstacles the FreeIPMI team faces in development?
I think the biggest obstacle facing not just FreeIPMI, but the entire
IPMI open-source community, is vendor IPMI compliance. Vendor
compliance to the IPMI specification is widely varying across the
industry. We have seen products range from nearly perfect compliance
to practically alternate implementations not even resembling IPMI. In
my opinion, the industry average is around "not-quite-so compliant".
In all fairness to the industry, the IPMI specification is a gigantic
500+ page document, so it can be tough to get their implementation
perfect.
The question that arises for all IPMI users is will the vendor
implementation be "compliant enough" for open-source software to work.
If the vendor does not official support a specific open-source
software, who knows if it will work.
Is there anything else about FreeIPMI you think our audience should know?
I'd like to ask that users of not just FreeIPMI, but any open-source
IPMI software, to please complain to your vendors if an open-source
project isn't working and you believe it's due to IPMI non-compliance.
By letting companies know you are dissatisfied with their
non-compliant product can you help all IPMI open-source projects work
on a larger number motherboards.