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

Diff for /pegasus/Attic/readme.html between version 1.7 and 1.10.8.1

version 1.7, 2004/10/18 18:20:06 version 1.10.8.1, 2006/03/07 18:45:36
Line 1 
Line 1 
   //%2006////////////////////////////////////////////////////////////////////////
   //
   // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
   //
   // Permission is hereby granted, free of charge, to any person obtaining a copy
   // of this software and associated documentation files (the "Software"), to
   // deal in the Software without restriction, including without limitation the
   // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   // sell copies of the Software, and to permit persons to whom the Software is
   // furnished to do so, subject to the following conditions:
   //
   // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   //
   //==============================================================================
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html> <html>
 <head> <head>
Line 9 
Line 39 
 </head> </head>
 <body> <body>
 <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 235<br>
   </p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
 Version 2.4 Release Readme file</p>  Version 2.5 Release Readme file</p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span
  style="color: rgb(0, 0, 0);">1.4</span></p>   style="color: rgb(0, 0, 0);">1.4<br>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 24 June  </span></p>
 2004</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 6 Sept
   2005</p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren
 Grunbok, Mike Harris<br>  Grunbok<br>
 </p> </p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>draft</p> <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>draft</p>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p> <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
Line 32 
Line 64 
     </tr>     </tr>
     <tr>     <tr>
       <td align="center">1.0</td>       <td align="center">1.0</td>
       <td align="center">24, June 2004</td>        <td align="center">5, Sept 2005</td>
       <td align="center">Warren Grunbok<br>       <td align="center">Warren Grunbok<br>
       </td>       </td>
       <td>Initial draft<br>       <td>Initial draft<br>
       </td>       </td>
     </tr>     </tr>
     <tr>     <tr>
       <td align="center">&nbsp;1.1</td>        <td style="vertical-align: top; text-align: center;">1.1<br>
       <td align="center">24,August 2004 <br>  
       </td>       </td>
       <td align="center">Warren Grunbok <br>        <td style="vertical-align: top; text-align: center;">&nbsp;13,
   Sept 2005<br>
       </td>       </td>
       <td>Mostly spelling changes, adds to very last paragraph <br>        <td style="vertical-align: top; text-align: center;">Warren
   Grunbok/Roger Kumpf<br>
         </td>
         <td style="vertical-align: top; text-align: center;">Updates
   based on Architecture team review<br>
       </td>       </td>
     </tr>     </tr>
     <tr>     <tr>
       <td style="vertical-align: top;">1.2<br>       <td style="vertical-align: top;">1.2<br>
       </td>       </td>
       <td style="vertical-align: top;">31, August 2004<br>        <td style="vertical-align: top;">22, Sept 2005<br>
       </td>       </td>
       <td style="vertical-align: top;">Warren Grunbok<br>       <td style="vertical-align: top;">Warren Grunbok<br>
       </td>       </td>
       <td style="vertical-align: top;">Changes based on architecture        <td style="vertical-align: top;">Updates from posted comments to
 review.&nbsp; Removed /Directory structure section and placed  1.1<br>
 into&nbsp; seperate document.<br>  
 &nbsp;<br>  
       </td>       </td>
     </tr>     </tr>
     <tr>     <tr>
       <td style="vertical-align: top;">1.3<br>        <td style="vertical-align: top; color: rgb(0, 0, 0);">1.3<br>
       </td>       </td>
       <td style="vertical-align: top;">???<br>        <td style="vertical-align: top; color: rgb(0, 0, 0);">22,Sept 2005<br>
       </td>       </td>
       <td style="vertical-align: top;">Warren Grunbok<br>        <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren
   Grunbok<br>
       </td>       </td>
       <td style="vertical-align: top;">Removed Pegasus Directory        <td style="vertical-align: top; color: rgb(0, 0, 0);">changed _
 structure and placed in PEP 191, Added Copyright and End of Doc marker.<br>  to - <br>
       </td>       </td>
     </tr>     </tr>
     <tr>     <tr>
       <td style="vertical-align: top; color: rgb(0, 0, 0);">1.4<br>        <td style="vertical-align: top;">1.4<br>
       </td>       </td>
       <td style="vertical-align: top; color: rgb(0, 0, 0);">27,        <td style="vertical-align: top;">26, Sept 2005<br>
 Sept 2004<br>  
       </td>       </td>
       <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren        <td style="vertical-align: top;">Warren Grunbok/Dave Sudlik<br>
 Grunbok<br>  
       </td>       </td>
       <td style="vertical-align: top; color: rgb(0, 0, 0);">Corrected        <td style="vertical-align: top;">Cleanup on example lists<br>
 Security changes as per Sterling.<br>  
       </td>       </td>
     </tr>     </tr>
   </tbody>   </tbody>
 </table> </table>
 <hr> <hr>
 <p><b>Abstract:</b>&nbsp; Installation, build, operation information on <p><b>Abstract:</b>&nbsp; Installation, build, operation information on
 the Pegasus Platform Version 2.4.0 Release. Note that if this readme  the OpenPegasus Version 2.5.0 Release. Note that if this readme
 conflicts with the documentation in the release notes or interface conflicts with the documentation in the release notes or interface
 definition documents for a particular release, those documents should definition documents for a particular release, those documents should
 be considered authorative. This is a simplified overview to act as an be considered authorative. This is a simplified overview to act as an
 introduction to Pegasus.</p>  introduction to OpenPegasus.</p>
 <hr> <hr>
 <p align="center"><b><font size="5">OpenPegasus - A Manageability <p align="center"><b><font size="5">OpenPegasus - A Manageability
 Services Broker for the DMTF CIM/WBEM Standards Services Broker for the DMTF CIM/WBEM Standards
 </font></b></p> </font></b></p>
 <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
 DMTF CIM objects written in C++ DMTF CIM objects written in C++
 and supported by The Open Group </p>  and hosted by The Open Group </p>
 <p align="left"> <p align="left">
 <b>STATUS:</b> Revised Sept 2004 for&nbsp; Pegasus release version  <b>STATUS:</b> Revised Sept 2005 for&nbsp; Pegasus release version
 2.4.0&nbsp;  2.5.0&nbsp;
 - Approved<br>  - Draft<br>
 </p> </p>
 <a href="#Overview">Overview</a> <a href="#Overview">Overview</a>
 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
  href="#avail_of_peg">Availability of Pegasus</a><br>  href="#avail_of_peg">Availability of Pegasus</a><br>
   <a href="#peg_maj_comp">Pegasus Major Components</a><br>  
   <a href="#avail_of_peg">Availability of Pegasus</a><br>  
   <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>   <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
   <a href="#peg_dep">Pegasus Dependencies</a><br>   <a href="#peg_dep">Pegasus Dependencies</a><br>
   <a href="#peg_dir_struc">The Pegasus Directory Structure</a><br>    <a href="#peg_dir_struc"></a><a href="#cmnd">Commands</a><br>
   <a href="#dev_with_peg">Development with Pegasus and Pegasus Tools</a><br>  
   <a href="#cmnd">Commands</a><br>  
   <a href="#docs">Documentation</a><br>   <a href="#docs">Documentation</a><br>
   <a href="#part">Participate</a><br>    <a href="#part">How to Participate</a><br>
 </blockquote> </blockquote>
 <a href="#inst_peg">Install Pegasus</a> <a href="#inst_peg">Install Pegasus</a>
 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a
Line 128 
Line 156 
 and repository</a><br> and repository</a><br>
   <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>   <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
   <a href="#reg_prov">Register providers in the Pegasus environment</a><br>   <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
   <a href="#bld_rpms">Build an RPM for Pegasus</a><br>  
   <a href="#note_bld_peg_lnx">Notes   <a href="#note_bld_peg_lnx">Notes
 about Building Pegasus on Linux</a><br> about Building Pegasus on Linux</a><br>
   <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br>   <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br>
   <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a  
  href="#crt_ssl_cert">Creating SSL  
 certifications</a><br>  
   </blockquote>  
   <a href="#bld_peg_win">Building   <a href="#bld_peg_win">Building
 Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br> Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>
   <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a   <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
Line 144 
Line 167 
 </blockquote> </blockquote>
 <a href="#test">Test the Pegasus installation</a><br> <a href="#test">Test the Pegasus installation</a><br>
 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
  href="#inst_peg_html"> Installing the Pegasus HTML Test Client</a><br>   href="#test_icu">Testing with ICU enabled</a><br>
   <a href="#test_icu">Testing with ICU enabled</a><br>  
 </blockquote> </blockquote>
 <hr> <hr>
 <h1><a name="Overview">Overview</a> </h1> <h1><a name="Overview">Overview</a> </h1>
 <p><b>OpenPegasus (also referred to as Pegasus):</b>  <b>OpenPegasus (also referred to as Pegasus):</b>
 Pegasus is an open-source CIM Server for DMTF CIM objects. It is Pegasus is an open-source CIM Server for DMTF CIM objects. It is
 written written
 in C++ and includes the Object manager (CIMOM), a set of defined in C++ and includes the Object manager (CIMOM), a set of defined
 interfaces, an implemenation of the CIMOperations over HTTP operations  interfaces, an implementation of the CIMOperations over HTTP operations
 and their cimxml HTTP encodings, and Interface libraries and their cimxml HTTP encodings, and Interface libraries
 for both client and providers. It is maintained for both client and providers. It is maintained
 consistent with the DMTF CIM and WBEM specifications except for&nbsp; consistent with the DMTF CIM and WBEM specifications except for&nbsp;
 exceptions exceptions
 noted in the documentation.  noted in the documentation.<br>
 </p>  <br>
 <p>Pegasus is open source and is covered under the MIT open-source  <span class="norm"></span>OpenPegasus includes components for: <br>
 license.</p>  <ol>
 <p>Pegasus is being developed and maintained under the auspices of The    <li>DMTF compliant CIMServer that processes CIM operations, CIM
   Indications, and
   includes class and instance repositories and interfaces for creating
   CIM
   Providers and CIM Clients.</li>
     <li>Provider interfaces so that providers may be build in multiple
   languages (i.e.
   C++, C, Java).</li>
     <li>A number of CIM providers.</li>
     <li>A mof compiler.</li>
     <li>A number of CIM CLients to provide usage examples, CIMServer
   test functions,
   and administration functions.</li>
     <li>More complete information on the exact functions
   and their functional state is available from the release notes for each
   OpenPegasus release.</li>
   </ol>
   OpenPegasus is open source and is covered under the MIT open-source
   license.
   <p>OpenPegasus is being developed and maintained under the auspices of
   The
 Open Open
 Group. Pegasus is maintained under the license defined in the doc  Group.&nbsp; OpenPegasus is maintained under the license defined in the
 directory  doc
 (LICENSE) of this release. This licensing is intended to support as  directory of this release.&nbsp; The specific file is: <font
    style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
   This licensing is intended to support as
 wide a wide a
 distribution as possible with minimal demands on the users. distribution as possible with minimal demands on the users.
 </p> </p>
Line 175 
Line 219 
 Pegasus are available from the OpenGroup WEB site. Pegasus are available from the OpenGroup WEB site.
 </p> </p>
 <p>&nbsp;&nbsp;&nbsp; <a target="blank" <p>&nbsp;&nbsp;&nbsp; <a target="blank"
  href="http://www.openpegasus.org">http://www.openpegasus.org</a></p>   href="http://www.openpegasus.org/">http://www.openpegasus.org</a></p>
 <p>There are a number of separate documents representing the status and  
 each release of Pegasus  
 </p>  
 <ul>  
   <li>What's new for this release - See the PEPs (Pegasus Enhancement  
 Procedures) release notes on the Pegasus web site and duplicated in the  
 source top level directory </li>  
   <li>What's Broken - BUGS - See the ReleaseNotes for this release in  
 the CVS and the web site as a Pegasus PEP.</li>  
 </ul>  
 <p>The release notes are available on the WEB site as Pegasus PEP  
 documents and in the CVS for each release.</p>  
 <table id="AutoNumber3" border="1" cellspacing="1" width="31%">  
   <tbody>  
     <tr>  
       <td width="42%"><b>Release</b></td>  
       <td width="58%"><b>Release Notes PEP</b></td>  
     </tr>  
     <tr>  
       <td width="42%">2.0</td>  
       <td width="58%">None</td>  
     </tr>  
     <tr>  
       <td width="42%">2.1</td>  
       <td width="58%">None</td>  
     </tr>  
     <tr>  
       <td width="42%">2.2</td>  
       <td width="58%">PEP 57</td>  
     </tr>  
     <tr>  
       <td width="42%">2.3</td>  
       <td width="58%">PEP 98</td>  
     </tr>  
     <tr>  
       <td style="vertical-align: top;">2.4<br>  
       </td>  
       <td style="vertical-align: top;">PEP 185<br>  
       </td>  
     </tr>  
   </tbody>  
 </table>  
 <h2><a name="avail_of_peg">Availability of Pegasus</a></h2> <h2><a name="avail_of_peg">Availability of Pegasus</a></h2>
   <h2></h2>
   <h2></h2>
   <ol>
   Pegasus can be obtained via any of the following:<br>
     <ol>
       <li>Released tarballs (see <a
    href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=392">Relase
   tarballs link</a>)</li>
       <li>CVS (See <a
    href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">CVS
   code repository</a> for
   more information.)</li>
       <li>Linux RPMs. See
   (<a
    href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">RPM
   link</a> for
   more information
   )</li>
     </ol>
   </ol>
   <p>NOTE: The Linux RPM reference is for 2.4.1 because that is all we
   have. We
   need a general page to get to the RPMs, not one per release.
   </p>
 <p>Pegasus is distributed as open source under the MIT open-source <p>Pegasus is distributed as open source under the MIT open-source
 license. The distribution is available via CVS and snapshot images in license. The distribution is available via CVS and snapshot images in
 tar and zip file formats on the web site. tar and zip file formats on the web site.
 The source code from CVS can be found at the following Open Group CVS The source code from CVS can be found at the following Open Group CVS
 server; server;
 </p> </p>
 <p><font face="Courier New">&nbsp;&nbsp;&nbsp;  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
 cvs.opengroup.org:/cvs/MSB </font> </p>  write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
 <p>using the password authenticating server option (pserve).  (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
 </p>  
 <p>Anonymous access for read is with the name and password "anon" as  
 follows:  
 </p>  
 <blockquote>  
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><font  
  face="Courier New">%export  
 CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB </font></p>  
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><font  
  face="Courier New">%cvs login </font></p>  
 </blockquote>  
 <p>  
 When requested, enter the password "anon".  
 The source tree is in the directory pegasus. To check out the complete  
 Pegasus  
 source tree just type:  
 </p>  
 <p><font face="Courier New">&nbsp;&nbsp;&nbsp;  
 cvs co pegasus </font>  
 </p>  
 <p>A Pegasus directory will be created under the current directory and  
 populated  
 with the complete source tree and documentation. To get the latest  
 updates after a checkout just type this from Pegasus root:  
 </p>  
 <p><font face="Courier New">&nbsp;&nbsp;&nbsp;  
 cvs update -d </font>  
 </p> </p>
 <p>Active contributors to Pegasus have write access to the CVS  <br>
 repository.  <h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2>
 If you are interested in contributing back to the Pegasus project,  
 (i.e. write (checkin) access to CVS) please request access from either  
 Martin Kirk (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)  
 or Karl Schopmeyer <a href="mailto:%28k.schopmeyer@opengroup.org">k.schopmeyer@opengroup.org</a>.  
 </p>  
 <h2><a name="peg_maj_comp">Pegasus Major Components</a></h2>  
 <p>The major components of Pegasus are:  
 </p>  
 <ul>  
   <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for  
 providers and clients </li>  
   <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined  
 class repository interface and a simple file based class repository. It  
 also includes an instance repository. Note that these repository were  
 created for functionality, not efficieny. It is expected that they will  
 be replaced with other implementations of the respository function as  
 the need arises. </li>  
   <li><b>Pegasus Client Library</b> - Tools for building Pegasus  
 clients based on the Pegasus C++ interfaces and using the WBEM HTTP/XML  
 protocols or directly interfacing with Pegasus. </li>  
   <li><b>Pegasus Test Clients</b> - Simple test clients being developed  
 as part of the Pegasus development process. These can be seen in the  
 src/Clients directory and its subdirectories </li>  
   <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a  
 test client for Pegasus that uses a WEB server (ex. Apache) with a set  
 of CGI modules and HTML to allow the entry of Pegasus operations from a  
 WEB browser as forms and the receipt of the response as WEB pages. This  
 has proven useful as a test tool and can be used for a wide variety of  
 demonstrations. </li>  
   <li><b>Pegasus Provider Library</b> - Tools for building Pegasus  
 providers using the Pegasus C++ interfaces. </li>  
   <li><b>Pegasus Providers</b> - Providers to illustrate the use of  
 Pegasus services including providers for test and demonstration. </li>  
   <li><b>Pegasus Control Providers</b> - Common services for use by  
 other Pegasus components to extend Pegasus capabilites. </li>  
   <li><b>Pegasus MOF Compiler </b>- There&nbsp; standalone compiler  
 (cimmofl) for MOF files that can be used  
 to install MOF into the Pegasus schema repository and also to check  
 syntax. There is also a compiler that operates as a Pegasus  
 client(cimmof) There is also a tool to extract the MOF from the  
 repository. </li>  
 </ul>  
 <h2>  
 <a name="peg_sup_plat">Pegasus Supported Platforms</a></h2>  
 <p> <p>
 Pegasus is regularly tested against a variety of platforms by the Pegasus is regularly tested against a variety of platforms by the
 development group.&nbsp; The set of platforms and exact set of  development group.&nbsp; The results of the nightly tests can be found
 compilers for any given release is documented in the Release notes for  here: <a
 that release (see the CVS source tree root directory or the Pegasus PEP   href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
 defining the ReleaseNotes for any particular release).</p>  test status</a> .&nbsp; The Release notes provides additional details
 <p>  regarding the platforms.&nbsp;<a
 Pegasus is supported on a variety of platforms.&nbsp; The list of   href="http://www.openpegasus.org/pp/protected/revdoc.tpl?CALLER=revdocuments.tpl&amp;grid=1692">
 platforms can be found in the release notes associated with this  PEP 230</a> is the release notes PEP for 2.5.<br>
 release.<br>  
 </p> </p>
 <br>  
 <h2><a name="peg_dep">Pegasus Dependencies</a></h2> <h2><a name="peg_dep">Pegasus Dependencies</a></h2>
 <p> <p>
 We have worked to minimize the dependence of Pegasus on other software We have worked to minimize the dependence of Pegasus on other software
Line 327 
Line 280 
 </p> </p>
 <p>GNUMAKE is available from :</p> <p>GNUMAKE is available from :</p>
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank" <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank"
  href="http://www.gnu.org">http://www.gnu.org</a>   href="http://www.gnu.org/">http://www.gnu.org</a>
 </p>  
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOTE: A set of the required  
 tools for windows platforms is available on the openpegasus web  
 site.&nbsp; <a href="www.openpegasus.org">www.openpegasus.org</a><br>  
 </p> </p>
 <p><b>2. MU.EXE </b>- To minimize the difference between Linux and  <b>2. FLEX and BISON</b> - These tools were used to develop the
 Windows for GNUMAKE,  MOF
 we have created a utility called MU.exe. This utility is required for  
 Pegasus make with ONLY Windows environment. It is provided as an  
 alternative to  
 requiring a number of UNIX utilities (SH, RM, etc.) on the windows  
 platform  
 and effectively provides the functions of these utilities that GNUMAKE  
 needs. MU is not required on UNIX or LINUX platforms.  
 </p>  
 <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin  
 directory.  
 You must build it separately. MU source code is part of the  
 distribution  
 in the directory src/utils/MU with its own make file. You must compile  
 MU  
 before you initiate the Pegausu make.  
 </p>  
 <p>NOTE: A copy of the binary is made available as a zip file on the  
 Pegasus  
 WEB site.  
 </p>  
 <p>Again, MU is used ONLY if you are using Windows.  
 </p>  
 <p><b>3. FLEX and BISON</b> - These tools were used to develop the MOF  
 compiler and WQL compiler and WQL
 parser. Anybody intending to recompile the compiler or parser from  parser.&nbsp; <span class="norm"></span><font
 scratch will be required to have these tools. They are only required if   style="color: rgb(0, 0, 0);">These tools are required only for
 changes need to be made to the files for parsing and compiling.  development of the parsers, not for building Pegasus.</font>
 </p>  <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
 <p><b>4. DOC++ </b>- The Pegasus documentation is taken from a  
 combination of text files combination of text files
 and the Pegasus header files themselves. This documentation is and the Pegasus header files themselves. This documentation is
 formatted with DOC++ and GAWK. These tools are required if the  formatted with DOC++ and GAWK.&nbsp;&nbsp; <span class="norm"></span><font
 documentation is to be recreated but we expect that only the core team   style="color: rgb(0, 0, 0);">These tools are required to build the
 will be recreating documentation.  interface documentation set.</font>
 </p> </p>
 <p><b>5. ICU Internationalization libraries</b> - These libraries are  <p><b>4. ICU Internationalization libraries</b> - These libraries are
 used as the basis for message catalogs for message used as the basis for message catalogs for message
 internationalization. See the ICU website internationalization. See the ICU website
 (http://oss.software.ibm.com/icu/) for more information on these (http://oss.software.ibm.com/icu/) for more information on these
 libraries</p> libraries</p>
 <p>6. <b>OpenSSL </b>- If it is intended to use SSL on the  <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
 communication protocol, the OpenSSL libraries are required.</p>  is intended to use SSL on the
 <h1><a name="peg_dir_struc">The Pegasus Directory  communication protocol, the OpenSSL libraries are required.<br>
 Structure</a></h1>  
 <p>  
 Pegasus is distributed as a complete source directory structure that  
 should be  
 installed either from one of the snapshots or from CVS.  
 </p>  
 The Pegasus Directory is documented in<span  
  style="color: rgb(51, 255, 51);"> <span style="color: rgb(0, 0, 0);">PEP  
 191</span> </span>and listed in the  
 Pegasus /doc directory.<br>  
 <h1><a name="dev_with_peg">Development with Pegasus and Pegasus Tools</a></h1>  
 <p>ATTN: This section needs to be completed. It should reference the  
 more complete documentation.  
 </p> </p>
   <p>&nbsp; NOTE: A set of the required
   tools for windows platforms is available on the openpegasus web
   site.&nbsp; <a href="../Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
 <h1><a name="cmnd">Commands</a></h1> <h1><a name="cmnd">Commands</a></h1>
 <p> <p>
 The manpages for each of the commands are in rpm/manLinux/man1.Z The manpages for each of the commands are in rpm/manLinux/man1.Z
 directory (on CVS) </p> directory (on CVS) </p>
 <p>To see simple help for each of the commands, use the "-h" flag. </p>  <p>To see simple help for each of the commands, use the "--help" flag. </p>
 <blockquote>  <span style="font-family: times new roman;">Here is a list of useful
   <pre>Examples:<br>bin/cimserver –s (Shuts it down)<br>bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)<br>bin/cimprovider –l –s (lists providers and their status)<br>bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)<br>bin/cimuser –a –u guest –w ThePassword<br>bin/cimuser –l (lists the users)<br>bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)<br></pre>  commands:<br>
 </blockquote>  <br style="font-weight: bold;">
   </span><span style="font-weight: bold;" class="norm"></span><span
    style="font-family: times new roman; font-weight: bold;"><span
    class="norm"></span></span><span style="font-weight: bold;">Some of
   the basic commands:</span>
   <br>
   NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
   for
   more information about administering the Pegasus CIMServer.<br>
   <ul>
     <li>cimserver daemon=true&nbsp; (Start the server
   cimserver)</li>
     <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
     <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
   with
   config flags)</li>
     <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
     <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
   OperatingSystem provider)</li>
     <li>cimuser -a -u guest _w &lt;ThePassword&gt; (Adds the user <span
    style="font-style: italic;">guest</span> with specified password)<br>
     </li>
     <li>cimuser -l&nbsp; (Lists the users )<br>
     </li>
   </ul>
   Note:&nbsp; there are some differences between windows and other
   platforms in
   starting the server as a daemon/service. Whereas most supported
   platforms use
   the configuration option daemon to start the server as a service, on
   windows it
   must be specifically installed as a service (ex. cimserver -install)
   and then
   started as a service (cimserver -start). The cimserver --h option
   explains the
   exact format of the start and stop options.<br
    style="color: rgb(0, 0, 0);">
   <font><font color="RED"><br
    style="color: rgb(0, 0, 0); font-weight: bold;">
   <span style="color: rgb(0, 0, 0); font-weight: bold;">Makefile commands
   <br>
   </span></font></font>Pegasus includes several make files that enable
   you to quickly build or
   refresh the Pegasus runtime, test files, test client and the
   repository. To use these make files, type "make" followed by one of the
   supplied targets.&nbsp; <br>
   The following list contains some of the make targets that are
   supported:
   <ul>
     <li>&lt;default&gt; - Build everything. </li>
     <li>clean - Clean out all objects, libs, and executables. </li>
     <li>depend - Create the dependencies. </li>
     <li>repository - Create the repository in $PEGASUS_HOME/repository </li>
     <li>tests - Execute all tests (except client server tests). </li>
     <li>rebuild - clean, depend, &lt;default&gt; </li>
     <li>world - depend, &lt;default&gt;</li>
   </ul>
   <font><font color="RED"><span
    style="color: rgb(0, 0, 0); font-weight: bold;"></span><span
    style="color: rgb(0, 0, 0);">For a comprehensive list of&nbsp; the
   make targets, refer to the make files.<br>
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0); font-weight: bold;">TestMakefile
   commands
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"></span></font></font><font><font
    color="RED"><span class="norm"></span></font></font> TestMakefile is a
   make file
   that in the top level Pegasus source directory that defines
   functionality to
   initiate the Pegasus tests. The targets defined in this makefile allow
   the
   user to run the various tests and test suites that are included in the
   Pegasus
   source package.<br>
   <font><font color="RED"><span class="norm"></span></font></font>Example:
   From the $PEGASUS_ROOT directory.
   make -f TestMakefile [testoption]<br>
   <br style="color: rgb(0, 0, 0);">
   <font><font color="RED"><span style="color: rgb(0, 0, 0);">## rebuild -
   Rebuild
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## build - Build
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## prestarttests - Execute
   functional tests
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## poststarttests - Execute
   poststarttests (No security, No SSL)
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## tests - Execute prestarttests and
   poststarttests
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## standardtests - Execute
   poststarttests and a series of
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">## posstarttests using multiple
   options.
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">##
   </span><br style="color: rgb(0, 0, 0);">
   <br>
   <span style="color: rgb(0, 0, 0);">Some examples: <br>
   make -f TestMakefile prestarttests
   - runs the unit tests, builds
   </span><span style="color: rgb(0, 0, 0);">the repositories.
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
   - starts the server, </span><span style="color: rgb(0, 0, 0);">runs
   the poststarttest suites
   </span><span style="color: rgb(0, 0, 0);">(make poststarttests plus
   more)
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">make -f TestMakefile tests -
   combines prestarttests and
   </span><span style="color: rgb(0, 0, 0);">poststarttests
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">make -f TestMakefile standardtests -
   runs the basic poststarttests </span><span style="color: rgb(0, 0, 0);">(make
   poststarttests) multiple
   </span><span style="color: rgb(0, 0, 0);">times with various options.
   </span><br style="color: rgb(0, 0, 0);">
   <br style="color: rgb(0, 0, 0);">
   <br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0); font-weight: bold;">BuildMakefile
   commands </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"></span><br>
   </font></font>Some examples:<font><font color="RED"><br
    style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"> make -f pegasus/mak/BuildMakefile
   cleanbuild - Remove the existing pegasus </span><span
    style="color: rgb(0, 0, 0);">directory, perform a CVS
   </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
   source,
   </span><span style="color: rgb(0, 0, 0);">build, and run tests.
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);">make -f pegasus/mak/BuildMakefile
   removeall
   - Remove the existing pegasus
   </span><span style="color: rgb(0, 0, 0);">directory.
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"></span><span
    style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">make
   -f pegasus/mak/BuildMakefile
   recheckout - Remove the existing pegasus
   </span><span style="color: rgb(0, 0, 0);">directory and perform a CVS
   </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
   source.
   </span><br style="color: rgb(0, 0, 0);">
   <br>
   <span style="color: rgb(0, 0, 0);">The following sequence builds the
   tree, the repository, the testrepository,
   </span><span style="color: rgb(0, 0, 0);">starts the server and runs
   the server tests suites.
   </span><br style="color: rgb(0, 0, 0);">
   <br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"> make world
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"> make testrepository
   </span><br style="color: rgb(0, 0, 0);">
   <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
   </span><br style="color: rgb(0, 0, 0);">
   &nbsp; <span style="color: rgb(0, 0, 0);">
   </span><br>
   </font></font><br>
   <span style="font-family: monospace;"><br>
   </span>
 <h1><a name="docs">Pegasus Documentation</a></h1> <h1><a name="docs">Pegasus Documentation</a></h1>
 <p>The documentation is currently in preparation.&nbsp; Much of Pegasus <p>The documentation is currently in preparation.&nbsp; Much of Pegasus
 is documented in the PEGASUS PEPs which are the basis for approval of is documented in the PEGASUS PEPs which are the basis for approval of
Line 419 
Line 500 
 documentation in the future and today is the source of most discussion documentation in the future and today is the source of most discussion
 and and
 design documentation. </p> design documentation. </p>
 <h1><a name="part">Participate!</a></h1>  <h1><a name="part">How to Participate</a></h1>
 <p>We are looking for people who want to join the Pegasus work group  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors
 and  are welcome to participate in the OpenPegasus development effort. Join
 contribute to effort of getting this Pegasus off the ground. Please  the mailing list by visiting www.openpegasus.org and clicking on
 join the mailing list by visiting www.openpegasus.org, and click on  Mailing Lists.</font></p>
 Mailing Lists.  
 &nbsp;</p>  
 <h1> <h1>
 <a name="inst_peg">Install Pegasus</a> </h1>  <a name="inst_peg">Pegasus Install</a> </h1>
 <p>  <p>RPM installation instructions can be found here: <a
 You can install and run Pegasus on any of the supported platforms. The   href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
 installation process includes the following steps:  </p>
   <p><strong><strong>Verify&nbsp; Dependencies<br>
   </strong></strong></p>
   <p><strong><strong><span style="font-weight: bold;"></span>Be</strong></strong>fore
   you install Pegasus be sure you have the proper set of&nbsp; software
   Pegasus is dependent on.&nbsp; <a href="#peg_dep">See Dependencies
   section.</a><br>
   </p>
   <strong></strong>
   <p>&nbsp; <a name="set_envt_var"><strong>Set the environment
   variables<br>
   </strong></a></p>
   <p>Before installing or running OpenPegasus, environment variables may
   have to be defined or updated.&nbsp; <br>
   <strong><br>
   </strong></p>
   <p><a
    href="http://www.openpegasus.org/pp/uploads/40/8502/PEP200_RecommendedReleaseOptions.htm">PEP
   200</a> contains the list of environment variables and setup necessary
   to use OpenPegasus.<br>
 </p> </p>
 <ol>  
   <li>Download or checkout Pegasus. </li>  
   <li>Verify that you have the required software. </li>  
   <li>Set environment variables. </li>  
   <li>Build the Pegasus runtime, test files, test clients and  
 repository. </li>  
 </ol>  
 <p></p>  
 <p><a name="download"><strong>Step 1: Download or checkout Pegasus</strong></a></p>  
 <p>  
 Pegasus is freely available from the open group's Pegasus home page: <a  
  target="blank" href="http://www.openpegasus.org">http://www.openpegasus.org</a>.  
 To  
 obtain Pegasus, you can either check it out using CVS or download a  
 snapshot image of the soruce distribution. For more information about  
 checking out Pegasus using CVS, see: <a href="#avail_of_peg">Availability  
 of Pegasus</a>. </p>  
 <p>  
 Pegasus is not currently releasing binaries, but you can create RPMs  
 using a script included with the source distribution. See <a  
  href="#bld_rpms">Building RPMs for Pegasus</a> for more information.  
 </p>  
 <p> <a name="vfy_req_sw"><strong>Step 2: Verify that you have  
 the required software</strong></a></p>  
 <p>  
 Refer to the section <a href="#peg_dep">Pegasus  
 Dependencies</a> and verify that you have the software required for  
 your Operating System and planned usage of Pegasus.  
 </p>  
 <p> <a name="set_envt_var"><strong>Step 3: Set the environment  
 variables</strong></a></p>  
 <p>Before installing or running Pegasus, ensure that the following  
 environment variables have been defined or updated: </p>  
 <dl>  
   <dt>PEGASUS_ROOT </dt>  
   <dd>Defines the path to the "pegasus" directory you've pulled from  
 CVS, for example: <tt>/opt/pegasus/pegasus-2.3.2</tt> <br>  
   </dd>  
   <dt>PEGASUS_HOME </dt>  
   <dd>Defines the directory that will contain the output binary files.  
 For example, if you set this to <tt>$HOME/pegasus_home</tt>, then the  
 output will go into <tt>$HOME/pegasus_home/bin</tt> and <tt>$HOME/pegasus_home/lib.</tt>  
     <br>  
 If you plan on doing parallel builds, you may want to define a unique  
 PEGASUS_HOME value for each build you need, that way the output of each  
 build will be placed in its own directory, for example: <tt>$HOME/pegasus_home_LINUX_IX86_GNU.</tt>  
     <br>  
   </dd>  
   <dt>PEGASUS_PLATFORM </dt>  
   <dd>Identifies the platform to be built. Each supported platform has  
 a unique identifier with the following form: <br>  
     <tt>&lt;Operating-System&gt;_&lt;Architecture&gt;_&lt;Compiler&gt;</tt>  
     <p>The following values are tested for the OpenPegasus release:<br>  
     </p>  
     <ul>  
       <li>AIX_RS_IBMCXX </li>  
       <li>HPUX_IA64_ACC </li>  
       <li>HPUX_PARISC_ACC </li>  
       <li>LINUX_IA64_GNU </li>  
       <li>LINUX_IX86_GNU </li>  
       <li>LINUX_PPC_GNU </li>  
       <li>LINUX_ZSERIES_GNU </li>  
       <li>NSK_NONSTOP_NMCPLUS </li>  
       <li>SOLARIS_SPARC_CC </li>  
       <li>SOLARIS_SPARC_GNU </li>  
       <li>TRU64_ALPHA_DECCXX </li>  
       <li>WIN32_IX86_MSVC </li>  
       <li>ZOS_ZSERIES_IBM </li>  
     </ul>  
     <p></p>  
   </dd>  
   <dt>PATH </dt>  
   <dd>Add $PEGASUS_HOME/bin to your path.</dd>  
 </dl>  
 <p></p>  
 <p>Additional configuration: </p>  
 <ul>  
   <li>For Unix builds, place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH.  
   </li>  
   <li>For RedHat/SuSE/UL, edit /etc/ld.so.conf and add  
 $PEGASUS_HOME/lib.</li>  
 </ul>  
 <p></p>  
 <p><a name="bld"><strong>Step 4: Build the Pegasus runtime, test  
 files, test clients and repository</strong></a></p>  
 <p>  
 Pegasus includes several make files that enable you to quickly build or  
 refresh the Pegasus runtime, test files, test client and the  
 repository. To use these make files, type "make" followed by one of the  
 supplied targets. </p>  
 <p>  
 To build Pegasus, run the following commands from the root directory of  
 the Pegasus distribution: </p>  
 <ol>  
   <li>Enter <tt>make</tt>  
     <p>This builds all of Pegasus. </p>  
   </li>  
   <li>Enter <tt>make repository</tt>  
     <p>This creates the repository, which is needed to serve data.  
 To create the additional namespaces that represent the test support you  
 can also execute "make testrepository". </p>  
   </li>  
   <li> Enter <tt>make tests</tt>  
     <p>This executes all the tests included with the Pegasus  
 distribution, except the client/server tests. The client/server tests  
 are executed separately from the above because  
 they require the initiation of separate process for the Pegasus server  
 and  
 Pegasus client. To execute these tests, refer to the scripts in  
 pegasus/mak/BuildMakefile. Refer to the prestarttests and  
 poststarttests in this file. </p>  
   </li>  
 </ol>  
 <p></p> <p></p>
 <p> The following make targets are supported:  
 </p>  
 <ul> <ul>
   <li>&lt;default&gt; - Build everything. </li>  
   <li>clean - Clean out all objects, libs, and executables. </li>  
   <li>depend - Create the dependencies. </li>  
   <li>repository - Create the repository in $PEGASUS_HOME/repository </li>  
   <li>tests - Execute all tests (except client server tests). </li>  
   <li>rebuild - clean, depend, &lt;default&gt; </li>  
   <li>world - depend, &lt;default&gt; </li>  
 </ul> </ul>
 <p></p> <p></p>
 <p>  <h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2>
 Generally the build commands are as follows: </p>  
 <ol>  
   <li>There is a Makefile in the Pegasus root directory. Simply  
 executing make in the Pegasus root directory will make everything.  
 "make rebuild" will clean and rebuild everything. The "make rebuild"  
 will also populate the repository with the current CIM Schemas. </li>  
   <li>To test a fresh release, go to the pegasus root and type  
 "<font face="Courier New">make world</font>".&nbsp; This will build  
 dependencies, build binaries, and then run all tests except the  
 Client/Server tests. </li>  
   <li>To execute the basic test suite that is shipped with pegasus  
 type&nbsp; "make tests". This also reinstalls the repository.&nbsp;  
 Running "make -s tests" suppresses extraneous output such as the  
 enter/leave directory messages. </li>  
   <li>"make clean" removes all object and library files from the  
 structure. </li>  
   <li>A new build system has been added to Pegasus where a new CVS  
 checkout is done,  
 built, and tests are run. Do it by: "make -f mak/BuildMakefile  
 cleanbuild" </li>  
 </ol>  
 <h2>  
 <a name="pop_peg_rep">Populate the Pegasus repository</a> </h2>  
 <p> <p>
 Before using Pegasus you must populate the repository. Typically, this Before using Pegasus you must populate the repository. Typically, this
 is done during the buld process when you run the makefile. However, you  is done during the build process when you run the makefile. However,
   you
 can also do it manually after the Pegasus has been built. </p> can also do it manually after the Pegasus has been built. </p>
 <ol> <ol>
   <li>Register the MOF (Managed Object Format) file describing the   <li>Register the MOF (Managed Object Format) file describing the
Line 599 
Line 553 
 by running the following command: <tt>make repository</tt> by running the following command: <tt>make repository</tt>
 </p> </p>
 <p> <p>
 The 'make repository' in pegasus/Schemas does three things:  The 'make repository' in the&nbsp; pegasus directory does three things:
 </p> </p>
 <ul> <ul>
   <li>Generates the CIM Schema v2.8 in the repository (skeleton of CIM    <li><span class="norm"></span> Removes the existing repository if one
 objects). To do this, it runs the MOF compiler on the CIM schema: <tt>cimmofl  exists.</li>
 -Schema v2.8</tt> </li>    <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
   <li>Sets up operations (shutdown, add users, etc) and CIM indications  objects).&nbsp; </li>
     <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
   schema for CIM Server functions </font>(shutdown, add users, etc) and
   CIM indications
 (SNMP, Events, Alert, Threshold, etc) (SNMP, Events, Alert, Threshold, etc)
 internal to the Pegasus schema by running the following command: <tt>cimmofl  internal to the Pegasus. </li>
 -PG_InterOp</tt> </li>  
   <li>Registers included CIM Providers (libOSProvider.so,   <li>Registers included CIM Providers (libOSProvider.so,
 libDNSProvider.so, … ) in Pegasus (which are located in src/Providers)  libDNSProvider.so, … ) in Pegasus (which are located in
 by running: <tt>cimmofl -PG_ManagedSystem</tt> </li>  src/Providers)&nbsp; </li>
 </ul> </ul>
 <h2> <h2>
 <a name="reg_prov">Registering <a name="reg_prov">Registering
Line 620 
Line 576 
 Pegasus registers providers with a set of provider registration Pegasus registers providers with a set of provider registration
 classes, not using the provider qualifier as is done in most DMTF CIM classes, not using the provider qualifier as is done in most DMTF CIM
 CIMOM implementations today. This set of classes is close to but not CIMOM implementations today. This set of classes is close to but not
 exactly the same as the current DMTF definition (See the DMTF Interop  exactly the same as the experimental DMTF definition (See the DMTF
   Interop
 schema, experimental versions starting with 2.6). This will be schema, experimental versions starting with 2.6). This will be
 harmonized in the future when the DMTF scheme is moved to final harmonized in the future when the DMTF scheme is moved to final
 status.&nbsp; </p> status.&nbsp; </p>
 <p>  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
 Registration is performed by defining a MOF for the instances of the  is performed by creating instances</font> of the
 registration classes that represent the porvider module, providers,  registration classes that represent the provider module, providers,
 classes, etc. to be registered.&nbsp; The easiest way to create a new classes, etc. to be registered.&nbsp; The easiest way to create a new
 registration today is to copy from one of the existing registration registration today is to copy from one of the existing registration
 MOFs.&nbsp; See the providers/sample/load directory for examples of MOFs.&nbsp; See the providers/sample/load directory for examples of
 several registration instance implementations that do work with Pegasus  several registration instance implementations that do work with
   OpenPegasus
 today.</p> today.</p>
 <h2>  <strong><br>
 <a name="bld_rpms">Building RPMs for Pegasus</a>  
 </h2>  
 <p>  
 The source distribution includes a script you can use to create an RPM  
 for Pegasus. To do this, your environment must meet the following  
 requirements:  
 </p>  
 <ul>  
   <li>The root directory for Pegasus must be "/Pegasus-1.0" </li>  
   <li>Your environment variables must be set, as described in <a  
  href="#set_envt_var">Set evironment variables</a>. </li>  
   <li>You must be logged in as the root user.</li>  
 </ul>  
 <p></p>  
 <p>  
 To create the RPMs, run the script <tt>rpmBuild</tt> from the root  
 directory of the source distribution. For example: <tt>.  
 /usr/source/pegasus-1.0/rpmBuild</tt>  
 </p>  
 <p>  
 This will result in and RPM file names <tt>pegasus&lt;version  
 number&gt;.rpm</tt>.  
 </p>  
 <p>  
 <strong>Note</strong>: After you install using the install using the  
 PRM, you must crate and populate teh repository manually.  
 </p>  
 <strong>Question: I'm still working on this procedure (I haven't gotten  
 it to work yet).<br>  
 <br>  
 </strong> </strong>
 <h2><a name="note_bld_peg_lnx">Notes about <h2><a name="note_bld_peg_lnx">Notes about
 Building  Building OpenPegasus on Linux </a></h2>
 Pegasus on Linux </a></h2>  
 <p> <p>
 Pegasus supports many distributions of Linux. Refer to <a  To build OpenPegasus on Linux, ensure that you you have the environment
  href="#peg_sup_plat">Pegasus Supported Platforms</a>  
 for more information. </p>  
 <p>  
 To build Pegasus on Linux, ensure that you you have the environment  
 variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For
 32 bit linux, the definition of PEGASUS_PLATFORM is normally 32 bit linux, the definition of PEGASUS_PLATFORM is normally
 LINUX_IX86_GNU.  LINUX_IX86_GNU).
 </p> </p>
 <br> <br>
 <h2><a name="bld_peg_win">Notes <h2><a name="bld_peg_win">Notes
 on building Pegasus on Windows 2k or Windows XP with Microsoft Visual  on building OpenPegasus on Windows 2k or Windows XP with Microsoft
   Visual
 C++ </a></h2> C++ </a></h2>
 <p> <p>
 Use of Windows 2000 SP3 or later is recommended.&nbsp; Pegasus is  Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
 regularly tested on both Windows 2000 and Windows XP using the regularly tested on both Windows 2000 and Windows XP using the
 Microsoft compilers.</p> Microsoft compilers.</p>
 <p>Today we build Pegasus on Windows using a set of make files  <p>Today we build OpenPegasus on Windows using a set of make files
 contained contained
 in the source distribution, the Microsoft compilers (DevStudio 5.x is in the source distribution, the Microsoft compilers (DevStudio 5.x is
 not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE
 make utility.&nbsp; Note that you MUST have the Pegasus <a  make utility.&nbsp; Note that you MUST have the OpenPegasus <a
  href="#mu_utility">mu.exe </a>utility compiled and available  href="#mu_utility">mu.exe </a>utility compiled and available
 before trying to compile Pegasus on the normal windows platform. The  before trying to compile OpenPegasus on the normal windows platform.
   The
 following is the basic setup steps for the environment. following is the basic setup steps for the environment.
 </p> </p>
 <p>Setup the environment variables and path for the Micrososft Visual C <p>Setup the environment variables and path for the Micrososft Visual C
Line 702 
Line 627 
 <p>For Windows, try the following for an example environment: </p> <p>For Windows, try the following for an example environment: </p>
 <blockquote> <blockquote>
   <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   <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
  class="norm">The '/' characters are intentional and required by the Pegasus 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>   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>
 </blockquote> </blockquote>
 <h3> <h3>
 <a name="mu_utility">The MU Utility </a></h3> <a name="mu_utility">The MU Utility </a></h3>
Line 711 
Line 636 
 platforms, we platforms, we
 developed a small utility to provide a consistent set of small developed a small utility to provide a consistent set of small
 utilities utilities
 across these platforms. The MU utilityis a simple utility that contains  across these platforms. The MU utility is a simple utility that
   contains
 many many
 commands. For example: commands. For example:
 </p> </p>
Line 732 
Line 658 
 </p> </p>
 <p>MU is required to build under the Windows environment. MU is <p>MU is required to build under the Windows environment. MU is
 available as part available as part
 of the distribution of Pegasus.<br>  of the distribution of OpenPegasus.<br>
 </p> </p>
   NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin
   directory.
   You must build it separately. MU source code is part of the
   distribution
   in the directory src/utils/MU with its own make file. You must compile
   MU
   before you initiate the OpenPegasus make.<br>
   A copy of the binary is made available as a zip file on the OpenPegasus
   WEB site.
   <p></p>
 <h2><a name="note_bld_peg_ssl">Notes about <h2><a name="note_bld_peg_ssl">Notes about
 Building Pegasus with SSL  Building OpenPegasus with SSL
 </a></h2> </a></h2>
 <p> <p>
 To build with SSL you need the OpenSSL libraries and header files. They To build with SSL you need the OpenSSL libraries and header files. They
 are NOT distributed with Pegasus. Make sure you have them in a standard  are NOT distributed with OpenPegasus. Make sure you have them in a
 directory so Pegasus can find them. If that's not  standard
   directory so OpenPegasus can find them. If that's not
 the case, set the environment variable OPENSSL_HOME= to point where the case, set the environment variable OPENSSL_HOME= to point where
 your OpenSSL your OpenSSL
 installation is. installation is.
 </p> </p>
 <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make'
 in Pegasus in Pegasus
 directory and you will have Pegasus with SSL enabled. See "Creating SSL  directory and you will have OpenPegasus with SSL enabled. See "Creating
   SSL
 certificates" below for more information on how to use SSL. certificates" below for more information on how to use SSL.
 </p> </p>
 <h3><a name="crt_ssl_cert">Creating SSL certifications </a></h3>  Refer to the SSL Admin guide found in the doc directory for details on
 <p>Type these commands in your shell to create the SSL certifications.  using OpenPegasus with SSL.<br>
 The PEGASUS_ROOT and PEGASUS_HOME have to be set to your respective  
 installation and source directory.<br>  
 <span style="color: rgb(0, 0, 0);">Set the sslKeyFilePath to  
 key.pem.&nbsp; Set the sslCertificateFilePath to cert.pem.&nbsp; To  
 create a client truststore to validate the server against, copy the  
 server's certificate into the client truststore, client.pem.</span><br>  
 </p>  
 <pre  
  style="font-style: italic; font-family: courier new,courier,monospace; margin-left: 40px;"><small>CN="Common Name"<br>EMAIL="test@email.address"<br>HOSTNAME=`uname -n`<br>sed -e "s/$CN/$HOSTNAME/" \<br>-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \<br>&gt; $PEGASUS_HOME/ssl.cnf<br>chmod 644 $PEGASUS_HOME/ssl.cnf<br>chown bin $PEGASUS_HOME/ssl.cnf<br>chgrp bin $PEGASUS_HOME/ssl.cnf<br><br>/usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \<br>-nodes -config $PEGASUS_HOME/ssl.cnf \<br>-keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem <br><br>cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem</small></pre>  
 <p style="color: rgb(0, 0, 0);">Note:&nbsp; key.pem is  
 sslKeyFilePath. cert.pem is sslCertificateFilePath</p>  
 <p></p> <p></p>
 <h1> <h1>
 <a name="test">Testing a Pegasus Installation</a></h1>  <a name="test">Testing a OpenPegasus Installation</a></h1>
 <p> <p>
 Pegasus includes an extensive set of test facilities as part of the CVS  OpenPegasus includes an extensive set of test facilities as part of the
 enviroment, including:  CVS
   environment, including:
 </p> </p>
 <ul> <ul>
   <li><b>Test Clients</b> - There are several clients that have been   <li><b>Test Clients</b> - There are several clients that have been
 built specifically to test Pegasus, or parts of Pegasus, including  built specifically to test OpenPegasus, or parts of OpenPegasus,
   including
 TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the
 src/Clients directory for more information. These programs require a src/Clients directory for more information. These programs require a
 server complete with repository to be running.&nbsp; Note that some of server complete with repository to be running.&nbsp; Note that some of
 these tests use classes and instances that are only installed with the these tests use classes and instances that are only installed with the
 "make testrepository" functions including test namespaces and extra "make testrepository" functions including test namespaces and extra
 classes and instances in those namespaces and additional providers from classes and instances in those namespaces and additional providers from
 the providers/sample and proviers/testproviders directories. </li>  the providers/sample and providers/testproviders directories. </li>
   <li><b>Sample and test providers</b> -&nbsp; Test providers exist for   <li><b>Sample and test providers</b> -&nbsp; Test providers exist for
 the major provider types in the providers/sample directories and the the major provider types in the providers/sample directories and the
 providers/testProviders directory </li> providers/testProviders directory </li>
   <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for    <li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests
   for
 the functions.&nbsp; These are normally executed with the "make tests" the functions.&nbsp; These are normally executed with the "make tests"
 command which can be executed at many different levels of the source command which can be executed at many different levels of the source
 tree from the top level to execute all of the unit tests to individual tree from the top level to execute all of the unit tests to individual
Line 800 
Line 730 
 tests and compares the results against predefined results.</li> tests and compares the results against predefined results.</li>
 </ul> </ul>
 <p></p> <p></p>
 <h2><a name="inst_peg_html">Installing the  <br>
 Pegasus HTML Test Client</a></h2>  
 <p>This is a separate test tool that allows Pegasus requests to be  
 initiated from  
 any WEB browser and that uses a WEB browser, CGI scripts and HTML pages  
 for  
 the formatting and connections. It requires a WEB server, etc. The  
 instructions for setting up this environment are maintained in a  
 separate readme in the CGI directory. </p>  
 <h2><a name="test_icu">Testing with ICU enabled</a></h2> <h2><a name="test_icu">Testing with ICU enabled</a></h2>
 <p>ICU (International Components for Unicode) refers to the set of <p>ICU (International Components for Unicode) refers to the set of
 libraries that  libraries that OpenPegasus uses to run globalized. For example: these
 Pegasus uses to run globalized. For example: these libraries are used  libraries are used
 to to
 load messages in different languages, format currency and numbers load messages in different languages, format currency and numbers
 according to according to
 a specific locale etc. In order to enable globalization in Pegasus,  a specific locale etc. In order to enable globalization in OpenPegasus,
 Pegasus  OpenPegasus
 must be built with ICU enabled, ie. the right environment variables must be built with ICU enabled, ie. the right environment variables
 must be must be
 set prior to running "make". Refer to the GlobalizationHOWTO.htm in the set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
Line 825 
Line 747 
 directory for details.<br> directory for details.<br>
 </p> </p>
 <p>&nbsp;When users run "make poststarttests" <p>&nbsp;When users run "make poststarttests"
 to verify the integrity of a Pegasus download, a series of tests are  to verify the integrity of a OpenPegasus download, a series of tests
   are
 run that run that
 require the cimserver to be running. These tests currently depend on require the cimserver to be running. These tests currently depend on
 specific specific
 messages returned from the server. When ICU is enabled, all messages messages returned from the server. When ICU is enabled, all messages
 come from the resource bundles and these usually do not match the come from the resource bundles and these usually do not match the
 hardcoded default messages within Pegasus. These hardcoded default  hardcoded default messages within OpenPegasus. These hardcoded default
 messages are what the various test programs expect in order to complete messages are what the various test programs expect in order to complete
 successfully. If the ICU enabled server is started without successfully. If the ICU enabled server is started without
 disabling message loading from the bundles, "make poststartests" will disabling message loading from the bundles, "make poststartests" will
Line 846 
Line 769 
 "make poststarttests" to complete successfully. Once "make "make poststarttests" to complete successfully. Once "make
 poststarttests" is poststarttests" is
 complete, you should stop the cimserver and then undefine complete, you should stop the cimserver and then undefine
 PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined, Pegasus  PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
   OpenPegasus
 will not be able to load messages will not be able to load messages
 using ICU resource bundles.<br> using ICU resource bundles.<br>
 </p> </p>
Line 859 
Line 783 
 </font></p> </font></p>
 <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br> <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br>
 </font></p> </font></p>
 <p><i><font size="2">Copyright (c) 2004 EMC Corporation;  <p><i><font size="2">Copyright (c) 2005 EMC Corporation;
 Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group; Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group;
 VERITAS Software Corporation</font><br> VERITAS Software Corporation</font><br>
 <br> <br>


Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10.8.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2