(file) Return to readme.html CVS log (file) (dir) Up to [Pegasus] / pegasus

  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:&nbsp; </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;">&nbsp;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>&nbsp; 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&nbsp; Pegasus release version
107                  2.5.0&nbsp;
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&nbsp;
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.&nbsp; OpenPegasus is maintained under the license defined in the
180                  doc
181                  directory of this release.&nbsp; The specific file is: <font
182                   style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
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>&nbsp;&nbsp;&nbsp; <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&amp;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&amp;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&amp;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&nbsp;</font>
226                  (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
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.&nbsp; 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> .&nbsp; The Release notes provides additional details
236                  regarding the platforms.&nbsp;<a
237                   href="http://www.openpegasus.org/pp/protected/revdoc.tpl?CALLER=revdocuments.tpl&amp;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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <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.&nbsp; <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.&nbsp;&nbsp; <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>&nbsp; NOTE: A set of the required
278                  tools for windows platforms is available on the openpegasus web
279                  site.&nbsp; <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&nbsp; (Start the server
298                  cimserver)</li>
299                    <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
300                    <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
301                  with
302                  config flags)</li>
303                    <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
304                    <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
305                  OperatingSystem provider)</li>
306                    <li>cimuser -a -u guest _w &lt;ThePassword&gt; (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&nbsp; (Lists the users )<br>
310 h.sterling  1.9    </li>
311 dave.sudlik 1.10 </ul>
312                  Note:&nbsp; 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.&nbsp; <br>
333                  The following list contains some of the make targets that are
334                  supported:
335 h.sterling  1.9  <ul>
336                    <li>&lt;default&gt; - 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, &lt;default&gt; </li>
342 dave.sudlik 1.10   <li>world - depend, &lt;default&gt;</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&nbsp; 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                  &nbsp; <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.&nbsp; Much of Pegasus
456                  is documented in the PEGASUS PEPs which are the basis for approval of
457                  Pegasus functionality, changes, plans, etc.&nbsp; These documents are
458                  openly available on the PEGASUS web site.&nbsp; 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&nbsp; 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&nbsp; software
487                  Pegasus is dependent on.&nbsp; <a href="#peg_dep">See Dependencies
488                  section.</a><br>
489 dave.sudlik 1.10 </p>
490                  <strong></strong>
491                  <p>&nbsp; <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.&nbsp; <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&nbsp; 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).&nbsp; </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)&nbsp; </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.&nbsp; </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.&nbsp; The easiest way to create a new
558                  registration today is to copy from one of the existing registration
559                  MOFs.&nbsp; 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.&nbsp; 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.&nbsp; 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.&nbsp; 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">&nbsp;&nbsp;&nbsp;
615                  C:\&gt; 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>&nbsp;&nbsp;&nbsp;
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">&nbsp;&nbsp;&nbsp;
627                  C:\&gt; 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.&nbsp; 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> -&nbsp; 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.&nbsp; 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.&nbsp; Usually the unit test functions can be found in test
691                  directories immediately below their corresponding source code
692                  (i.e&nbsp; 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.&nbsp; See
698                  the make file TestMakefile in the PEGASUS_ROOT directory to execute
699                  these tests.&nbsp; 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>&nbsp;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&nbsp; 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&nbsp; "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>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2