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