1 h.sterling 1.9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
|
4 dave.sudlik 1.10 <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
5 <meta name="ProgId" content="FrontPage.Editor.Document">
6 <meta http-equiv="Content-Type"
7 content="text/html; charset=windows-1252">
8 <title>OpenPegasus</title>
|
9 h.sterling 1.9 </head>
10 <body>
11 <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
|
12 dave.sudlik 1.10 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 235<br>
13 </p>
14 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
15 Version 2.5 Release Readme file</p>
|
16 h.sterling 1.9 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span
|
17 dave.sudlik 1.10 style="color: rgb(0, 0, 0);">1.4<br>
18 </span></p>
19 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 6 Sept
20 2005</p>
21 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren
22 Grunbok<br>
23 </p>
|
24 h.sterling 1.9 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status: </b>draft</p>
25 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
|
26 dave.sudlik 1.10 <table bordercolordark="#666666" bordercolorlight="#cccccc"
27 style="font-family: Arial;" border="1" cellspacing="1" width="100%">
28 <tbody>
29 <tr>
30 <th bgcolor="#cae6ca">Version</th>
31 <th bgcolor="#cae6ca">Date</th>
32 <th bgcolor="#cae6ca">Author</th>
33 <th bgcolor="#cae6ca">Change Description</th>
34 </tr>
35 <tr>
36 <td align="center">1.0</td>
37 <td align="center">5, Sept 2005</td>
38 <td align="center">Warren Grunbok<br>
39 </td>
40 <td>Initial draft<br>
41 </td>
42 </tr>
43 <tr>
44 <td style="vertical-align: top; text-align: center;">1.1<br>
45 </td>
46 <td style="vertical-align: top; text-align: center;"> 13,
47 dave.sudlik 1.10 Sept 2005<br>
48 </td>
49 <td style="vertical-align: top; text-align: center;">Warren
50 Grunbok/Roger Kumpf<br>
51 </td>
52 <td style="vertical-align: top; text-align: center;">Updates
53 based on Architecture team review<br>
54 </td>
55 </tr>
56 <tr>
57 <td style="vertical-align: top;">1.2<br>
58 </td>
59 <td style="vertical-align: top;">22, Sept 2005<br>
60 </td>
61 <td style="vertical-align: top;">Warren Grunbok<br>
62 </td>
63 <td style="vertical-align: top;">Updates from posted comments to
64 1.1<br>
65 </td>
66 </tr>
67 <tr>
68 dave.sudlik 1.10 <td style="vertical-align: top; color: rgb(0, 0, 0);">1.3<br>
69 </td>
70 <td style="vertical-align: top; color: rgb(0, 0, 0);">22,Sept 2005<br>
71 </td>
72 <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren
73 Grunbok<br>
74 </td>
75 <td style="vertical-align: top; color: rgb(0, 0, 0);">changed _
76 to - <br>
77 </td>
78 </tr>
79 <tr>
80 <td style="vertical-align: top;">1.4<br>
81 </td>
82 <td style="vertical-align: top;">26, Sept 2005<br>
83 </td>
84 <td style="vertical-align: top;">Warren Grunbok/Dave Sudlik<br>
85 </td>
86 <td style="vertical-align: top;">Cleanup on example lists<br>
87 </td>
88 </tr>
89 dave.sudlik 1.10 </tbody>
|
90 h.sterling 1.9 </table>
91 <hr>
|
92 dave.sudlik 1.10 <p><b>Abstract:</b> Installation, build, operation information on
93 the OpenPegasus Version 2.5.0 Release. Note that if this readme
94 conflicts with the documentation in the release notes or interface
95 definition documents for a particular release, those documents should
96 be considered authorative. This is a simplified overview to act as an
97 introduction to OpenPegasus.</p>
|
98 h.sterling 1.9 <hr>
|
99 dave.sudlik 1.10 <p align="center"><b><font size="5">OpenPegasus - A Manageability
100 Services Broker for the DMTF CIM/WBEM Standards
101 </font></b></p>
102 <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
103 DMTF CIM objects written in C++
104 and hosted by The Open Group </p>
105 <p align="left">
106 <b>STATUS:</b> Revised Sept 2005 for Pegasus release version
107 2.5.0
108 - Draft<br>
109 </p>
110 <a href="#Overview">Overview</a>
111 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
112 href="#avail_of_peg">Availability of Pegasus</a><br>
|
113 h.sterling 1.9 <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
114 <a href="#peg_dep">Pegasus Dependencies</a><br>
|
115 dave.sudlik 1.10 <a href="#peg_dir_struc"></a><a href="#cmnd">Commands</a><br>
|
116 h.sterling 1.9 <a href="#docs">Documentation</a><br>
|
117 dave.sudlik 1.10 <a href="#part">How to Participate</a><br>
|
118 h.sterling 1.9 </blockquote>
|
119 dave.sudlik 1.10 <a href="#inst_peg">Install Pegasus</a>
120 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a
121 href="#download">Download or checkout Pegasus</a><br>
122 <a href="#vfy_req_sw">Verify that you have the required
123 software</a><br>
|
124 h.sterling 1.9 <a href="#set_envt_var">Set the environment variables</a><br>
|
125 dave.sudlik 1.10 <a href="#bld">Build the Pegasus runtime, test files, test clients,
126 and repository</a><br>
|
127 h.sterling 1.9 <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
128 <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
|
129 dave.sudlik 1.10 <a href="#note_bld_peg_lnx">Notes
130 about Building Pegasus on Linux</a><br>
|
131 h.sterling 1.9 <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br>
|
132 dave.sudlik 1.10 <a href="#bld_peg_win">Building
133 Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>
134 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
135 href="#mu_utility">The MU Utility</a><br>
136 </blockquote>
|
137 h.sterling 1.9 </blockquote>
|
138 dave.sudlik 1.10 <a href="#test">Test the Pegasus installation</a><br>
139 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
140 href="#test_icu">Testing with ICU enabled</a><br>
|
141 h.sterling 1.9 </blockquote>
142 <hr>
143 <h1><a name="Overview">Overview</a> </h1>
|
144 dave.sudlik 1.10 <b>OpenPegasus (also referred to as Pegasus):</b>
145 Pegasus is an open-source CIM Server for DMTF CIM objects. It is
146 written
147 in C++ and includes the Object manager (CIMOM), a set of defined
148 interfaces, an implementation of the CIMOperations over HTTP operations
149 and their cimxml HTTP encodings, and Interface libraries
150 for both client and providers. It is maintained
151 consistent with the DMTF CIM and WBEM specifications except for
152 exceptions
153 noted in the documentation.<br>
154 <br>
155 <span class="norm"></span>OpenPegasus includes components for: <br>
156 <ol>
157 <li>DMTF compliant CIMServer that processes CIM operations, CIM
158 Indications, and
159 includes class and instance repositories and interfaces for creating
160 CIM
161 Providers and CIM Clients.</li>
162 <li>Provider interfaces so that providers may be build in multiple
163 languages (i.e.
164 C++, C, Java).</li>
165 dave.sudlik 1.10 <li>A number of CIM providers.</li>
166 <li>A mof compiler.</li>
167 <li>A number of CIM CLients to provide usage examples, CIMServer
168 test functions,
169 and administration functions.</li>
170 <li>More complete information on the exact functions
171 and their functional state is available from the release notes for each
172 OpenPegasus release.</li>
173 </ol>
174 OpenPegasus is open source and is covered under the MIT open-source
175 license.
176 <p>OpenPegasus is being developed and maintained under the auspices of
177 The
178 Open
179 Group. OpenPegasus is maintained under the license defined in the
180 doc
181 directory of this release. The specific file is: <font
182 style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.
183 This licensing is intended to support as
184 wide a
185 distribution as possible with minimal demands on the users.
186 dave.sudlik 1.10 </p>
187 <p>More information on this project, access to the CVS, and
188 documentation on
189 Pegasus are available from the OpenGroup WEB site.
190 </p>
191 <p> <a target="blank"
192 href="http://www.openpegasus.org/">http://www.openpegasus.org</a></p>
|
193 h.sterling 1.9 <h2><a name="avail_of_peg">Availability of Pegasus</a></h2>
|
194 dave.sudlik 1.10 <h2></h2>
195 <h2></h2>
196 <ol>
197 Pegasus can be obtained via any of the following:<br>
198 <ol>
199 <li>Released tarballs (see <a
200 href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=392">Relase
201 tarballs link</a>)</li>
202 <li>CVS (See <a
203 href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=667">CVS
204 code repository</a> for
205 more information.)</li>
206 <li>Linux RPMs. See
207 (<a
208 href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=667">RPM
209 link</a> for
210 more information
211 )</li>
212 </ol>
213 </ol>
214 <p>NOTE: The Linux RPM reference is for 2.4.1 because that is all we
215 dave.sudlik 1.10 have. We
216 need a general page to get to the RPMs, not one per release.
217 </p>
218 <p>Pegasus is distributed as open source under the MIT open-source
219 license. The distribution is available via CVS and snapshot images in
220 tar and zip file formats on the web site.
221 The source code from CVS can be found at the following Open Group CVS
222 server;
223 </p>
224 <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
225 write accounts are managed by Martin Kirk of The Open Group </font>
226 (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)
227 </p>
228 <br>
|
229 h.sterling 1.9 <h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2>
|
230 dave.sudlik 1.10 <p>
231 Pegasus is regularly tested against a variety of platforms by the
232 development group. The results of the nightly tests can be found
233 here: <a
234 href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
235 test status</a> . The Release notes provides additional details
236 regarding the platforms. <a
237 href="http://www.openpegasus.org/pp/protected/revdoc.tpl?CALLER=revdocuments.tpl&grid=1692">
238 PEP 230</a> is the release notes PEP for 2.5.<br>
239 </p>
|
240 h.sterling 1.9 <h2><a name="peg_dep">Pegasus Dependencies</a></h2>
|
241 dave.sudlik 1.10 <p>
242 We have worked to minimize the dependence of Pegasus on other software
243 packages and tools. Currently Pegasus has the following dependencies:
244 </p>
245 <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
246 multiple platforms we
247 have standardized on a set of build tools including: GNUMAKE. We are
248 using GNUMAKE 3.79.1 successfully both in Windows and Linux
249 environments.
250 </p>
|
251 h.sterling 1.9 <p>GNUMAKE is available from :</p>
|
252 dave.sudlik 1.10 <p> <a target="blank"
253 href="http://www.gnu.org/">http://www.gnu.org</a>
254 </p>
255 <b>2. FLEX and BISON</b> - These tools were used to develop the
256 MOF
257 compiler and WQL
258 parser. <span class="norm"></span><font
259 style="color: rgb(0, 0, 0);">These tools are required only for
260 development of the parsers, not for building Pegasus.</font>
261 <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
262 combination of text files
263 and the Pegasus header files themselves. This documentation is
264 formatted with DOC++ and GAWK. <span class="norm"></span><font
265 style="color: rgb(0, 0, 0);">These tools are required to build the
266 interface documentation set.</font>
267 </p>
268 <p><b>4. ICU Internationalization libraries</b> - These libraries are
269 used as the basis for message catalogs for message
270 internationalization. See the ICU website
271 (http://oss.software.ibm.com/icu/) for more information on these
272 libraries</p>
273 dave.sudlik 1.10 <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
274 is intended to use SSL on the
275 communication protocol, the OpenSSL libraries are required.<br>
276 </p>
277 <p> NOTE: A set of the required
278 tools for windows platforms is available on the openpegasus web
279 site. <a href="../Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
280 <h1><a name="cmnd">Commands</a></h1>
281 <p>
282 The manpages for each of the commands are in rpm/manLinux/man1.Z
283 directory (on CVS) </p>
284 <p>To see simple help for each of the commands, use the "--help" flag. </p>
285 <span style="font-family: times new roman;">Here is a list of useful
286 commands:<br>
287 <br style="font-weight: bold;">
288 </span><span style="font-weight: bold;" class="norm"></span><span
289 style="font-family: times new roman; font-weight: bold;"><span
290 class="norm"></span></span><span style="font-weight: bold;">Some of
291 the basic commands:</span>
|
292 h.sterling 1.9 <br>
|
293 dave.sudlik 1.10 NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
294 for
295 more information about administering the Pegasus CIMServer.<br>
|
296 h.sterling 1.9 <ul>
|
297 dave.sudlik 1.10 <li>cimserver daemon=true (Start the server
298 cimserver)</li>
299 <li>cimserver -s (Shuts down the cimserver)</li>
300 <li>cimserver traceLevel=4 traceComponents=ALL (Starts server
301 with
302 config flags)</li>
303 <li>cimprovider -l -s (Lists providers and their status)</li>
304 <li>cimprovider -e -m OperatingSystemModule (Enables the
305 OperatingSystem provider)</li>
306 <li>cimuser -a -u guest _w <ThePassword> (Adds the user <span
307 style="font-style: italic;">guest</span> with specified password)<br>
|
308 h.sterling 1.9 </li>
|
309 dave.sudlik 1.10 <li>cimuser -l (Lists the users )<br>
|
310 h.sterling 1.9 </li>
|
311 dave.sudlik 1.10 </ul>
312 Note: there are some differences between windows and other
313 platforms in
314 starting the server as a daemon/service. Whereas most supported
315 platforms use
316 the configuration option daemon to start the server as a service, on
317 windows it
318 must be specifically installed as a service (ex. cimserver -install)
319 and then
320 started as a service (cimserver -start). The cimserver --h option
321 explains the
322 exact format of the start and stop options.<br
323 style="color: rgb(0, 0, 0);">
324 <font><font color="RED"><br
325 style="color: rgb(0, 0, 0); font-weight: bold;">
326 <span style="color: rgb(0, 0, 0); font-weight: bold;">Makefile commands
327 <br>
328 </span></font></font>Pegasus includes several make files that enable
329 you to quickly build or
330 refresh the Pegasus runtime, test files, test client and the
331 repository. To use these make files, type "make" followed by one of the
332 dave.sudlik 1.10 supplied targets. <br>
333 The following list contains some of the make targets that are
334 supported:
|
335 h.sterling 1.9 <ul>
336 <li><default> - Build everything. </li>
337 <li>clean - Clean out all objects, libs, and executables. </li>
338 <li>depend - Create the dependencies. </li>
339 <li>repository - Create the repository in $PEGASUS_HOME/repository </li>
340 <li>tests - Execute all tests (except client server tests). </li>
341 <li>rebuild - clean, depend, <default> </li>
|
342 dave.sudlik 1.10 <li>world - depend, <default></li>
343 </ul>
344 <font><font color="RED"><span
345 style="color: rgb(0, 0, 0); font-weight: bold;"></span><span
346 style="color: rgb(0, 0, 0);">For a comprehensive list of the
347 make targets, refer to the make files.<br>
348 </span><br style="color: rgb(0, 0, 0);">
349 <span style="color: rgb(0, 0, 0); font-weight: bold;">TestMakefile
350 commands
351 </span><br style="color: rgb(0, 0, 0);">
352 <span style="color: rgb(0, 0, 0);"></span></font></font><font><font
353 color="RED"><span class="norm"></span></font></font> TestMakefile is a
354 make file
355 that in the top level Pegasus source directory that defines
356 functionality to
357 initiate the Pegasus tests. The targets defined in this makefile allow
358 the
359 user to run the various tests and test suites that are included in the
360 Pegasus
361 source package.<br>
362 <font><font color="RED"><span class="norm"></span></font></font>Example:
363 dave.sudlik 1.10 From the $PEGASUS_ROOT directory.
364 make -f TestMakefile [testoption]<br>
365 <br style="color: rgb(0, 0, 0);">
366 <font><font color="RED"><span style="color: rgb(0, 0, 0);">## rebuild -
367 Rebuild
368 </span><br style="color: rgb(0, 0, 0);">
369 <span style="color: rgb(0, 0, 0);">## build - Build
370 </span><br style="color: rgb(0, 0, 0);">
371 <span style="color: rgb(0, 0, 0);">## prestarttests - Execute
372 functional tests
373 </span><br style="color: rgb(0, 0, 0);">
374 <span style="color: rgb(0, 0, 0);">## poststarttests - Execute
375 poststarttests (No security, No SSL)
376 </span><br style="color: rgb(0, 0, 0);">
377 <span style="color: rgb(0, 0, 0);">## tests - Execute prestarttests and
378 poststarttests
379 </span><br style="color: rgb(0, 0, 0);">
380 <span style="color: rgb(0, 0, 0);">## standardtests - Execute
381 poststarttests and a series of
382 </span><br style="color: rgb(0, 0, 0);">
383 <span style="color: rgb(0, 0, 0);">## posstarttests using multiple
384 dave.sudlik 1.10 options.
385 </span><br style="color: rgb(0, 0, 0);">
386 <span style="color: rgb(0, 0, 0);">##
387 </span><br style="color: rgb(0, 0, 0);">
388 <br>
389 <span style="color: rgb(0, 0, 0);">Some examples: <br>
390 make -f TestMakefile prestarttests
391 - runs the unit tests, builds
392 </span><span style="color: rgb(0, 0, 0);">the repositories.
393 </span><br style="color: rgb(0, 0, 0);">
394 <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
395 - starts the server, </span><span style="color: rgb(0, 0, 0);">runs
396 the poststarttest suites
397 </span><span style="color: rgb(0, 0, 0);">(make poststarttests plus
398 more)
399 </span><br style="color: rgb(0, 0, 0);">
400 <span style="color: rgb(0, 0, 0);">make -f TestMakefile tests -
401 combines prestarttests and
402 </span><span style="color: rgb(0, 0, 0);">poststarttests
403 </span><br style="color: rgb(0, 0, 0);">
404 <span style="color: rgb(0, 0, 0);">make -f TestMakefile standardtests -
405 dave.sudlik 1.10 runs the basic poststarttests </span><span style="color: rgb(0, 0, 0);">(make
406 poststarttests) multiple
407 </span><span style="color: rgb(0, 0, 0);">times with various options.
408 </span><br style="color: rgb(0, 0, 0);">
409 <br style="color: rgb(0, 0, 0);">
410 <br style="color: rgb(0, 0, 0);">
411 <span style="color: rgb(0, 0, 0); font-weight: bold;">BuildMakefile
412 commands </span><br style="color: rgb(0, 0, 0);">
413 <span style="color: rgb(0, 0, 0);"></span><br>
414 </font></font>Some examples:<font><font color="RED"><br
415 style="color: rgb(0, 0, 0);">
416 <span style="color: rgb(0, 0, 0);"> make -f pegasus/mak/BuildMakefile
417 cleanbuild - Remove the existing pegasus </span><span
418 style="color: rgb(0, 0, 0);">directory, perform a CVS
419 </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
420 source,
421 </span><span style="color: rgb(0, 0, 0);">build, and run tests.
422 </span><br style="color: rgb(0, 0, 0);">
423 <span style="color: rgb(0, 0, 0);">make -f pegasus/mak/BuildMakefile
424 removeall
425 - Remove the existing pegasus
426 dave.sudlik 1.10 </span><span style="color: rgb(0, 0, 0);">directory.
427 </span><br style="color: rgb(0, 0, 0);">
428 <span style="color: rgb(0, 0, 0);"></span><span
429 style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">make
430 -f pegasus/mak/BuildMakefile
431 recheckout - Remove the existing pegasus
432 </span><span style="color: rgb(0, 0, 0);">directory and perform a CVS
433 </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
434 source.
435 </span><br style="color: rgb(0, 0, 0);">
436 <br>
437 <span style="color: rgb(0, 0, 0);">The following sequence builds the
438 tree, the repository, the testrepository,
439 </span><span style="color: rgb(0, 0, 0);">starts the server and runs
440 the server tests suites.
441 </span><br style="color: rgb(0, 0, 0);">
442 <br style="color: rgb(0, 0, 0);">
443 <span style="color: rgb(0, 0, 0);"> make world
444 </span><br style="color: rgb(0, 0, 0);">
445 <span style="color: rgb(0, 0, 0);"> make testrepository
446 </span><br style="color: rgb(0, 0, 0);">
447 dave.sudlik 1.10 <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
448 </span><br style="color: rgb(0, 0, 0);">
449 <span style="color: rgb(0, 0, 0);">
450 </span><br>
451 </font></font><br>
452 <span style="font-family: monospace;"><br>
453 </span>
454 <h1><a name="docs">Pegasus Documentation</a></h1>
455 <p>The documentation is currently in preparation. Much of Pegasus
456 is documented in the PEGASUS PEPs which are the basis for approval of
457 Pegasus functionality, changes, plans, etc. These documents are
458 openly available on the PEGASUS web site. The preliminary
459 documentation
460 is not provided with this release. The current documentation is
461 maintained both as a manual created
462 under the tool DOC++ in the runtime subdirectory manual/html (see
463 doc/devManual to create), as an api document also creatable from the
464 source tree (see doc/apidoc) and as other miscellaneous documentation
465 in the doc directory. Also there is a set of release notes. Normally
466 the release notes for the current release are available in the root
467 source directory of CVS.</p>
468 dave.sudlik 1.10 <p>Note that the Pegasus WEB site at The Open Group will be the source
469 of most
470 documentation in the future and today is the source of most discussion
471 and
472 design documentation. </p>
473 <h1><a name="part">How to Participate</a></h1>
474 <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors
475 are welcome to participate in the OpenPegasus development effort. Join
476 the mailing list by visiting www.openpegasus.org and clicking on
477 Mailing Lists.</font></p>
478 <h1>
479 <a name="inst_peg">Pegasus Install</a> </h1>
480 <p>RPM installation instructions can be found here: <a
481 href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
482 </p>
483 <p><strong><strong>Verify Dependencies<br>
484 </strong></strong></p>
485 <p><strong><strong><span style="font-weight: bold;"></span>Be</strong></strong>fore
486 you install Pegasus be sure you have the proper set of software
487 Pegasus is dependent on. <a href="#peg_dep">See Dependencies
488 section.</a><br>
489 dave.sudlik 1.10 </p>
490 <strong></strong>
491 <p> <a name="set_envt_var"><strong>Set the environment
492 variables<br>
493 </strong></a></p>
494 <p>Before installing or running OpenPegasus, environment variables may
495 have to be defined or updated. <br>
496 <strong><br>
497 </strong></p>
498 <p><a
499 href="http://www.openpegasus.org/pp/uploads/40/8502/PEP200_RecommendedReleaseOptions.htm">PEP
500 200</a> contains the list of environment variables and setup necessary
501 to use OpenPegasus.<br>
502 </p>
503 <p></p>
504 <ul>
|
505 h.sterling 1.9 </ul>
|
506 dave.sudlik 1.10 <p></p>
|
507 h.sterling 1.9 <h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2>
|
508 dave.sudlik 1.10 <p>
509 Before using Pegasus you must populate the repository. Typically, this
510 is done during the build process when you run the makefile. However,
511 you
512 can also do it manually after the Pegasus has been built. </p>
|
513 h.sterling 1.9 <ol>
|
514 dave.sudlik 1.10 <li>Register the MOF (Managed Object Format) file describing the
515 skeleton of the object. </li>
516 <li>Register a second MOF which only points out which lib*.so file to
517 be loaded when a specific object is activated. </li>
|
518 h.sterling 1.9 </ol>
|
519 dave.sudlik 1.10 <p></p>
520 <p>
521 The providers included with Pegasus are automatically entered into the
522 repository
523 by running the following command: <tt>make repository</tt>
524 </p>
525 <p>
526 The 'make repository' in the pegasus directory does three things:
527 </p>
|
528 h.sterling 1.9 <ul>
|
529 dave.sudlik 1.10 <li><span class="norm"></span> Removes the existing repository if one
530 exists.</li>
531 <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
532 objects). </li>
533 <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
534 schema for CIM Server functions </font>(shutdown, add users, etc) and
535 CIM indications
536 (SNMP, Events, Alert, Threshold, etc)
537 internal to the Pegasus. </li>
538 <li>Registers included CIM Providers (libOSProvider.so,
539 libDNSProvider.so, … ) in Pegasus (which are located in
540 src/Providers) </li>
|
541 h.sterling 1.9 </ul>
|
542 dave.sudlik 1.10 <h2>
543 <a name="reg_prov">Registering
544 Providers in the Pegasus Environment</a></h2>
545 <p>
546 Pegasus registers providers with a set of provider registration
547 classes, not using the provider qualifier as is done in most DMTF CIM
548 CIMOM implementations today. This set of classes is close to but not
549 exactly the same as the experimental DMTF definition (See the DMTF
550 Interop
551 schema, experimental versions starting with 2.6). This will be
552 harmonized in the future when the DMTF scheme is moved to final
553 status. </p>
554 <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
555 is performed by creating instances</font> of the
556 registration classes that represent the provider module, providers,
557 classes, etc. to be registered. The easiest way to create a new
558 registration today is to copy from one of the existing registration
559 MOFs. See the providers/sample/load directory for examples of
560 several registration instance implementations that do work with
561 OpenPegasus
562 today.</p>
563 dave.sudlik 1.10 <strong><br>
564 </strong>
565 <h2><a name="note_bld_peg_lnx">Notes about
566 Building OpenPegasus on Linux </a></h2>
567 <p>
568 To build OpenPegasus on Linux, ensure that you you have the environment
569 variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For
570 32 bit linux, the definition of PEGASUS_PLATFORM is normally
571 LINUX_IX86_GNU).
572 </p>
|
573 h.sterling 1.9 <br>
|
574 dave.sudlik 1.10 <h2><a name="bld_peg_win">Notes
575 on building OpenPegasus on Windows 2k or Windows XP with Microsoft
576 Visual
577 C++ </a></h2>
578 <p>
579 Use of Windows 2000 SP3 or later is recommended. OpenPegasus is
580 regularly tested on both Windows 2000 and Windows XP using the
581 Microsoft compilers.</p>
582 <p>Today we build OpenPegasus on Windows using a set of make files
583 contained
584 in the source distribution, the Microsoft compilers (DevStudio 5.x is
585 not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE
586 make utility. Note that you MUST have the OpenPegasus <a
587 href="#mu_utility">mu.exe </a>utility compiled and available
588 before trying to compile OpenPegasus on the normal windows platform.
589 The
590 following is the basic setup steps for the environment.
591 </p>
592 <p>Setup the environment variables and path for the Micrososft Visual C
593 compiler.
594 Typically this can be done by running the VCVARS32.BAT file supplied
595 dave.sudlik 1.10 with Microsoft Visual C++. (contained in the same directory as cl.exe).
596 </p>
|
597 h.sterling 1.9 <p>For Windows, try the following for an example environment: </p>
598 <blockquote>
|
599 dave.sudlik 1.10 <pre>REM call the standard Microsoft .bat for VC 6 setup. <br>call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' <br>REM Set debug to something if you want compile in debug mode <br>set PEGASUS_DEBUG=true <br>REM set PEGASUS_ROOT to top of source tree <br>set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span
600 class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre>
|
601 h.sterling 1.9 </blockquote>
|
602 dave.sudlik 1.10 <h3>
603 <a name="mu_utility">The MU Utility </a></h3>
604 <p>
605 In order to provide a consistent build structure across multiple
606 platforms, we
607 developed a small utility to provide a consistent set of small
608 utilities
609 across these platforms. The MU utility is a simple utility that
610 contains
611 many
612 commands. For example:
613 </p>
614 <p><font face="Courier New">
615 C:\> mu rm myfile.cpp yourfile.cpp </font>
616 </p>
617 <p>You may type "mu" to get a list of valid commands. Here are some
618 of them:
619 </p>
620 <p>
621 rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
622 </p>
623 dave.sudlik 1.10 <p>The MU utility supports globing (expansion of wildcards) so
624 you can do things like this:
625 </p>
626 <p><font face="Courier New">
627 C:\> mu rm *.obj *.exe </font>
628 </p>
629 <p>MU is required to build under the Windows environment. MU is
630 available as part
631 of the distribution of OpenPegasus.<br>
632 </p>
633 NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin
634 directory.
635 You must build it separately. MU source code is part of the
636 distribution
637 in the directory src/utils/MU with its own make file. You must compile
638 MU
639 before you initiate the OpenPegasus make.<br>
640 A copy of the binary is made available as a zip file on the OpenPegasus
641 WEB site.
642 <p></p>
643 <h2><a name="note_bld_peg_ssl">Notes about
644 dave.sudlik 1.10 Building OpenPegasus with SSL
645 </a></h2>
646 <p>
647 To build with SSL you need the OpenSSL libraries and header files. They
648 are NOT distributed with OpenPegasus. Make sure you have them in a
649 standard
650 directory so OpenPegasus can find them. If that's not
651 the case, set the environment variable OPENSSL_HOME= to point where
652 your OpenSSL
653 installation is.
654 </p>
655 <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make'
656 in Pegasus
657 directory and you will have OpenPegasus with SSL enabled. See "Creating
658 SSL
659 certificates" below for more information on how to use SSL.
660 </p>
661 Refer to the SSL Admin guide found in the doc directory for details on
662 using OpenPegasus with SSL.<br>
663 <p></p>
664 <h1>
665 dave.sudlik 1.10 <a name="test">Testing a OpenPegasus Installation</a></h1>
666 <p>
667 OpenPegasus includes an extensive set of test facilities as part of the
668 CVS
669 environment, including:
670 </p>
|
671 h.sterling 1.9 <ul>
|
672 dave.sudlik 1.10 <li><b>Test Clients</b> - There are several clients that have been
673 built specifically to test OpenPegasus, or parts of OpenPegasus,
674 including
675 TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the
676 src/Clients directory for more information. These programs require a
677 server complete with repository to be running. Note that some of
678 these tests use classes and instances that are only installed with the
679 "make testrepository" functions including test namespaces and extra
680 classes and instances in those namespaces and additional providers from
681 the providers/sample and providers/testproviders directories. </li>
682 <li><b>Sample and test providers</b> - Test providers exist for
683 the major provider types in the providers/sample directories and the
684 providers/testProviders directory </li>
685 <li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests
686 for
687 the functions. These are normally executed with the "make tests"
688 command which can be executed at many different levels of the source
689 tree from the top level to execute all of the unit tests to individual
690 directories. Usually the unit test functions can be found in test
691 directories immediately below their corresponding source code
692 (i.e common/tests is the unit test functions for the common
693 dave.sudlik 1.10 directory). Unit tests are executed without the server being
694 operational and normally do not require the existence of a Class
695 repository. </li>
696 <li><b>An end-to-end Test Suite</b> - the directory "test" contains a
697 set of operations tests that cover the major CIM operations. See
698 the make file TestMakefile in the PEGASUS_ROOT directory to execute
699 these tests. This set of tests executes an extensive set of fixed
700 tests and compares the results against predefined results.</li>
|
701 h.sterling 1.9 </ul>
|
702 dave.sudlik 1.10 <p></p>
703 <br>
|
704 h.sterling 1.9 <h2><a name="test_icu">Testing with ICU enabled</a></h2>
|
705 dave.sudlik 1.10 <p>ICU (International Components for Unicode) refers to the set of
706 libraries that OpenPegasus uses to run globalized. For example: these
707 libraries are used
708 to
709 load messages in different languages, format currency and numbers
710 according to
711 a specific locale etc. In order to enable globalization in OpenPegasus,
712 OpenPegasus
713 must be built with ICU enabled, ie. the right environment variables
714 must be
715 set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
716 docs
717 directory for details.<br>
718 </p>
719 <p> When users run "make poststarttests"
720 to verify the integrity of a OpenPegasus download, a series of tests
721 are
722 run that
723 require the cimserver to be running. These tests currently depend on
724 specific
725 messages returned from the server. When ICU is enabled, all messages
726 dave.sudlik 1.10 come from the resource bundles and these usually do not match the
727 hardcoded default messages within OpenPegasus. These hardcoded default
728 messages are what the various test programs expect in order to complete
729 successfully. If the ICU enabled server is started without
730 disabling message loading from the bundles, "make poststartests" will
731 fail.
732 In order to run "make poststarttests" successfully with ICU enabled, an
733 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
734 prior to
735 starting the server. Once this is defined, when the cimserver starts,
736 all
737 messages generated will be the default hardcoded messages. This will
738 enable
739 "make poststarttests" to complete successfully. Once "make
740 poststarttests" is
741 complete, you should stop the cimserver and then undefine
742 PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
743 OpenPegasus
744 will not be able to load messages
745 using ICU resource bundles.<br>
746 </p>
747 dave.sudlik 1.10 <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When
748 running the make tests command with ICU enabled, the PEGASUS_MSG_HOME
749 environment variable must be set to the home directory where the ICU
750 resource bundles are built. By default the resource bundles are built
751 into directories below PEGASUS_HOME/msg, so that should be the setting
|
752 h.sterling 1.9 for PEGASUS_MSG_HOME.<br>
753 </font></p>
754 <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br>
755 </font></p>
|
756 dave.sudlik 1.10 <p><i><font size="2">Copyright (c) 2005 EMC Corporation;
757 Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group;
758 VERITAS Software Corporation</font><br>
|
759 h.sterling 1.9 <br>
|
760 dave.sudlik 1.10 <font size="1">Permission is hereby granted, free of charge, to any
761 person obtaining a copy of this software and associated
762 documentation files (the "Software"), to deal in the Software without
763 restriction, including without limitation the rights to use, copy,
764 modify, merge, publish, distribute, sublicense, and/or sell copies of
765 the Software, and to permit persons to whom the Software is furnished
766 to do so, subject to the following conditions:</font><br>
|
767 h.sterling 1.9 <font size="2"><br>
|
768 dave.sudlik 1.10 </font>
769 <font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE
770 SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE
771 SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
772 ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
773 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
774 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
775 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
776 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
777 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
|
778 h.sterling 1.9 </font></i></p>
779 <p><i><font size="1"><br style="font-family: arial;">
|
780 dave.sudlik 1.10 <big><big><span style="font-family: arial;">------------------------End
781 of
|
782 h.sterling 1.9 Document-------------------------<br>
783 </span></big></big></font></i></p>
|
784 dave.sudlik 1.10 <p><span style="color: rgb(0, 0, 0);"></span> </p>
|
785 h.sterling 1.9 </body>
786 </html>
|