Welcome
OpenHPI provides an open source implementation of the Service Availability Forum (SAF) Hardware Platform Interface (HPI).
HPI is an abstracted interface for managing computer hardware, typically chassis and rack based servers. HPI includes resource modeling; access to and control over sensor, control, watchdog, and inventory data associated with resources; abstracted System Event Log interfaces; hardware events and alarms; and a managed hotswap interface.
OpenHPI's architecture contains a modular mechanism intended to make adding new hardware support easier. Several plugins exist in the OpenHPI source tree giving access to various types of hardware. This includes, but is not limited to, IPMI based servers, Blade Center, and machines which export data via sysfs.
The OpenHPI project is always looking for more participants. If you are interested in using and/or taking a part in the evolution of OpenHPI, then contact us and we'll tell you how.
History of this page
This page was initally in sourceforge and was moved to openhpi.org some time in 2006. It is brought back here in September 2014 for easy maintenance. Pre 2006 pages could be accessed here
Currently the web pages are served by sourceforge Web Services The best way to contact us is through email or the IRC.
Downloads
SourceForge Project Page, Linux distros that carry OpenHPI
OpenHPI |
3.5.0 (Development) |
supported |
The open implementation of HPI. Includes a library and a daemon. |
|
HPI Browser |
3.1.0 (Development) |
supported |
HPI-B.03.02 GUI application based on QT4. Best with OpenHPI-3.1.0 |
|
SNMP Subagent |
2.3.4 (Stable) |
unsupported |
Exports the HPI API using the SAF SNMP MIBs. |
|
HPIView |
2.0 (Stable) |
unsupported |
OpenHPI GUI application based on GTK. |
|
Python Module |
1.1 (Stable) |
unsupported |
The HPI APIs ported to python and using the OpenHPI library. |
Note: Unsupported portions of the project may be quite out of date and would likely require work in order to function. If you are interested in one of these, please consider submitting patches or volunteering to maintain it. See Developers
Latest News
OpenHPI 3.5.0 has been released! (10/09/2014)
- Development release
- Changelog added to release
- Scripts/Files for new sourceforge
- Many bugfixes
Details can be found at the complete 3.5.0 changelog.
OpenHPI 3.4.0 has been released! (11/14/2013)
- Stable release
- uid_map file security fix
- Lot of bugfixes
Details can be found at the complete 3.4.0 changelog.
OpenHPI 3.2.1 has been released! (07/18/2013)
- Stable release
- Config file security fix
- Lot of bugfixes
Details can be found at the complete 3.2.1 changelog.
OpenHPI 3.2.0 has been released! (08/27/2012)
- Stable release
- hpi_shell for Windows
- Test Agent plug-in supports DIMI and FUMI
- Lot of bugfixes
Details can be found at the complete 3.2.0 changelog.
HpiBrowser 3.1.0 has been released! (05/21/2012)
- Windows support
- GUI for selecting HPI domain to connect
- Bugfixes
Details can be found at the complete 3.1.0 changelog.
OpenHPI 3.1.0 has been released! (05/01/2012)
- Base libraries for C#/Java/Python
- Lot of bugfixes
Details can be found at the complete 3.1.0 changelog.
OpenHPI 3.0.0 has been released! (10/17/2011)
- Documentation updates
- Bugfixes
Details can be found at the complete 3.0.0 changelog.
OpenHPI 2.17.0 has been released! (06/20/2011)
- Refactoring
- Windows support
- FreeBSD support
- IPv6 support
- New Test Agent plug-in
- New hpixml client
- More bugfixes and features
Details can be found at the complete 2.17.0 changelog.
OpenHPI 2.16.0 has been released! (02/23/2011)
- Documentation updates
- Re-issuing HPI call in case of broken connection (can happen for configuration with redundant OpenHPI daemons)
Details can be found at the complete 2.16.0 changelog.
OpenHPI for Windows One more Preview snapshot (01/16/2011)
- SVN trunk shapshot, revision 7245, at Jan 16, 2011
- Base Library, Clients, OpenHPI daemon as a console application and Slave plug-in
- Some guidance how to use it in README.windows file
- Library names do not contain version now. For example libopenhpi.dll
- Introduced two private side-by-side assemblies: for libraries and for plug-in
- Necessary glib libraries were included
OpenHPI for Windows One more Preview snapshot (01/08/2011)
- SVN trunk shapshot, revision 7239, at Jan 08, 2011
- Base Library, Clients, OpenHPI daemon as a console application and Slave plug-in
- Some guidance how to use it in README.windows file
OpenHPI for Windows Preview snapshot (12/18/2010)
- SVN trunk shapshot, revision 7209, at Dec 18, 2010
- Base Library and Clients
- Some guidance how to use it in README.windows file
OpenHPI 2.15.1 has been released! (12/13/2010)
- Development release
- Revisited OpenHPI API (oHpiXXX functions)
- Refactoring in marshal, utils and baselib
- Slave - new plug-in for representing resources and instruments from subsidiary OpenHPI daemon
- Bugfixes
Details can be found at the complete 2.15.1 changelog.
OpenHPI 2.15.1 is planned for December 2010 release
- Development release
- Revisited OpenHPI API (oHpiXXX functions)
- Refactoring in marshal, utils and baselib
- Slave - new plug-in for representing resources and instruments from subsidiary OpenHPI daemon
- Bugfixes
OpenHPI 2.15.0 has been released! (06/30/2010)
- Development release
- Improved build structure
- New power management controls for HP c-Class enclosures
- New dynamic simulator plugin
- Many enhancements to the OpenHPI clients
- Approximately 30 defects fixed
Details can be found at the complete 2.15.0 changelog.
OpenHPI 2.15.0 is targeting the week of June 28, 2010 for release
As of June 17, 2010, we are now in the release cycle for OpenHPI 2.15.0
- Only defects and very low-risk enhancements allowed during period of June 14 - June 25.
- Release is targeted for the week of June 28.
- This is a development release of OpenHPI and includes new features:
- * New dynamic simulator plug-in.
- * oa_soap plug-in enhancements for power management
- * Client enhancements for domain support
- * Build restructure
- * Defect fixes
OpenHPI 2.15.0 is tentatively planned for a mid-June/early-July 2010 release
Some planned features for this release:
- Build restructure (Anton Pak - Pigeon Point)
- oa_soap plugin power-management controls (Michael Bishop - HP)
- Possible new simulator plugin (Lars Wetzel - freelance developer)
- (Out: Marking the OpenIPMI plugin code as deprecated. Objection from Camiant.com - Shaheen Ali)
- Bug fixes
For other 2.15.0 features/enhancements - and to discuss the release schedule - please post on the developer's mailing list: openhpi-devel@lists.sourceforge.net
OpenHPI 2.14.1 has been released! (11/23/2009)
- Fixes to the OpenHPI Daemon and base library.
- Many bug fixes to the HPI Shell.
- Fixes for building on Solaris.
Fixes to the HP c-Class, HP ProLiant, IPMI Direct, and SNMP Client plug-ins.
- Numerous other bug fixes.
Details can be found at the complete 2.14.1 changelog.
OpenHPI 2.14.0 has been released! (04/16/2009)
- Content from development releases 2.13.0 through 2.13.3
- Many bug fixes to the HPI Shell.
- Fixes for building on Mandrivia.
- Numerous other bug fixes.
Details can be found at the complete 2.14.0 changelog.
OpenHPI 2.13.3 has been released! (02/24/2009)
- HPI-B.03.01 support.
- HPI Shell: Severity fix for announcements added to annunciators.
- OpenHPI Daemon: Hysteresis values are now validated correctly.
- Numerous bug fixes.
Details can be found at the complete 2.13.3 changelog.
OpenHPI 2.13.2 has been released! (1/16/2009)
- HP c-Class plugin: additional sensors.
- Resolved a compile problem on SPARC.
- Added hpi_shell command to obtain version information
- Numerous bug fixes
Details can be found at the complete 2.13.2 changelog.
OpenHPI 2.13.1 has been released! (11/19/2008)
- HP c-Class plugin: add underpinnings for additional management functions.
- Add man pages for sample openhpi applications.
- Fix domain ID reporting in redundant domains with multiple daemon connections.
- Fix installation of openhpid initscript.
- HPI Shell: fix closing session and data display.
Details can be found at the complete 2.13.1 changelog.
OpenHPI 2.13.0 has been released! (10/10/2008)
- HP c-class-Enhancement to add IO and Storage blade support.
- Enable redundant domains with multiple daemon connections.
- Add saHpiEventLogCapabilitiesGet to simulator plugin.
- Add entries for HP c-Class plugin pdf documents in Makefile.am.
- Support chage in the OA switchover behaviour.
Details can be found at the complete 2.13.0 changelog.
OpenHPI 2.12.0 has been released! (07/25/2008)
- Rollup development releases 2.11.0 through 2.11.3.
Add documentation for new ilo2_ribcl and oa_soap plugins HP ProLiant plugin
- Make use of common SSL code HP c-Class Plugin.
- Various bug fixes.
Details can be found at the complete 2.12.0 changelog.
OpenHPI 2.11.3 has been released! (06/25/2008)
- Add Dimis and Fumis to Simulator plugin.
- Fix invalid handling of ATCA Led Controls in Manual Mode, IPMI Direct plugin.
Details can be found at the complete 2.11.3 changelog.
OpenHPI 2.11.2 has been released! (05/26/2008)
- Important enhancements and many bug fixes to the HP c-Class plugin
- RTAS plugin build fixes
- Cross compilation build improvement regarding the number size checks.
- Obscure bug fixed in the daemon - affected ipmi plugin when it didn't find shelf manager initially
- Fixed persisted DAT issue - blank alarms
Details can be found at the complete 2.11.2 changelog.
OpenHPI 2.11.1 has been released! (04/22/2008)
This release adds the following highlighted features:
Addition of HP BladeSystem c-Class plugin
- Creates separate SSL support library for future modularity among plugins
- added SSL library initialization to HPI initializaion
Allows you to connect to multiple daemons from one client - The client library sees each daemon as a domain. This is in a beta state right now. To learn how to add domain/daemons or change the daemon used as the default domain, join the mailing list and ask us.
It also comes with quite a number of bug fixes. Take a look at the changelog for a complete list of bug fixes.
OpenHPI 2.10.2 has been released! (03/03/2008)
At long last the patch release to 2.10.1 has emerged! This release has been a while in the making since there were a series of tough bugs that needed fixing. A sack of bug fixes are part of 2.10.2 along with build fixes for the SPARC platform (thanks crinaldo!).
Following are some of the highlights:
- Various fixes to the rpm spec file thanks to reports on the mailing list
- Entity path related fixes to hpievents, hpi_shell, and hpipower.
- Many fixes to hpi_shell input mechanisms (thanks avpak!).
- Added missing sensor types to the utility library (thanks crinaldo!).
- IPMI Direct detection and hotswap fixes (by plugin mantainer, psangouard).
- Added transmission of missing hotswap event field (thanks martin_volf!).
- Fixed transmission of variable-length arrays from client to daemon (renierm).
- Much improved DIMI/FUMI support (thanks avpak!).
- Fixed saHpiControlSet() hang and param check (thanks shuah!).
Thanks to everyone else on the mailing list who reported bugs and provided patches.
Take a look at the changelog for a complete list of bug fixes.
OpenHPI 2.11.0 has been released (03/03/2008)
2.11.0 includes all of the fixes in 2.10.2 plus a few features. Mainly:
A new iLO2 RIBCL plug-in for managing HP ProLiant Rack Mount servers.
- Enhancements to hpi_shell including a command to reopen a session and to show a single inventory area (thanks to avpak).
- All HPI clients now report proper OpenHPI and SAF HPI version numbers to aid debugging of problems.
Further enhancements in the 2.11.x branch will bring better SSL support and the ability to connect to multiple daemons from one client.
Take a look at the changelog for a complete list of features and bug fixes.
OpenHPI 2.10.1 has been released (11/02/2007)
This release comes with several fixes to the build system, core library, plugins, and clients. Everyone already on 2.10, should upgrade to this latest version. Following, a summary of the most important bug fixes:
saHpiGetIdByEntityPath() now returns the InstrumentId
- Solaris patches - Various fixes to make OpenHPI build cleanly on Solaris
- OpenIPMI plugin - storing the cause of a hotswap state change in the proper event byte
- hpiel, and other clients, no longer abort (possibly with a core dump) when the daemon is not present, but exit gracefully.
- The pristine tarball and a distcleaned tree now match. Superfluous files have been eliminated from tarball.
The spec file no longer requires libsysfs < 2 as OpenHPI now builds against libsysfs 2 fine.
- Fixed the gcc version check, which now works on gcc 4.2.
Special thanks to crinaldo for the Solaris patches.
For a complete list of 2.10.1 bug fixes and features, take a look at the changelog.
PyOpenHPI 1.1 is released (09/28/07)
The python module for OpenHPI has been formally released on Sourceforge! After a long while of being in beta state and only available through the subversion repository, now you can download a stable tarball to play with.
In this first official release, the module now recognizes the following new APIs:
- saHpiResourceLoadIdGet
- saHpiResourceLoadIdSet
- saHpiGetIdByEntityPath
- saHpiGetChildEntityPath
- saHpiResourceFailedRemove
- saHpiEventLogCapabilitiesGet
- saHpiIdrFieldAddById
- saHpiIdrAreaAddById
- saHpiDimiInfoGet
- saHpiDimiTestInfoGet
- saHpiDimiTestReadinessGet
- saHpiDimiTestStart
- saHpiDimiTestCancel
- saHpiDimiTestStatusGet
- saHpiDimiTestResultsGet
- saHpiFumiSourceSet
- saHpiFumiSourceInfoValidateStart
- saHpiFumiSourceInfoGet
- saHpiFumiTargetInfoGet
- saHpiFumiBackupStart
- saHpiFumiBankBootOrderSet
- saHpiFumiBankCopyStart
- saHpiFumiInstallStart
- saHpiFumiUpgradeStatusGet
- saHpiFumiTargetVerifyStart
- saHpiFumiUpgradeCancel
- saHpiFumiRollback
- saHpiFumiActivate
Plus all the corresponding new structures and definitions.
OpenHPI 2.10.0 has been released (09/20/2007)
2.10 is the latest stable release. It contains implementation and entry points for all new APIs added in the B.02.01 specification. Also, all APIs have been revised and updated according to minor return code changes and additions in B.02.01. Following a complete list of the new implemented APIs:
- saHpiResourceLoadIdGet
- saHpiResourceLoadIdSet
- saHpiGetIdByEntityPath
- saHpiGetChildEntityPath
- saHpiResourceFailedRemove
- saHpiEventLogCapabilitiesGet
- saHpiIdrFieldAddById
- saHpiIdrAreaAddById
- saHpiDimiInfoGet
- saHpiDimiTestInfoGet
- saHpiDimiTestReadinessGet
- saHpiDimiTestStart
- saHpiDimiTestCancel
- saHpiDimiTestStatusGet
- saHpiDimiTestResultsGet
- saHpiFumiSourceSet
- saHpiFumiSourceInfoValidateStart
- saHpiFumiSourceInfoGet
- saHpiFumiTargetInfoGet
- saHpiFumiBackupStart
- saHpiFumiBankBootOrderSet
- saHpiFumiBankCopyStart
- saHpiFumiInstallStart
- saHpiFumiUpgradeStatusGet
- saHpiFumiTargetVerifyStart
- saHpiFumiUpgradeCancel
- saHpiFumiRollback
- saHpiFumiActivate
Other featured highlights incude:
- Basic support for MicroTCA in IPMIDirect plugin (psangouard)
- Compilation problems on Solaris were reported and fixed (crinaldo).
- Added recognition of a much larger set of manufacturer ids.
- Eliminated the need for plugins to implement/export get_event.
- Sysfs plugin now builds against libsysfs 1.x and 2.x.
- FRU resource can now report resource type failed events in addition to hotswap (psangouard).
Thanks again to everyone who reported bugs and patches!
For a complete list of 2.10.0 bug fixes and features, take a look at the changelog.
OpenHPI 2.9.3 has been released (08/27/2007)
This release contains various bug fixes mostly from the community, plus the start of the DIMI implementation. Following, some highlights:
- New APIs implemented in the last release are now callable in the daemon.
- Added saHpiDimiInfoGet() base implementation
- PICMG added to the list of known manufacturers recognized by oh_decode_manufacturerid()
- Created macro for calling plugin abi - This will help eliminate the redefining of abi functions before using them.
- Adjusted saHpiControlSet for handling INVALID_REQUEST. New return code with B.02.01.
- Added fan analog control to simulator plugin - For testing hpifan
Thanks to everyone who reported bugs and patches!
For a complete list of 2.9.3 bug fixes and features, take a look at the changelog.
OpenHPI 2.9.2 has been released (06/25/2007)
This release is the first to contain and use the new HPI B.02.01 header file. This header file is 100% backwards compatible with B.01.01. That means you can download 2.9.2 and run with it without concern. This release contains infrastructure implementation for the following new APIs:
- saHpiResourceLoadIdGet
- saHpiResourceLoadIdSet
- saHpiGetIdByEntityPath
- saHpiGetChildEntityPath
- saHpiResourceFailedRemove
- saHpiEventLogCapabilitiesGet
- saHpiIdrFieldAddById
- saHpiIdrAreaAddById
Users can now configure the default domain itself by using domain id 0 in the configuration file in order to have control over which entity paths can exist in the domain along with other domain capabilities.
The new APIs implementation is still in beta and not available in daemon mode. To build OpenHPI in non-daemon mode, use --disable-daemon during configure.
For a complete list of 2.9.2 bug fixes and features, take a look at the changelog.
OpenHPI 2.9.1 has been released (05/04/2007)
OpenHPI 2.9.1 is a development release. Our focus is to use the 2.9.x branch for implementing the HPI-B.02.01 specification relased earlier this year. 2.9.1 brings with it the following things on the road to achieve HPI-B.02.01 support:
Adpated return code changes from HPI B2 - The following APIs have either changed or clarified the return code logic in HPI B2:
- saHpiEventGet
- saHpiSensorThresholdsSet
- saHpiControlSet
- saHpiAnnunciatorGet
- saHpiAnnunciatorAdd
- saHpiEventLogEntryAdd
- saHpiEventLogClear
- saHpiEventLogTimeSet
- saHpiEventLogStateSet
- saHpiEventLogOverflowReset
- saHpiEventAdd
- saHpiAlarmGet
- saHpiAlarmAdd
- saHpiSensorEventMaskSet
- saHpiControlGet
- saHpiIdrFieldAdd
- saHpiIdrFieldSet
- saHpiAnnunciatorGet
- saHpiAnnunciatorAdd
- saHpiResourceResetStateSet
HPI Alarms - Using the sensor enable change events also to detect proper alarm removals.
Added man page documentation for the OpenHPI daemon (openhpid)
BladeCenter plugin - Added resource firmware inventory data as Product Info
Fixed bug to prevent discovery from running on a failed plugin.
For a complete list of 2.9.1 bug fixes and features, take a look at the changelog.
OpenHPI 2.8.1 has been released (02/26/2007)
OpenHPI 2.8.1 is a patch release including about ten bugfixes of which the most important are:
Daemon will no longer shutdown if no plugins loaded at startup
Memory leak fixes in the entity path utilities and blade center plugin
Adjustmenst for Daylight Savings in the BladeCenter plugin
Fixes to the spec file for older version of rpm and 64bit platforms
Possible array out of bounds condition fixed in IPMI plugin
For a complete list of 2.8.1 bugs, take a look at the changelog.
OpenHPI 2.8.0 has been released (01/26/2007)
2.8.0 is now the latest OpenHPI stable release. Following, the highlights:
Much improved rpm spec file - 'make rpm' from the source tree won't require root access anymore. RPMs are created per plugin isolating specific plugin dependencies. Plugin rpms only created depending on configure enable/disable parameters. Tailored to be 64bit platform friendly.
BladeCenter plugin improvement - Better event log time handling
Documentation installation issues resolved - README installation and sgml documentation problems have been fixed.
Conformance bugs fixed - several HPI conformance bugs discussed on the mailing list were fixed.
- ...lots of other bug fixes
For a complete list of 2.8.0 bugs and features, take a look at the changelog.