-
Notifications
You must be signed in to change notification settings - Fork 10
/
README
252 lines (199 loc) · 8.74 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
This is an implementation of the Service Availability Forum's
Hardware Platform Interface B.03 specification.
The following components are supported:
* OpenHPI base library
* OpenHPI utility functions
* OpenHPI Daemon
* HPI Client programs and HPI shell
* Simulator Plugin
* Dynamic Simulator Plugin
* Slave Plugin
* Test Agent Plugin
* IMPI Direct Plugin
* SNMP BladeCenter/RSA Plugin
* iLO2 RIBCL Plugin
* SOAP/XML BladeSystem c-Class Plugin
* Oneview/REST Synergy Plugin
* rtas Plugin
* sysfs Plugin
* watchdog Plugin
Feedback, as always, is welcome and encouraged:
---------------------------------------------------------
PREREQUISITES
---------------------------------------------------------
The following software is required to build openhpi
autoconf >= 2.57
automake >= 1.8
gcc >= 3.2.0
glib2 >= 2.12
gcrypt >= 1.4
pkgconfig (may be called pkg-config depending on distro)
The follow libraries are needed to build certain plugins
sysfs plugin
libsysfs =< 1.3
snmp_bc plugin
net-snmp >= 5.07
libuuid (may be found in e2fsprogs or libuuid depending on distro)
oa_soap plugin
libssl >= 0.9.7
libxml2
ov_rest plugin
librabbitmq >= 0.8.0
json-c-devel
libcurl-devel
ipmi plugin
OpenIPMI >= 1.4.20 (http://openipmi.sf.net)
---------------------------------------------------------
RPM BUILD NOTE
---------------------------------------------------------
The library libuuid.so can be provided with e2fsprogs RPM
or with libuuid RPM.
And the header file uuid.h can be provided with
e2fsprogs-devel RPM or with libuuid-devel RPM
correspondingly.
The default RPM spec for openhpi is configured for the
first case libuuid/libuuid-devel.
If your distribution falls into the second case just
change uuid_provider in openhpi.spec.in before
running ./configure script.
---------------------------------------------------------
BUILD / INSTALLATION
---------------------------------------------------------
FOR RELEASED TARBALLS
Use standard UNIX mechanisms:
./configure && make && make install
Note: by default all plugins that *can* be built, will be built, all
other plugins will be silently disabled.
If you wish to disable a plugin, any flags you pass to configure
will be passed to the configure program.
("./configure --help" for more info on the options)
i.e. ./configure --disable-simulator will disable the simulator plugin
Note that for a production-type installation you will want to pass
the following options at the least:
./configure --prefix=/usr --sysconfdir=/etc --with-varpath=/var/lib/openhpi
then
make (or make rpm, but you will need to be root on some distros.)
and then (as root or with proper system install permissions)
make install (or install from the rpm).
It will install the openhpi library, enabled plug-ins and sample
applications that uses the library and plug-ins.
NOTE: Modify the configuration file, openhpi.conf, for your needs.
This will be in ${sysconfdir}/openhpi/openhpi.conf, where $sysconfdir is
${prefix}/etc by default (and ${prefix} is /usr/local by default) unless
you set $sysconfdir when you ran ./configure as shown above.
FOR SUBVERSION EXTRACTS
svn export https://svn.code.sf.net/p/openhpi/code/openhpi/trunk mydir
It will extract OpenHPI trunk to mydir.
First time after extracting the code:
run ./bootstrap
This will generate the configure script and all files needed by it.
Then, use the instructions provided for RELEASED TARBALLS
---------------------------------------------------------
CLEANUP
---------------------------------------------------------
To remove the temporary build files, type:
make clean
If you are a maintainer, and need to remove all autogenerated files, type:
make clean
make maintainer-clean
(will neeed to run bootstrap and configure again after that)
If bootstrap is not present (tarball does not contain it), download it using
svn export http://svn.code.sf.net/p/openhpi/code/openhpi/tags/$rtag/bootstrap .
($rtag is release version, for example 3.6.0)
---------------------------------------------------------
Active Plug-ins
---------------------------------------------------------
simulator - plugin for simple testing. It uses a static database
for hardware configuration.
dynamic_simulator - plugin for advanced testing. It uses a configuration file
to simulate any hardware.
slave - allows to aggregate resources from different domains (slave domains)
and to provide aggregated resources as part of the one domain (master domain).
test_agent - plugin for advanced testing. Provides console for runtime configuration.
ipmidirect - IPMI plugin that directly uses ipmi protocol to ipmi
infrastructure, e.g. chassis managers.
snmp_bc - IBM BladeCenter/RSA plugin (uses snmp)
ilo2_ribcl - HP ProLiant Rack Mount Server plug-in
oa_soap - HP BladeSystem c-Class plugin
ov_rest - HPE Synergy plugin
rtas - Run-Time Abstraction Services (RTAS) plug-in
sysfs - Linux sysfs plugin (LM sensors and I2C devices exported in
sysfs requires kernel 2.6 or >= 2.5.72)
watchdog - Linux watchdog device interface
For information on recent changes, see the changelogs at
http://openhpi.org
http://openhpi.sf.net
---------------------------------------------------------
CLIENT PROGRAMS
---------------------------------------------------------
Openhpi provides a set of client programs, that can be use as examples for
typical HPI usage. They also help testing when invoked from a command line,
or could even be called by applications.
The hpi_shell provides are command shell for calling HPI functions
interactively.
The following client programs are provided:
hpialarms - show Alarm Control management instruments.
hpicrypt - Encrypt or decrypt a file. Back up the file to a secure
location before encrypting the file.
hpidomain - show information about domains or set the domain tag.
hpiel - displays HPI event log entries
hpievents - polls for events
hpifan - show Fan Control management instruments
hpigensimdata - generate data file for dynamic simulator plugin
hpiinv - show inventory records for hardware resources
hpionIBMblade - display and manage resources of an IBM Blade with
Basedboard Management Controller (BMC)
hpipower - Invoke HPI Power Management APIs
hpireset - Invoke HPI Reset Management APIs
hpisensor - display sensor info for all resources with Sensor Capability
hpisettime - Invoke Event Log clock APIs.
hpithres - display sensor thresholds and sensor info.
hpitop - display highlevel topology for a managed openHPI complex.
hpitree - show in details the resources (rpt's) and resources'
management instruments (rdr's) data structures
hpiwdt - read and enables the watchdog timer.
hpixml - display system view in XML
ohdomainlist - show information about domains on the level of the openhpi
base library
ohhandler - uses the openhpi additional interfaces to control openhpi
configuration. That is plugins can be loaded, plugin instances
(handlers) created, unloaded or their configuration displayed.
ohparam - control openhpi configuration parameters
hpi_shell - allows a user to interactively perform a number of HPI
operations in a command shell with prompting.
---------------------------------------------------------
HPI EXTENSIONS
---------------------------------------------------------
OpenHPI provides a small set of functions in addition to the SAF standard.
Mainly they are needed because of the OpenHPI architecture:
- manage plugins
- manage OpenHPI configuration dynamically
* oHpiVersionGet
* oHpiHandlerCreate
* oHpiHandlerDestroy
* oHpiHandlerInfo
* oHpiHandlerGetNext
* oHpiHandlerFind
* oHpiHandlerRetry
* oHpiGlobalParamGet
* oHpiGlobalParamSet
* oHpiInjectEvent
* oHpiDomainAdd
* oHpiDomainAddById
* oHpiDomainEntryGet
* oHpiDomainEntryGetByDomainId
Please find more information in the inline documentation in files:
include/oHpi.h - function declarations
baselib/ohpi.c - function implementation in Base Library
openhpid/ohpi.c - function implementation in OpenHPI Daemon
---------------------------------------------------------
FOR MORE INFO
---------------------------------------------------------
Please refer also to README.daemon and README.windows.
Please find more documentation in the docs subdirectory and in the
man pages (openhpi, openhpid, clients).
For more information please see the project webiste at:
http://openhpi.org
http://openhpi.sourceforge.net
Also visit SAForum's website at http://www.saforum.org