Blame README

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