|
Packit |
db01ca |
This is an implementation of the Service Availability Forum's
|
|
Packit |
db01ca |
Hardware Platform Interface B.03 specification.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
The following components are supported:
|
|
Packit |
db01ca |
* OpenHPI base library
|
|
Packit |
db01ca |
* OpenHPI utility functions
|
|
Packit |
db01ca |
* OpenHPI Daemon
|
|
Packit |
db01ca |
* HPI Client programs and HPI shell
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
* Simulator Plugin
|
|
Packit |
db01ca |
* Dynamic Simulator Plugin
|
|
Packit |
db01ca |
* Slave Plugin
|
|
Packit |
db01ca |
* Test Agent Plugin
|
|
Packit |
db01ca |
* IMPI Direct Plugin
|
|
Packit |
db01ca |
* SNMP BladeCenter/RSA Plugin
|
|
Packit |
db01ca |
* iLO2 RIBCL Plugin
|
|
Packit |
db01ca |
* SOAP/XML BladeSystem c-Class Plugin
|
|
Packit |
db01ca |
* Oneview/REST Synergy Plugin
|
|
Packit |
db01ca |
* rtas Plugin
|
|
Packit |
db01ca |
* sysfs Plugin
|
|
Packit |
db01ca |
* watchdog Plugin
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Feedback, as always, is welcome and encouraged:
|
|
Packit |
db01ca |
openhpi-devel@lists.sourceforge.net
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
PREREQUISITES
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
The following software is required to build openhpi
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
autoconf >= 2.57
|
|
Packit |
db01ca |
automake >= 1.8
|
|
Packit |
db01ca |
gcc >= 3.2.0
|
|
Packit |
db01ca |
glib2 >= 2.12
|
|
Packit |
db01ca |
gcrypt >= 1.4
|
|
Packit |
db01ca |
pkgconfig (may be called pkg-config depending on distro)
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
The follow libraries are needed to build certain plugins
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
sysfs plugin
|
|
Packit |
db01ca |
libsysfs =< 1.3
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
snmp_bc plugin
|
|
Packit |
db01ca |
net-snmp >= 5.07
|
|
Packit |
db01ca |
libuuid (may be found in e2fsprogs or libuuid depending on distro)
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
oa_soap plugin
|
|
Packit |
db01ca |
libssl >= 0.9.7
|
|
Packit |
db01ca |
libxml2
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
ov_rest plugin
|
|
Packit |
db01ca |
librabbitmq >= 0.8.0
|
|
Packit |
db01ca |
json-c-devel
|
|
Packit |
db01ca |
libcurl-devel
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
ipmi plugin
|
|
Packit |
db01ca |
OpenIPMI >= 1.4.20 (http://openipmi.sf.net)
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
RPM BUILD NOTE
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
The library libuuid.so can be provided with e2fsprogs RPM
|
|
Packit |
db01ca |
or with libuuid RPM.
|
|
Packit |
db01ca |
And the header file uuid.h can be provided with
|
|
Packit |
db01ca |
e2fsprogs-devel RPM or with libuuid-devel RPM
|
|
Packit |
db01ca |
correspondingly.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
The default RPM spec for openhpi is configured for the
|
|
Packit |
db01ca |
first case libuuid/libuuid-devel.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
If your distribution falls into the second case just
|
|
Packit |
db01ca |
change uuid_provider in openhpi.spec.in before
|
|
Packit |
db01ca |
running ./configure script.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
BUILD / INSTALLATION
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
FOR RELEASED TARBALLS
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Use standard UNIX mechanisms:
|
|
Packit |
db01ca |
./configure && make && make install
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Note: by default all plugins that *can* be built, will be built, all
|
|
Packit |
db01ca |
other plugins will be silently disabled.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
If you wish to disable a plugin, any flags you pass to configure
|
|
Packit |
db01ca |
will be passed to the configure program.
|
|
Packit |
db01ca |
("./configure --help" for more info on the options)
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
i.e. ./configure --disable-simulator will disable the simulator plugin
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Note that for a production-type installation you will want to pass
|
|
Packit |
db01ca |
the following options at the least:
|
|
Packit |
db01ca |
./configure --prefix=/usr --sysconfdir=/etc --with-varpath=/var/lib/openhpi
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
then
|
|
Packit |
db01ca |
make (or make rpm, but you will need to be root on some distros.)
|
|
Packit |
db01ca |
and then (as root or with proper system install permissions)
|
|
Packit |
db01ca |
make install (or install from the rpm).
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
It will install the openhpi library, enabled plug-ins and sample
|
|
Packit |
db01ca |
applications that uses the library and plug-ins.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
NOTE: Modify the configuration file, openhpi.conf, for your needs.
|
|
Packit |
db01ca |
This will be in ${sysconfdir}/openhpi/openhpi.conf, where $sysconfdir is
|
|
Packit |
db01ca |
${prefix}/etc by default (and ${prefix} is /usr/local by default) unless
|
|
Packit |
db01ca |
you set $sysconfdir when you ran ./configure as shown above.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
FOR SUBVERSION EXTRACTS
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
svn export https://svn.code.sf.net/p/openhpi/code/openhpi/trunk mydir
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
It will extract OpenHPI trunk to mydir.
|
|
Packit |
db01ca |
First time after extracting the code:
|
|
Packit |
db01ca |
run ./bootstrap
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
This will generate the configure script and all files needed by it.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Then, use the instructions provided for RELEASED TARBALLS
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
CLEANUP
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
To remove the temporary build files, type:
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
make clean
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
If you are a maintainer, and need to remove all autogenerated files, type:
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
make clean
|
|
Packit |
db01ca |
make maintainer-clean
|
|
Packit |
db01ca |
(will neeed to run bootstrap and configure again after that)
|
|
Packit |
db01ca |
If bootstrap is not present (tarball does not contain it), download it using
|
|
Packit |
db01ca |
svn export http://svn.code.sf.net/p/openhpi/code/openhpi/tags/$rtag/bootstrap .
|
|
Packit |
db01ca |
($rtag is release version, for example 3.6.0)
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
Active Plug-ins
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
simulator - plugin for simple testing. It uses a static database
|
|
Packit |
db01ca |
for hardware configuration.
|
|
Packit |
db01ca |
dynamic_simulator - plugin for advanced testing. It uses a configuration file
|
|
Packit |
db01ca |
to simulate any hardware.
|
|
Packit |
db01ca |
slave - allows to aggregate resources from different domains (slave domains)
|
|
Packit |
db01ca |
and to provide aggregated resources as part of the one domain (master domain).
|
|
Packit |
db01ca |
test_agent - plugin for advanced testing. Provides console for runtime configuration.
|
|
Packit |
db01ca |
ipmidirect - IPMI plugin that directly uses ipmi protocol to ipmi
|
|
Packit |
db01ca |
infrastructure, e.g. chassis managers.
|
|
Packit |
db01ca |
snmp_bc - IBM BladeCenter/RSA plugin (uses snmp)
|
|
Packit |
db01ca |
ilo2_ribcl - HP ProLiant Rack Mount Server plug-in
|
|
Packit |
db01ca |
oa_soap - HP BladeSystem c-Class plugin
|
|
Packit |
db01ca |
ov_rest - HPE Synergy plugin
|
|
Packit |
db01ca |
rtas - Run-Time Abstraction Services (RTAS) plug-in
|
|
Packit |
db01ca |
sysfs - Linux sysfs plugin (LM sensors and I2C devices exported in
|
|
Packit |
db01ca |
sysfs requires kernel 2.6 or >= 2.5.72)
|
|
Packit |
db01ca |
watchdog - Linux watchdog device interface
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
For information on recent changes, see the changelogs at
|
|
Packit |
db01ca |
http://openhpi.org
|
|
Packit |
db01ca |
http://openhpi.sf.net
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
CLIENT PROGRAMS
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Openhpi provides a set of client programs, that can be use as examples for
|
|
Packit |
db01ca |
typical HPI usage. They also help testing when invoked from a command line,
|
|
Packit |
db01ca |
or could even be called by applications.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
The hpi_shell provides are command shell for calling HPI functions
|
|
Packit |
db01ca |
interactively.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
The following client programs are provided:
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
hpialarms - show Alarm Control management instruments.
|
|
Packit |
db01ca |
hpicrypt - Encrypt or decrypt a file. Back up the file to a secure
|
|
Packit |
db01ca |
location before encrypting the file.
|
|
Packit |
db01ca |
hpidomain - show information about domains or set the domain tag.
|
|
Packit |
db01ca |
hpiel - displays HPI event log entries
|
|
Packit |
db01ca |
hpievents - polls for events
|
|
Packit |
db01ca |
hpifan - show Fan Control management instruments
|
|
Packit |
db01ca |
hpigensimdata - generate data file for dynamic simulator plugin
|
|
Packit |
db01ca |
hpiinv - show inventory records for hardware resources
|
|
Packit |
db01ca |
hpionIBMblade - display and manage resources of an IBM Blade with
|
|
Packit |
db01ca |
Basedboard Management Controller (BMC)
|
|
Packit |
db01ca |
hpipower - Invoke HPI Power Management APIs
|
|
Packit |
db01ca |
hpireset - Invoke HPI Reset Management APIs
|
|
Packit |
db01ca |
hpisensor - display sensor info for all resources with Sensor Capability
|
|
Packit |
db01ca |
hpisettime - Invoke Event Log clock APIs.
|
|
Packit |
db01ca |
hpithres - display sensor thresholds and sensor info.
|
|
Packit |
db01ca |
hpitop - display highlevel topology for a managed openHPI complex.
|
|
Packit |
db01ca |
hpitree - show in details the resources (rpt's) and resources'
|
|
Packit |
db01ca |
management instruments (rdr's) data structures
|
|
Packit |
db01ca |
hpiwdt - read and enables the watchdog timer.
|
|
Packit |
db01ca |
hpixml - display system view in XML
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
ohdomainlist - show information about domains on the level of the openhpi
|
|
Packit |
db01ca |
base library
|
|
Packit |
db01ca |
ohhandler - uses the openhpi additional interfaces to control openhpi
|
|
Packit |
db01ca |
configuration. That is plugins can be loaded, plugin instances
|
|
Packit |
db01ca |
(handlers) created, unloaded or their configuration displayed.
|
|
Packit |
db01ca |
ohparam - control openhpi configuration parameters
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
hpi_shell - allows a user to interactively perform a number of HPI
|
|
Packit |
db01ca |
operations in a command shell with prompting.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
HPI EXTENSIONS
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
OpenHPI provides a small set of functions in addition to the SAF standard.
|
|
Packit |
db01ca |
Mainly they are needed because of the OpenHPI architecture:
|
|
Packit |
db01ca |
- manage plugins
|
|
Packit |
db01ca |
- manage OpenHPI configuration dynamically
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
* oHpiVersionGet
|
|
Packit |
db01ca |
* oHpiHandlerCreate
|
|
Packit |
db01ca |
* oHpiHandlerDestroy
|
|
Packit |
db01ca |
* oHpiHandlerInfo
|
|
Packit |
db01ca |
* oHpiHandlerGetNext
|
|
Packit |
db01ca |
* oHpiHandlerFind
|
|
Packit |
db01ca |
* oHpiHandlerRetry
|
|
Packit |
db01ca |
* oHpiGlobalParamGet
|
|
Packit |
db01ca |
* oHpiGlobalParamSet
|
|
Packit |
db01ca |
* oHpiInjectEvent
|
|
Packit |
db01ca |
* oHpiDomainAdd
|
|
Packit |
db01ca |
* oHpiDomainAddById
|
|
Packit |
db01ca |
* oHpiDomainEntryGet
|
|
Packit |
db01ca |
* oHpiDomainEntryGetByDomainId
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Please find more information in the inline documentation in files:
|
|
Packit |
db01ca |
include/oHpi.h - function declarations
|
|
Packit |
db01ca |
baselib/ohpi.c - function implementation in Base Library
|
|
Packit |
db01ca |
openhpid/ohpi.c - function implementation in OpenHPI Daemon
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
FOR MORE INFO
|
|
Packit |
db01ca |
---------------------------------------------------------
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Please refer also to README.daemon and README.windows.
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Please find more documentation in the docs subdirectory and in the
|
|
Packit |
db01ca |
man pages (openhpi, openhpid, clients).
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
For more information please see the project webiste at:
|
|
Packit |
db01ca |
http://openhpi.org
|
|
Packit |
db01ca |
http://openhpi.sourceforge.net
|
|
Packit |
db01ca |
|
|
Packit |
db01ca |
Also visit SAForum's website at http://www.saforum.org
|