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

Diff for /pegasus/Attic/readme.html between version 1.2 and 1.11.2.3

version 1.2, 2003/11/19 23:40:02 version 1.11.2.3, 2006/07/12 19:53:48
Line 1 
Line 1 
 <html>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
   <html><head>
   
   
   
   
   <link rel="stylesheet" href="PEP_251_Draft_251_Readme_Version_1_2_files/info1margins.css">
  
 <head>  
 <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
 <meta name="ProgId" content="FrontPage.Editor.Document"> <meta name="ProgId" content="FrontPage.Editor.Document">
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>OpenPegasus</title>
 <title>OpenPegasus</title>  
 </head>  
   
 <body>  
  
                           <script language="javascript" src="PEP_251_Draft_251_Readme_Version_1_2_files/js.htm"></script></head><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: 0; margin-bottom: 0"><b>PEP #:</b> 103</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b></b><br>
 <p style="margin-top: 0; margin-bottom: 0"><b>Title: </b>OpenPegasus Version 2.3  </p>
 Release Readme file</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Version: </b>1.0</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
 <p style="margin-top: 0; margin-bottom: 0"><b>Created:</b> 12 November 2003</p>  Release 2.5.1 and subsequent 2.5 minor releases Readme file</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Authors: </b>Karl Schopmeyer</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Status:&nbsp; </b>draft</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span style="color: rgb(0, 0, 0);">
 <p style="margin-top: 0; margin-bottom: 0"><b>Version History:</b></p>  1.3<br>
 <table border="1" cellspacing="1" bordercolordark="#666666"  </span></p>
     bordercolorlight="#CCCCCC" width=100%  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 20th March 2006</p>
     style='font-size=10.0pt;font-family:Arial'>  <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
   <tr>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Martin Kirk<br>
     <th bgcolor="#CAE6CA">Version</th>  </p>
     <th bgcolor="#CAE6CA">Date</th>  <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
     <th bgcolor="#CAE6CA">Author</th>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>Draft</p>
     <th bgcolor="#CAE6CA">Change Description</th>  <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
   <table bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;" border="1" cellspacing="1" width="100%">
     <tbody>
       <tr>
         <th bgcolor="#cae6ca">Version</th>
         <th bgcolor="#cae6ca">Date</th>
         <th bgcolor="#cae6ca">Author</th>
         <th bgcolor="#cae6ca">Change Description</th>
   </tr>   </tr>
   <tr>   <tr>
     <td align="center">1.0</td>     <td align="center">1.0</td>
     <td align="center">12 November 2003</td>        <td align="center">March 20th 2006</td>
     <td align="center">Karl Schopmeyer</td>        <td align="center">Martin Kirk</td>
     <td>Update from 2.2 Release notes. Converted to HTML</td>        <td>First draft, basically unchanged from 2.5 ReadMe except for version
   </tr>                  numbers and typos</td>
   <tr>      </tr>
     <td align="center">&nbsp;</td>      <tr>
     <td align="center">&nbsp;</td>        <td style="vertical-align: top;" align="center">1.1</td>
     <td align="center">&nbsp;</td>        <td style="vertical-align: top; text-align: center;">March 23rd 2006</td>
     <td>&nbsp;</td>        <td style="vertical-align: top; text-align: center;">Martin Kirk</td>
         <td style="vertical-align: top; text-align: center;">
                   <p style="text-align: left;">Draft for ballot incorporating draft 1.0
                   comments.</p></td>
       </tr>
       <tr>
         <td style="vertical-align: top;" align="center">1.2</td>
         <td style="vertical-align: top;" align="center">March 26th 2006</td>
         <td style="vertical-align: top;" align="center">Martin Kirk</td>
         <td style="vertical-align: top;">Draft for Steering Committee approval.
         Approved</td>
       </tr>
       <tr>
         <td style="vertical-align: top; color: rgb(0, 0, 0);" align="center">1.3</td>
         <td style="vertical-align: top; color: rgb(0, 0, 0);">
         <p align="center">July 12th 2006</td>
         <td style="vertical-align: top; color: rgb(0, 0, 0);">
         <p align="center">Karl Schopmeyer</td>
         <td style="vertical-align: top; color: rgb(0, 0, 0);">Update to Reflect
         that it applies to subsequent 2.5 minor releases. <font color="#FF0000">
         (Note Approved)</font></td>
       </tr>
       <tr>
         <td style="vertical-align: top;" align="center">&nbsp;</td>
         <td style="vertical-align: top;">&nbsp;</td>
         <td style="vertical-align: top;">&nbsp;</td>
         <td style="vertical-align: top;">&nbsp;</td>
   </tr>   </tr>
     </tbody>
  </table>  </table>
 <hr> <hr>
 <p><b>Abstract:</b>&nbsp; Installation, build, operation information on the  <p><b>Abstract:</b>&nbsp; Installation, build, operation information on
 Pegasus Platform Version 2.3 Release. Note that if this readme conflicts with  the OpenPegasus Version 2.5.1 Release and subsequent minor releases. Note that if this readme
 the documentation in the release notes or interface definition documents for a  conflicts with the documentation in the release notes or interface
 particular release, those documents should be considered authorative. This is a  definition documents for a particular release, those documents should
 simplified overview to act as an introduction to Pegasus.</p>  be considered authoritative. This is a simplified overview to act as an
   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  Services Broker for the DMTF CIM/WBEM Standards
 for the DMTF CIM/WBEM Standards  </font></b></p>
 </font>  <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
 </b>  DMTF CIM objects written in C++
   and hosted by The Open Group </p>
 <p align="left">  
 <b>Tagline:</b> OpenPegasus is an object manager for DMTF CIM objects written in C++  
 and supported by The Open Group </p>  
   
 <p align="left"> <p align="left">
   <b>STATUS:</b> Revised July 2006 for&nbsp; Pegasus release version 2.5.1 and
 <b>STATUS:</b> Revised November 2003 for&nbsp; Pegasus release version 2.3.0  subsequent releases&nbsp; - Draft<font color="#FF0000"> (Change to Architecture
 &nbsp;</p>  Team Approved)</font><br>
   </p>
 <p align="center">  <a href="#Overview">Overview</a>
 <b><font size="4">Table of Contents</font></b><p align="left" style="margin-top: 0; margin-bottom: 0">  <blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
 <a href="#Overview">&nbsp;Overview</a>    <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
           <a href="#cmnd">Commands</a><br>
 <p align="left" style="margin-top: 0; margin-bottom: 0">    <a href="#docs">Documentation</a><br>
 <a href="#Availability of Pegasus">Availability of Pegasus</a><p align="left" style="margin-top: 0; margin-bottom: 0">    <a href="#part">How to Participate</a><br>
 <a href="#Pegasus Major Components">Pegasus Major Components</a><p align="left" style="margin-top: 0; margin-bottom: 0">  </blockquote>
 <a href="#Pegasus Supported Platforms">Pegasus Supported Platforms</a><p align="left" style="margin-top: 0; margin-bottom: 0">  <a href="#inst_peg">Installing Pegasus</a>
 <a href="#Pegasus Dependencies">Pegasus Dependencies </a>  <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a href="#download">
           Obtain Pegasus in Source Code or Binary Executable Format</a><br>
 <p align="left" style="margin-top: 0; margin-bottom: 0">          <a href="#peg_dep">Verify Dependencies</a><br>
 <a href="#The Pegasus Directory Structure">The Pegasus Directory Structure</a>    <a href="#set_envt_var">Set the environment variables</a></blockquote>
   <a href="#build_peg">Building Pegasus</a><blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <a href="#note_bld_peg_lnx">Building Pegasus on Linux</a><br>
 <a href="#Pegasus Installation">Installation</a>  <a href="#note_bld_peg_ssl">Building Pegasus with SSL</a><br>
   <a href="#bld_peg_win">Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>
 <p align="left" style="margin-top: 0; margin-bottom: 0">    <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a href="#mu_utility">The MU Utility</a><br>
 <a href="#Building Pegasus">Building Pegasus </a>    </blockquote>
   </blockquote>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
 <a href="#Populate the Repository">Populate the Repository</a>  <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
   <a href="#test">Test the Pegasus installation</a><br>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a href="#test_icu">Testing with ICU enabled</a></blockquote>
 <a href="#Registering Providers in the Pegasus Environment">Registering  <a href="#sec0">Security Considerations</a><br>
 Providers</a><p align="left" style="margin-top: 0; margin-bottom: 0">  <hr>
 <a href="#The MU Utility">The MU Utility</a>  
   
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Notes about Building Pegasus on Linux">Notes about Building Pegasus on Linux</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client  
 </a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Commands">Commands</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Creating SSL certifications">Creating SSL certifications</a>.  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Testing with ICU enabled">Testing with ICU enabled </a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Pegasus Documentation">Documentation</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Participate!">Participate</a>  
   
 <h1><a name="Overview">Overview</a> </h1> <h1><a name="Overview">Overview</a> </h1>
   <b>OpenPegasus (also referred to as Pegasus):</b>
 <p><b>OpenPegasus (also referred to as Pegasus):</b>  Pegasus is an open-source CIM Server for DMTF CIM objects. It is
   written
 Pegasus is an open-source CIM Server for DMTF CIM objects. It is 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  interfaces, an implementation of the CIMOperations over HTTP operations
 implemenation of the CIMOperations over HTTP operations and their cimxml HTTP  and their cimxml HTTP encodings, and Interface libraries
 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; exceptions  consistent with the DMTF CIM and WBEM specifications except for&nbsp;
 noted in the documentation.  exceptions
 <P>  noted in the documentation.<br>
 Pegasus is open source and is covered under the MIT open-source license.<P>  <br>
 Pegasus is being developed and maintained under the auspices of The Open  <span class="norm"></span>OpenPegasus includes components for: <br>
 Group. Pegasus is maintained under the license defined in the doc directory  <ol>
 (LICENSE) of this release. This licensing is intended to support as wide a    <li>DMTF compliant CIMServer that processes CIM operations, CIM
 distribution as possible with minimal demands on the users.  Indications, and
 <P>  includes class and instance repositories and interfaces for creating
 More information on this project, access to the CVS, and documentation on  CIM
 Pegasus are available from the OpenGroup WEB site.  Providers and CIM Clients.</li>
 <P>    <li>Provider interfaces so that providers may be developed in multiple
 &nbsp;&nbsp;&nbsp; <a href="http://www.opengroup.org">http://www.openpegaus.org</a><p>  languages (i.e.
 There are a number of separate documents representing the status and each  C++, C, Java).</li>
 release of Pegasus    <li>A number of CIM clients and providers for basic instrumentation.</li>
 <ul>          <li>A number of CIM server administration commands.</li>
 <li>What's new for this release - See the PEPs (Pegasus Enhancement Procedures)    <li>A MOF compiler.</li>
 release notes on the Pegasus web site and duplicated in the source top level    <li>A number of sample CIM clients and providers to provide usage examples,</li>
 directory<li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and          <li>CIM server test functions providing both unit tests and end-to-end
 the web site as a Pegasus PEP.</ul>          system tests.</li>
     <li>More complete information on the exact functions
   and their functional state is available from the release notes for each
 <p>The release notes are available on the WEB site as Pegasus PEP documents and  OpenPegasus release.</li>
 in the CVS for each release.</p>  </ol>
 <table border="1" cellspacing="1" width="31%" id="AutoNumber3">  OpenPegasus is open source and is covered under the MIT open-source
   <tr>  license.
     <td width="42%"><b>Release</b></td>  OpenPegasus is being developed and maintained under the auspices of The Open
     <td width="58%"><b>Release Notes PEP</b></td>  Group.&nbsp; OpenPegasus is maintained under the license defined in <font style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
   </tr>  This licensing is intended to support as
   <tr>  wide a
     <td width="42%">2.0</td>  distribution as possible with minimal demands on the users.<br>
     <td width="58%">None</td>  <br>
   </tr>  More information on this project, access to the CVS, and
   <tr>  documentation on
     <td width="42%">2.1</td>  Pegasus are available from the OpenGroup WEB site - &nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.openpegasus.org/">http://www.openpegasus.org</a><br>
     <td width="58%">None</td>  <h4><a name="peg_sup_plat">Pegasus Supported Platforms</a></h4>
   </tr>  <p>
   <tr>  Pegasus is regularly tested against a variety of platforms by the
     <td width="42%">2.2</td>  development group.&nbsp; The results of the nightly tests can be found
     <td width="58%">PEP 57</td>  here: <a href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
   </tr>  test status</a> .&nbsp; The Release notes provides additional details
   <tr>  regarding the platforms.&nbsp;
     <td width="42%">2.3</td>  PEP 249 is the Release Notes PEP for 2.5.x.<br>
     <td width="58%">PEP 98</td>  </p>
   </tr>  <h4><a name="cmnd">Commands</a></h4>
 </table>  <p></p>The manpages for each of the commands can be found in the Pegasus source
   tree in the pegasus/rpm/manLinux/ directory.<p></p>
   <p>To see simple help for a command, invoke it with the "--help" option.</p>
 <h1><a name="Availability of Pegasus">Availability of Pegasus</a></h1>  <p><font face="Verdana">Here is a list of useful
   commands:</font></p>
 <p>Pegasus is distributed as open source under the MIT open-source license. The distribution is available via  <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
 CVS and snapshot images in tar and zip file formats on the web site.  the basic commands:</span>
 The source code from CVS can be found at the following Open Group CVS server;  <br>
 <p>  NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  for
 cvs.opengroup.org:/cvs/MSB </font>  more information about administering the Pegasus CIMServer.<br>
 <p>  
 using the password authenticating server option (pserve).  
 <p>  
 Anonymous access for read is with the name and password &quot;anon&quot; as follows:  
 <blockquote>  
 <p style="margin-top: 0; margin-bottom: 0">  
 <font face="Courier New">%export CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB  
 </font>  
 <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">%cvs login  
 </font>  
 </blockquote>  
 <p>  
 When requested, enter the password &quot;anon&quot;.  
 The source tree is in the directory pegasus. To check out the complete Pegasus  
 source tree just type:  
 <p>  
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  
 cvs co pegasus </font>  
 <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>  
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  
 cvs update -d </font>  
   
 <p>  
 Active contributors to Pegasus have write access to the CVS repository.  
 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 (m.kirk@opengroup.org) or Karl Schopmeyer  
 <a href="mailto:(k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>).  
   
 <h1>  
 <a name="Pegasus Major Components">Pegasus Major Components</a></h1>  
   
 <p>The major components of Pegasus are:  
 <ul> <ul>
   <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for providers and clients    <li>cimserver daemon=true&nbsp; (Start the server
   </li>  cimserver)</li>
   <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined class repository    <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
 interface and a simple file based class repository. It also includes    <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
 an instance repository. Note that these repository were created for  with
 functionality, not efficieny. It is expected that they will be replaced  config flags)</li>
 with other implementations of the respository function as the need arises.    <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
   </li>    <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
   <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients based on the Pegasus  OperatingSystem provider)</li>
 C++ interfaces and using the WBEM HTTP/XML protocols or directly    <li>cimuser -a -u guest -w &lt;ThePassword&gt; (Adds the user <span style="font-style: italic;">guest</span> with specified password)<br>
 interfacing with Pegasus.    </li>
   </li>    <li>cimuser -l&nbsp; (Lists the users )<br>
   <li><b>Pegasus Test Clients</b> - Simple test clients being developed as part of the    </li>
 Pegasus development process. These can be seen in the src/Clients directory and  </ul>
   its subdirectories  Note:&nbsp; there are some differences between windows and other
   </li>  platforms in
   <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a test client for  starting the server as a daemon/service. Whereas most supported
 Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and  platforms use
 HTML to allow the entry of Pegasus operations from a WEB browser as forms  the configuration option daemon to start the server as a service, on
 and the receipt of the response as WEB pages. This has proven useful as a  windows it
 test tool and can be used for a wide variety of demonstrations.  must be specifically installed as a service (ex. cimserver -install)
   </li>  and then
   <li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus  started as a service (cimserver -start). The cimserver --help option
 C++ interfaces.  explains the
   </li>  exact format of the start and stop options.<h4><a name="docs">Pegasus Documentation</a></h4>
   <li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services  <p>Much of Pegasus
 including providers for test and demonstration.  is documented in the PEGASUS PEPs which are the basis for approval of
   </li>  Pegasus functionality, changes, plans, etc.&nbsp; These documents are
   <li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus  openly available on the PEGASUS web site.&nbsp;The current documentation is
 components to extend Pegasus capabilites.  maintained both as a manual created
   </li>  under the tool DOC++ in the runtime subdirectory manual/html (see
   <li><b>Pegasus MOF Compiler </b>- There&nbsp; standalone compiler (cimmofl) for MOF files that can be used  doc/devManual to create), as an api document also creatable from the
 to install MOF into the Pegasus schema repository and also to check syntax.  source tree (see doc/apidoc) and as other miscellaneous documentation
   There is also a compiler that operates as a Pegasus client(cimmof)  in the doc directory. Also there is a set of release notes. Normally
 There is also a tool to extract the MOF from the repository.  the release notes for the current release are available in the root
   source directory of CVS.</p>
   </li>  <p>Note that the Pegasus WEB site at The Open Group will be the source
   </ul>  of most
   documentation in the future and today is the source of most discussion
 <h1>  and
 <a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1>  design documentation. </p>
   <h4><a name="part">How to Participate</a></h4>
 <p>  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors
 Pegasus is regularly tested against a variety of platforms by the development  are welcome to participate in the OpenPegasus development effort. Join
 group.&nbsp; The set of platforms and exact set of compilers for any given  the mailing list by visiting <a href="http://www.openpegasus.org/">http://www.openpegasus.org</a> and clicking on
 release is documented in the Release notes for that release (see the CVS source  Mailing Lists. Joining the pegasus-l mailing list will provide a login/password
 tree root directory or the Pegasus PEP defining the ReleaseNotes for any  for the website.</font></p>
 particular release).</p>  <h1>
   <a name="inst_peg">Installing Pegasus</a> </h1>
 <p>  <h4><a name="download">Obtain Pegasus in Source Code or Binary Executable Format</a></h4>
 Generally Pegasus is supported on the following Platforms and Compilers.</p>  <h2></h2>
 <table border="1" cellspacing="1" id="AutoNumber2" width="728">  <h2></h2>
   <tr>  <ol>
     <td width="169" bgcolor="#99FF99"><b>Platform and OS</b></td>  Pegasus can be obtained via any of the following:<br>
     <td width="556" bgcolor="#99FF99"><b>Compilers</b></td>    <ol>
   </tr>      <li>Released tarballs (see
   <tr>          <a href="http://www.openpegasus.org/page.tpl?ggid=392">Release
     <td width="169">AIX</td>  tarballs link</a>)</li>
     <td width="556">VisualAge C++ Version</td>      <li>CVS (See <a href="http://www.openpegasus.org/page.tpl?ggid=667">CVS
   </tr>  code repository</a> for
   <tr>  more information.)</li>
     <td width="169">HP-UX</td>      <li>Linux RPMs. See
     <td width="556">HP aC++ </td>  (<a href="http://www.openpegasus.org/pr">RPM
   </tr>  link</a> for
   <tr>  more information
     <td width="169">Linux Itanium</td>  )</li>
     <td width="556">gcc</td>    </ol>
   </tr>  </ol>
   <tr>  <p>NOTE: Linux RPMs are only available for a limited set of releases.
     <td width="169">Linux IA-32</td>  </p>
     <td width="556">gcc (versions 2.9x and 3.xx)</td>  <p>The distribution is available via CVS and snapshot images in
   </tr>  tar and zip file formats on the web site.
   <tr>  The source code from CVS can be found at the Open Group CVS server -
     <td width="169">Windows 2000</td>  cvs.opengroup.org. The source can be checked out anonymously using the
     <td width="556">Microsoft Visual C++ Ver 6 and Microsoft .Net compiler  instructions at <a href="http://www.openpegasus.org/protected/page.tpl?ggid=667">
     Version <font color="#FF0000">7</font></td>  http://www.openpegasus.org/page.tpl?ggid=667</a></p>
   </tr>  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
   <tr>  write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
     <td width="169">Windows XP</td>  (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
     <td width="556">Microsoft Visual C++ Ver. 6 and Microsoft .Net compiler  </p>
     Version <font color="#FF0000">7</font></td>  <p>RPM installation instructions can be found here: <a href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
   </tr>  </p>
   </table>  <strong></strong>
   <p></p>
 <h1>  <h4><a name="peg_dep">Verify Dependencies</a></h4>
 <a name="Pegasus Dependencies">Pegasus Dependencies </a></h1>  
   
 <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
 packages and tools. Currently Pegasus has the following dependencies: packages and tools. Currently Pegasus has the following dependencies:
 <p>  </p>
 <b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we  <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
   multiple platforms we
 have standardized on a set of build tools including: GNUMAKE. We are using  have standardized on a set of build tools including: GNUMAKE. We are
 GNUMAKE 3.79.1 successfully both in Windows and Linux environments.  using GNUMAKE 3.79.1 successfully both in Windows and Linux
 <p>  environments.
 GNUMAKE is available from :<p>  </p>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.gnu.org">http://www.gnu.org</a>  <p>GNUMAKE is available from :</p>
   <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank" 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  <p><b>2. FLEX and BISON</b> - These tools were used to develop the
 windows platforms is available on the openpegasus web site.<p>  MOF
 <b>2. MU.EXE </b>- To minimize the difference between Linux and Windows for GNUMAKE,  compiler and WQL
 we have created a utility called MU.exe. This utility is required for  parser.&nbsp; <span class="norm"></span><font style="color: rgb(0, 0, 0);">These tools are required only for
 Pegasus make with ONLY Windows environment. It is provided as an alternative to  development of the parsers, not for building Pegasus.</font></p>
 requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform  <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
 and effectively provides the functions of these utilities that GNUMAKE  combination of text files
 needs. MU is not required on UNIX or LINUX platforms.  and the Pegasus header files themselves. This documentation is
 <p>  formatted with DOC++ and GAWK.&nbsp;&nbsp; <span class="norm"></span><font style="color: rgb(0, 0, 0);">These tools are required to build the
 NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.  interface documentation set.</font>
 You must build it separately. MU source code is part of the distribution  </p>
 in the directory src/utils/MU with its own make file. You must compile MU  <p><b>4. ICU Internationalization libraries</b> - These libraries are
 before you initiate the Pegausu make.  used as the basis for message catalogs for message
 <p>  internationalization. See the ICU website
 NOTE: A copy of the binary is made available as a zip file on the Pegasus  (http://oss.software.ibm.com/icu/) for more information on these
 WEB site.  libraries</p>
 <p>  <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
 Again, MU is used ONLY if you are using Windows.  is intended to use SSL on the
   communication protocol, the OpenSSL libraries are required.<br>
 <p>  </p>
 <b>3. FLEX and BISON</b> - These tools were used to develop the MOF compiler and WQL  <p>&nbsp; NOTE: A set of the required
 parser. Anybody intending to recompile the compiler or parser from scratch  tools for windows platforms is available on the openpegasus web
 will be required to have these tools. They are only required if changes need  site.&nbsp; <a href="http://www.openpegasus.org/pp/uploads/40/Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
 to be made to the files for parsing and compiling.  <h4><a name="set_envt_var"><strong>Set the Environment
 <p><b>4. DOC++ </b>- The Pegasus documentation is taken from a combination of text files  Variables</strong></a></h4>
 and the Pegasus header files themselves. This documentation is formatted  <p>Before installing or running OpenPegasus, environment variables may
 with DOC++ and GAWK. These tools are required if the documentation is to  have to be defined or updated.&nbsp; <br>
 be recreated but we expect that only the core team will be recreating  </p>
 documentation.  <p>PEP 237 contains the list of environment variables and setup necessary
   to use OpenPegasus.</p>
 <p><b>5. ICU Internationalization libraries</b> - These libraries are used as  <p></p>At a minimum, the following need to be set:<p></p>
 the basis for message catalogs for message internationalization. See the ICU  
 website (http://oss.software.ibm.com/icu/) for more information on these  
 libraries<p>6. <b>OpenSSL </b>- If it is intended to use SSL on the  
 communication protocol, the OpenSSL libraries are required.<h1>  
 <a name="The Pegasus Directory Structure">The Pegasus Directory 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>  
 This structure is generally as follows:<p>  
 <font face="Courier New">Pegasus Source Structure</font><p>  
 <font face="Courier New">Pegasus Root directory (PEGASUS_ROOT environment  
 variable)</font><ul>  
   <li><font face="Courier New"><b>cgi</b> Source for the Pegasus WEB Based Test client  
   </font>  
   <ul>  
     <li><font face="Courier New">cgi-bin CGI Directories for WEB demonstration.  
 This directory is normally empty but can  
 be populated from the runtime with the make  
 from cgi.  
 </font></li>  
     <li><font face="Courier New">htdocs HTML Pages for Pegasus WEB demonstration  
     </font></li>  
     </ul>  
     </li>  
     <li><font face="Courier New"><b>doc</b> Miscellaneous Pegasus Documents.  
     </font>  
     <ul>  
       <li><font face="Courier New">apidoc - Source for the public api  
       documentation.</font></li>  
       <li><font face="Courier New">DevManual Source and build files for developers' manual  
 mak General make files (used by other makes)</font></li>  
       </ul>  
       </li>  
       <li><font face="Courier New"><b>mak</b> - Common make files for Pegasus  
       compilation</font></li>  
   <li><font face="Courier New"><b>Dummy</b> -</font></li>  
   <li><font face="Courier New"><b>InterfaceArchive</b> -</font></li>  
   <li><font face="Courier New"><b>rpm</b> - files for rpm installation for Linux</font></li>  
   <li><font face="Courier New"><b>Schemas</b> - Schemas used in the installation  
   of Pegasus. This includes currently released versions of the DMTF schemas in  
   subdirectories (ex. CIM27) and Pegasus local Schemas (ex. </font></li>  
       <li><font face="Courier New"><b>src</b> All Pegasus Source Files  
 </font>  
       <ul>  
         <li><font face="Courier New"><b>ACEExample</b> Test directrory with examples of the use of ACE (obsolete).  
         </font></li>  
         <li><font face="Courier New"><b>Clients</b> Source for various test  
         clients and demonstration clients.</font></li>  
         <li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client that uses a WEB browser  
 JAVA Java Client support modules  
 </font></li>  
         <li><font face="Courier New"><b>Pegasus</b> - Core pegasus modules.  
         </font>  
         <ul>  
           <li><font face="Courier New"><b>Client</b> Pegasus Client API Tests  
           depends tests </font></li>  
           <li><font face="Courier New"><b>Common</b> Pegasus Common Functions (C++ source and headers  
 tests Test programs for the common functions</font></li>  
           <li><font face="Courier New"><b>Compiler</b> Pegasus MOF compiler  
 </font></li>  
           <li><font face="Courier New"><b>Config</b> Pegasus Configuration  
           functions</font></li>  
           <li><font face="Courier New"><b>Consumer</b> Indication Consumer class  
           header</font></li>  
           <li><font face="Courier New"><b>ControlProviders</b> Implementation of Pegasus internal providers  
           </font></li>  
           <li><font face="Courier New"><b>ExportClient</b> Client connect code  
           for export of indications</font></li>  
           <li><font face="Courier New"><b>ExportServer</b> Server code for  
           import of indications</font></li>  
           <li><font face="Courier New"><b>Handler</b> Indication handlers. Today  
           this includes cimxml, SNMP and email handlers</font></li>  
           <li><font face="Courier New"><b>HandlerService</b> Common code for  
           indication handler service</font></li>  
           <li><font face="Courier New"><b>IndicationService</b> Common service  
           functions for indication subscription processing</font></li>  
           <li><font face="Courier New"><b>Listener</b> Common code that allows  
           CIM Listeners to be created and connected.</font></li>  
           <li><font face="Courier New"><b>Protocol</b> Pegasus Client HTTP/XML Protocol Modules  
 depends </font></li>  
           <li><font face="Courier New"><b>Provider</b> Pegasus Provider interface functions  
           </font></li>  
           <li><font face="Courier New"><b>ProviderManager</b> Provider Manager service that manages providers  
           </font></li>  
           <li><font face="Courier New"><b>ProviderManager2</b> Pluggable Provider Manager service.  
           Today this is not enabled by default It will become the Pegasus  
           standard provider manager at some time in the future but for now, see  
           the release notes if you want to enable it.</font></li>  
           <li><font face="Courier New"><b>Repository</b> Pegasus Repository  
           Interfaces and Simple Repository tests </font>  
           <ul>  
             <li><font face="Courier New">Tests for Repository Functions </font>  
             </li>  
             </ul>  
           </li>  
           <li><font face="Courier New"><b>Security</b> Authentication and user  
           support functions.</font></li>  
           <li><font face="Courier New"><b>Server</b> Pegasus Server Modules  
           </font></li>  
           <li><font face="Courier New"><b>WQL</b> the WQL query language  
           interpreter.</font></li>  
           </ul>  
           </li>  
           </ul>  
           </li>  
           <li><font face="Courier New"><b>Providers</b> Pegasus test and required providers  
           </font>  
           <ul>  
             <li><font face="Courier New"><b>generic</b> A number of  
             cross-platform providers  
             </font></li>  
             <li><font face="Courier New">IndicationConsumer - Provider that  
             consumes indications</font></li>  
             <li><font face="Courier New"><b>Linux</b> - A number of linux  
             providers</font></li>  
             <li><font face="Courier New"><b>ManagedSystem</b> Providers  
             associated with managing the Pegasus System</font></li>  
             <li><font face="Courier New"><b>slp</b> -&nbsp; Provider for slp  
             service agent support</font></li>  
             <li><font face="Courier New"><b>statistic</b> - Providers for  
             Pegasus statistics.</font></li>  
             <li><font face="Courier New"><b>sample</b> Sample providers for the  
             major provider types.</font></li>  
             <li><font face="Courier New"><b>testproviders</b> </font></li>  
             </ul>  
             </li>  
             <li><font face="Courier New"><b>Server</b> Pegasus executable build  
             </font></li>  
             <li><font face="Courier New"><b>slp</b> - </font></li>  
             <li><font face="Courier New"><b>Standard Includes</b> - </font></li>  
             <li><font face="Courier New"><b>test</b> - Directory of end-end  
             tests that are regularly conducted on Pegasus</font></li>  
             <li><font face="Courier New"><b>tools</b> MU and other utilities written for Pegasus support  
             </font></li>  
             <li><font face="Courier New"><b>Unsupported</b> Code that is made available but is not supported or included  
 in the normal make. </font></li>  
             <li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation that  
             provides mapping to Microsoft WMI objects.  
   
 </font></li>  
             </ul>  
 <p>  
 <font face="Courier New">Pegasus Run Time directory structure (PEGASUS_HOME  
 environment variable). Home directory for runtime. All compiler, linker  
 documentation creation, etc. are put here.  
 </font>  
             <ul>  
               <li><font face="Courier New"><b>bin</b> - Destination for executable and DLL modules from  
 Pegasus build. This directory should be make public so that the test functions,  
               clients, and cimserver can be executed with minimum effort.</font></li>  
               <li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the Pegasus Manual.  
               This is only created when the make file for this manual is  
               executed (doc/DevManual) and then contains the html representing  
               the document.</font></li>  
               <li><font face="Courier New"><b>apidochtml</b> - HTML output of  
               the creation of the public API document.&nbsp; This only exists  
               when the make file for the api document is executed (see doc/apidoc/Makefile)</font></li>  
               <li><font face="Courier New"><b>lib</b> - Destination for Pegasus LIB modules  
               </font></li>  
               <li><font face="Courier New"><b>log</b> - Standard location for  
               Pegasus Logs</font></li>  
               <li><font face="Courier New"><b>obj</b> - Destination for object  
               modules. Note that today, the trace file is located in the  
               PEGASUS_HOME directory, not in the log directory if Pegasus  
               internal tracing is enabled.</font></li>  
               <li><font face="Courier New"><b>repository</b> - This Directory  
               contains the created repository </font></li>  
               </ul>  
   
 <h1>  
 <a name="Pegasus Installation">Pegasus Installation</a> </h1>  
 <p>  
 Pegasus today is provided only as a source distribution.&nbsp; Note that there  
 is code for a Linux RPM distribution but the project is not yet releasing  
 binaies.<p>  
 To install Pegasus, you must check it out using CVS (Common Version System)  
 or download a snapshot. You download, compile, and use it.  
 <p>  
 For the snapshot, the installation of Pegasus involves expanding the snapshot  
 distribution files, building the runtime, the test files and test clients, and  
 building the repository.  
 <h1>  
   
 <a name="Building Pegasus">Building Pegasus </a>  
   
               </h1>  
   
 <p>  
 1. Check that you have requisite programs (listed in Pegasus Dependencies).  
   
 These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex  
 and Bison only required if changes will be made to the MOF compiler or WQL  
 parser).  
 <p>  
 Be sure these are on the path.  
   
 <p>  
 2. Define the following three environment variables:  
               <ul>  
                 <li><b>PEGASUS_ROOT</b> - this should be the &quot;pegasus&quot; directory you've pulled from CVS  
                 </li>  
                 <li><b>PEGASUS_HOME</b> - to point to a directory to contain output binary files  
 (e.g., set it to $HOME/pegasus_home). Then the output will go into  
 $HOME/pegasus_home/bin and $HOME/pegasus_home/lib  
                 </li>  
                 <li><b>PEGASUS_PLATFORM</b> - this must be set to a supported  
                 platform identifier.</li>  
                 </ul>  
                 <blockquote>                 <blockquote>
 <p>  PEGASUS_ROOT=&lt;location of your pegasus source tree&gt;
 This identifier has the following form:  <br>
 <p>  PEGASUS_HOME=&lt;location for the built executables, repository, etc&gt;
 <font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
 &lt;Operating-System&gt;_&lt;Architecture&gt;_&lt;Compiler&gt; </font>  
 <p>  
 For example (Linux on IA32 platform using the GNU Compiler):  
 LINUX_IX86_GNU  
 <p>  
 For a complete list of platforms supported and platform support keywords, refer to the platform make files found in directory&nbsp;  
 <font face="Courier New">pegasus/mak</font>  
  
   <br>
   PEGASUS_PLATFORM=&lt;your platform&gt;
                 </blockquote>                 </blockquote>
   <p>For a list of valid
 <p>  platforms, enter "make listplatforms" from the root of the Pegasus
 Note: if you plan on doing parallel builds, you might consider setting                  source tree. <br>
 PEGASUS_HOME to something like this:  </p>
 <p>  <h1><a name="build_peg">Building Pegasus</a></h1>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <div>
 $HOME/pegasus_home_LINUX_IX86_GNU </font>          <div>
 <p>                  To accept the default build options and get started quickly, use the</div>
 That way, the output of each build will be placed in its own directory.          <div>
 <p>                  following commands from the root of the Pegasus source tree:</div>
 3. Now place $PEGASUS_HOME/bin on your path          <br>
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and  &nbsp;<div>
 <p>                  &nbsp;&nbsp; make build</div>
 &nbsp;&nbsp;&nbsp;          <div>
 Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will build the dependencies, any utilities that are needed,
 For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib                  all</div>
 <p>          <div>
 4. Change to the root of the Pegasus distribution and type &quot;make&quot;                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Pegasus and test executable code, and do any necessary setup
 (where make refers to GNU make).                  to</div>
 <p>          <div>
 5. Then create the repository, which is needed to serve data.                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the CIM Server.</div>
 &quot;make repository&quot;. Note that to create the additional namespaces, etc.          <br>
 that represent the test support you can also execute &quot;make testrepository:<p>  &nbsp;<div>
 6. To test the build type &quot;make tests&quot;.                  &nbsp;&nbsp; make alltests</div>
 The following make targets are supported:          <div>
 <UL>                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will run the unit tests, create the repository by compiling
 <li>&lt;default&gt; - Build everything.                  in</div>
 <li>clean - Clean out all objects, libs, and executables.          <div>
 <li>depend - Create the dependencies.                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the MOF for the default CIM Schema (2.9 for Pegasus 2.5.1
 <li>repository - Create the repository in $PEGASUS_HOME/repository          and 2.5.2),
 <li>tests - Execute all tests (except client server tests).                  compile</div>
 <li>rebuild - clean, depend, &lt;default&gt;          <div>
 <li>world - depend, &lt;default&gt;                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in the MOF for all Pegasus test cases, do any other configuration</div>
 </UL>          <div>
 The Pegasus Client server tests are executed separately from the above because                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; necessary to run the tests, and then run a large automated test
 they require the initiation of separate process for the Pegasus server and                  suite</div>
 Pegasus client. To execute these tests please refer to the scripts in          <div>
 pegasus/mak/BuildMakefile - refer to the prestarttests and poststarttests.                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to verify Pegasus CIM Server functionality.`<p>&nbsp;</p></div>
 <p>          <div>
 For information on particular installation characteristics, tools, etc. for                  There are many variations possible. Refer to PEP 237 for possible build
 each platform see the appropriate sections below:                  and</div>
 <p>          <div>
 Generally the build commands are as follows:                  run-time configuration options. Enter "make usage" for more information
                 <ol>                  on</div>
                   <li>There is a Makefile in the Pegasus root directory. Simply executing          <div>
 make in the Pegasus root directory will make everything. &quot;make rebuild&quot;                  make targets that are available for building and testing Pegasus.</div>
 will clean and rebuild everything. The &quot;make rebuild&quot; will also populate  </div>
 the repository with the current CIM Schemas.  <h4><a name="note_bld_peg_lnx">Building OpenPegasus on Linux </a></h4>
                   </li>  <p>
                   <li>To test a fresh release, go to the pegasus root and type  To build OpenPegasus on Linux, ensure that you you have the environment
 &quot;<font face="Courier New">make world</font>&quot;.&nbsp;  variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For
 This will build dependencies, build binaries, and then run all  32 bit linux, the definition of PEGASUS_PLATFORM is normally
 tests except the Client/Server tests.  LINUX_IX86_GNU).<br>
                   </li>  </p>
                   <li>To execute the basic test suite that is shipped with pegasus type&nbsp;  <h4><a name="note_bld_peg_ssl">Building OpenPegasus with SSL
 &quot;make tests&quot;. This also reinstalls the repository.&nbsp;  </a></h4>
 Running &quot;make -s tests&quot; suppresses extraneous output such as the  <p>
 enter/leave directory messages.  To build with SSL you need the OpenSSL libraries and header files. They
                   </li>  are NOT distributed with OpenPegasus. Make sure you have them in a
                   <li>&quot;make clean&quot; removes all object and library files from the structure.  standard
   directory so OpenPegasus can find them. If that's not
                   </li>  the case, set the environment variable OPENSSL_HOME= to point where
                   <li>A new build system has been added to Pegasus where a new CVS checkout is  your OpenSSL
 done,  installation is.
 built, and tests are run. Do it by: &quot;make -f mak/BuildMakefile cleanbuild&quot;  </p>
   <p>Also have the PEGASUS_HAS_SSL=true variable set. Then just run 'make'
                   </li>  in Pegasus
                   </ol>  directory and you will have OpenPegasus with SSL enabled. See "Creating
   SSL
 <h1>  certificates" below for more information on how to use SSL.
 <a name="Populate the Repository">Populating the Pegasus Repository</a> </h1>  </p>
   Refer to the OpenPegasus SSL Guidelines guide found in the doc directory for details on
 <p>  using OpenPegasus with SSL.<br>
 Before using Pegasus you must populate the repository.. The makefile  <h4><a name="bld_peg_win">Building OpenPegasus on Windows 2k or Windows XP with Microsoft
 does it all for you, but in case you are wondering what it does or how to do it  Visual
   C++ </a></h4>
 manually:  <p>
 <ol>  Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
 <LI>Register the MOF (Managed Object Format) file describing the skeleton of the  regularly tested on both Windows 2000 and Windows XP using the
 object.  Microsoft compilers.</p>
 <li>Register a second MOF which only points out which lib*.so file to be loaded  <p>Today we build OpenPegasus on Windows using a set of make files
 when a  contained
 specific object is activated.  in the source distribution, the Microsoft compilers (DevStudio 5.x is
 </ol>  not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE
 This is done automatically for the providers included in Pegasus by doing:  make utility.&nbsp; Note that you MUST have the OpenPegasus <a href="#mu_utility">mu.exe </a>utility compiled and available
 make repository.  before trying to compile OpenPegasus on the normal windows platform.
 <p>  The
 The 'make repository' in pegasus/Schemas does three things  following is the basic setup steps for the environment.
 Runs MOF compiler (cimmofl) on:  </p>
 -Schema v2.7  <p>Setup the environment variables and path for the Micrososft Visual C
 Generates the CIM Schema v2.7 in the repository (skeleton of CIM objects)  compiler.
 -PG_InterOp  Typically this can be done by running the VCVARS32.BAT file supplied
 Internal to Pegasus schema for operating (shutdown, add users, etc)  with Microsoft Visual C++. (contained in the same directory as cl.exe).
 CIM_Indication’s (SNMP, Events, Alert, Threshold, etc)  </p>
 -PG_ManagedSystem  <p>For Windows, try the following for an example environment: </p>
 Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … )  <blockquote>
 in Pegasus (which are located in src/Providers)    <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 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>
 <p>  </blockquote>
 For more information about using the MOF compiler, refer to user's manual on the  <h6>
   <a name="mu_utility">The MU Utility </a></h6>
 openpegasus.org.  
   
 <h1>  
 <a name="Testing a Pegasus Installation">Testing a Pegasus Installation</a></h1>  
 <p>  
 Pegasus includes an extensive set of test facilities&nbsp; as part of the CVS  
 enviromentthat can be executed including:<ul>  
   <li><b>Test Clients</b> - There are several clients that have been built  
   specifically to test Pegasus or parts of Pegasus including TestClient, Client,  
   CLI, ipinfo, osinfo, WbemEsec, etc. See the src/Clients directory for more  
   information. These programs require a server complete with repository to be  
   running.&nbsp; Note that some of these tests use classes and instances that  
   are only installed with the &quot;make testrepository&quot; functions including test  
   namespaces and extra classes and instances in those namespaces and additional  
   providers from the providers/sample and proviers/testproviders directories.</li>  
   <li><b>Sample and test providers</b> -&nbsp; Test providers exist for the  
   major provider types in the providers/sample directories and the providers/testProviders  
   directory</li>  
   <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the  
   functions.&nbsp; These are normally executed with the &quot;make tests&quot; 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 directories.&nbsp;  
   Usually the unit test functions can be found in test directories immediately  
   below their corresponding source code (i.e&nbsp; common/tests is the unit test  
   functions for the common directory). Unit tests are executed without the  
   server being operational and normally do not require the existence of a Class  
   repository.</li>  
   <li><b>An end-to-end Test Suite</b> - the directory &quot;test&quot; contains a set of  
   operations tests that cover the major CIM operations.&nbsp; See the make file  
   TestMakefile in the PEGASUS_ROOT directory to execute these tests.&nbsp; This  
   set of tests executes an extensive set of fixed tests and compares the results  
   against predefined results.</li>  
   </ul>  
   
 <h1>  
 <a name="Registering Providers in the Pegasus Environment">Registering Providers  
 in the Pegasus Environment</a></h1>  
   
 <p>  
 Pegasus registers providers with a set of provider registration 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 exactly the same as the current  
 DMTF definition (See the DMTF Interop schema, experimental versions starting  
 with 2.6). This will be harmonized in the future when the DMTF scheme is moved  
 to final status.&nbsp; </p>  
   
 <p>  
 Registration is performed by defining a MOF for the instances of the  
 registration classes that represent the porvider module, providers, classes,  
 etc. to be registered.&nbsp; The easiest way to create a new registration today  
 is to copy from one of the existing registration MOFs.&nbsp; See the  
 providers/sample/load directory for examples of several registration instance  
 implementations that do work with Pegasus today.</p>  
   
 <h1>  
 <a name="The MU Utility">The MU Utility </a></h1>  
   
 <p> <p>
 In order to provide a consistent build structure across multiple platforms, we  In order to provide a consistent build structure across multiple
 developed a small utility to provide a consistent set of small utilities  platforms, we
 across these platforms. The MU utilityis a simple utility that contains many  developed a small utility to provide a consistent set of small
   utilities
   across these platforms. The MU utility is a simple utility that
   contains
   many
 commands. For example: commands. For example:
   </p>
 <p>  <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  
 C:\&gt; mu rm myfile.cpp yourfile.cpp </font> C:\&gt; mu rm myfile.cpp yourfile.cpp </font>
   </p>
 <p>  <p>You may type "mu" to get a list of valid commands. Here are some
 You may type &quot;mu&quot; to get a list of valid commands. Here are some  
 of them: of them:
   </p>
 <p>  <p>&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;  
 rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
   </p>
 <p>  <p>The MU utility supports globing (expansion of wildcards) so
 The MU utility supports globing (expansion of wildcards) so  
 you can do things like this: you can do things like this:
 <p>  </p>
   <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  
   
 C:\&gt; mu rm *.obj *.exe </font> C:\&gt; mu rm *.obj *.exe </font>
   </p>
   <p>MU is required to build under the Windows environment. MU is
   available as part
   of the distribution of OpenPegasus.<br>
   </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>
   <h1><a name="pop_peg_rep">Populate the Pegasus Repository</a> </h1>
 <p> <p>
 MU is required to build under the Windows environment. MU is available as part  Before using Pegasus you must populate the repository. Typically, this
 of the distribution of Pegasus.  is done during the build process when you run the makefile. However,
   you
 <h1>  can also do it manually after the Pegasus has been built. </p>
 <a name="Notes about Building Pegasus on Linux">Notes about Building Pegasus on  <ol>
 Linux </a></h1>    <li>Register the MOF (Managed Object Format) file describing the
 <p>  skeleton of the object. </li>
 No problem. Just make sure you have the environment variables set (PEASUS_HOME,    <li>Register a second MOF which only points out which lib*.so file to
 PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For 32 bit linux, the defintion of  be loaded when a specific object is activated. </li>
 PEGASUS_PLATFORM is normally LINUX_IX86_GNU.  </ol>
   <p></p>
 <h1><a name="Notes about Building Pegasus with SSL">Notes about Building Pegasus with SSL  
 </a></h1>  
 <p>  
 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 directory so Pegasus can find them. If that's not  
   
 the case, set the environment variable OPENSSL_HOME= to point where your  
 OpenSSL  
 installation is.  
 <p>  
 Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' in Pegasus  
 directory and you will have Pegasus with SSL enabled. See section &quot;Creating SSL  
   
 certificates&quot; for more information of how to use SSL.  
   
 <h1>  
 <a name="Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">  
 Building Pegasus on Windows 2k  or Windows XP with Microsoft Visual C++ </a></h1>  
   
 <p>  
 Use of Windows 2000 SP3 or later is recommended.&nbsp; Pegasus is regularly  
 tested on both Windows 2000 and Windows XP using the Microsoft compilers.<p>  
 Today we build Pegasus on Windows using a set of make files contained  
 in the source distribution, the Microsoft compilers (DevStudio 5.x is not  
 supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE make utility.&nbsp;  
 Note that you MUST have the Pegasus <a href="#The MU Utility">mu.exe </a>utility  
 compiled and available before trying to compile Pegasus on the normal windows  
 platform. The  
   
 following is the basic setup steps for the environment.  
 <p> <p>
   The providers included with Pegasus are automatically entered into the
 Setup the environment variables and path for the Micrososft Visual C compiler.  repository
   by running the following command: <tt>make repository</tt>
 Typically this can be done by running the VCVARS32.BAT file supplied with  </p>
 Microsoft Visual C++. (contained in the same directory as cl.exe).  
 <p> <p>
 For Windows, try the following for an example environment:  The 'make repository' in the&nbsp; pegasus directory does three things:
   <blockquote>  </p>
 <pre>REM call the standard Microsoft .bat for VC 6 setup.  <ul>
 call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat'    <li><span class="norm"></span> Removes the existing repository if one
 REM Set debug to something if you want compile in debug mode  exists.</li>
 set PEGASUS_DEBUG=true    <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
 REM set PEGASUS_ROOT to top of source tree  objects).&nbsp; </li>
 set PEGASUS_ROOT=C:/cimom/pegasus    <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
 REM set PEGASUS_HOME to where you want repository and executables  schema for CIM Server functions </font>(shutdown, add users, etc) and
 set PEGASUS_HOME=%PEGASUS_ROOT%  CIM indications
 REM setup the path to the runtime files.  (SNMP, Events, Alert, Threshold, etc)
 set path=%path%;%PEGASUS_HOME%/bin  internal to the Pegasus. </li>
 </pre>    <li>Registers included CIM Providers (libOSProvider.so,
 </blockquote><h1><a name="Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client</a></h1><p>  libDNSProvider.so, … ) in Pegasus (which are located in
 This is a separate test tool that allows Pegasus requests to be initiated from  src/Providers)&nbsp; </li>
 any WEB browser and that uses a WEB browser, CGI scripts and HTML pages for  </ul>
 the formatting and connections. It requires a WEB server, etc. The  <h1>
 instructions for setting up this environment are maintained in a separate readme in the CGI directory. <h1><a name="Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a></h1><p>  <a name="reg_prov">Registering
 ATTN: This section needs to be completed. It should reference the more complete  Providers in the Pegasus Environment</a></h1>
 documentation.<h1><a name="Commands">Commands</a></h1><p>  <p>
 The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on  Pegasus registers providers with a set of provider registration
 CVS) <p>  classes, not using the provider qualifier as is done in most DMTF CIM
 To see simple help for each of the commands, use the &quot;-h&quot; flag. <blockquote><pre>Examples:  CIMOM implementations today. This set of classes is close to but not
 bin/cimserver –s (Shuts it down)  exactly the same as the experimental DMTF definition (See the DMTF
 bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)  Interop
 bin/cimprovider –l –s (lists providers and their status)  schema, experimental versions starting with 2.6). This will be
 bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)  harmonized in the future when the DMTF scheme is moved to final
 bin/cimuser –a –u guest –w ThePassword  status.&nbsp; </p>
 bin/cimuser –l (lists the users)  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
 bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)  is performed by creating instances</font> of the
 </pre>  registration classes that represent the provider module, providers,
 </blockquote><h1><a name="Creating SSL certifications">Creating SSL certifications </a></h1><p>  classes, etc. to be registered.&nbsp; The easiest way to create a new
 Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT and PEGASUS_HOME have to be set to your respective installation and source  registration today is to copy from one of the existing registration
 directory. <blockquote><pre>CN=&quot;Common Name&quot;  MOFs.&nbsp; See the providers/sample/load directory for examples of
 EMAIL=&quot;test@email.address&quot;  several registration instance implementations that do work with
 HOSTNAME=`uname -n`  OpenPegasus
 sed -e &quot;s/$CN/$HOSTNAME/&quot; \  today.</p>
 -e &quot;s/$EMAIL/root@$HOSTNAME/&quot; $PEGASUS_ROOT/ssl.cnf \  <h1>
 &gt; $PEGASUS_HOME/ssl.cnf  <a name="test">Testing an OpenPegasus Installation</a></h1>
 chmod 644 $PEGASUS_HOME/ssl.cnf  <p>
 chown bin $PEGASUS_HOME/ssl.cnf  OpenPegasus includes an extensive set of test facilities as part of the
 chgrp bin $PEGASUS_HOME/ssl.cnf  CVS
   environment, including:
 /usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \  </p>
 -nodes -config $PEGASUS_HOME/ssl.cnf \  <ul>
 -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem    <li><b>Test Clients</b> - There are several clients that have been
   built specifically to test OpenPegasus, or parts of OpenPegasus,
 cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem &gt; $PEGASUS_HOME/server.pem  including
 rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem  TestClient, Client, CLI, ipinfo, osinfo, wbemexec, etc. See the
 cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem          pegasus/src/Clients directory for more information. These programs require a
 </pre></blockquote><h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1><p>  server complete with repository to be running.&nbsp; Note that some of
 ICU (International Components for Unicode) refers to the set of libraries that  these tests use classes and instances that are only installed with the
 Pegasus uses to run globalized. For example: these libraries are used to  "make testrepository" functions including test namespaces and extra
 load messages in different languages, format currency and numbers according to  classes and instances in those namespaces and additional providers from
 a specific locale etc. In order to enable globalization in Pegasus, Pegasus  the pegasus/Providers/sample and pegasus/Providers/TestProviders directories. </li>
 must be built with ICU enabled, ie. the right environment variables must be    <li><b>Sample and test providers</b> -&nbsp; Test providers exist for
 set prior to running &quot;make&quot;. Refer to the GlobalizationHOWTO.htm in the docs  the major provider types in the pegasus/Providers/sample directories and the
 directory for details. That said, when users run &quot;make poststarttests&quot;          pegasus/Providers/TestProviders directory </li>
 to verify the integrity of a Pegasus download, a series of tests are run that    <li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests
   for
 require the cimserver to be running. These tests currently depend on specific  the functions.&nbsp; These are normally executed with the "make tests"
   command which can be executed at many different levels of the source
 messages returned from the server. When ICU is enabled, all messages come  tree from the top level to execute all of the unit tests to individual
 from the resource bundles and these usually do not match the hardcoded default messages within Pegasus. These hardcoded default messages  directories.&nbsp; Usually the unit test functions can be found in test
 are what the various test programs expect in order to complete  directories immediately below their corresponding source code
   (i.e&nbsp; common/tests is the unit test functions for the common
   directory). Unit tests are executed without the server being
   operational and normally do not require the existence of a Class
   repository. </li>
     <li><b>An end-to-end Test Suite</b> - the directory "test" contains a
   set of operations tests that cover the major CIM operations.&nbsp; See
   the make file TestMakefile in the PEGASUS_ROOT directory to execute
   these tests.&nbsp; This set of tests executes an extensive set of fixed
   tests and compares the results against predefined results.</li>
   </ul>
   <h4><a name="test_icu">Testing with ICU enabled</a></h4>
   <p>ICU (International Components for Unicode) refers to the set of
   libraries that OpenPegasus uses to run globalized. For example: these
   libraries are used
   to
   load messages in different languages, format currency and numbers
   according to
   a specific locale etc. In order to enable globalization in OpenPegasus,
   OpenPegasus
   must be built with ICU enabled, ie. the right environment variables
   must be
   set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
   docs
   directory for details.<br>
   </p>
   <p>&nbsp;When users run "make poststarttests"
   to verify the integrity of a OpenPegasus download, a series of tests
   are
   run that
   require the cimserver to be running. These tests currently depend on
   specific
   messages returned from the server. When ICU is enabled, all messages
   come from the resource bundles and these usually do not match the
   hardcoded default messages within OpenPegasus. These hardcoded default
   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, &quot;make poststartests&quot; will fail.  disabling message loading from the bundles, "make poststartests" will
 In order to run &quot;make poststarttests&quot; successfully with ICU enabled, an  fail.
 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to  In order to run "make poststarttests" successfully with ICU enabled, an
 starting the server. Once this is defined, when the cimserver starts, all  environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
 messages generated will be the default hardcoded messages. This will enable  prior to
 &quot;make poststarttests&quot; to complete successfully. Once &quot;make poststarttests&quot; is  starting the server. Once this is defined, when the cimserver starts,
 complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES.  all
 If this variable is left defined, Pegasus will not be able to load messages  messages generated will be the default hardcoded messages. This will
 using ICU resource bundles. <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1><p>  enable
 The documentation is currently in preparation.&nbsp; Much of Pegasus is  "make poststarttests" to complete successfully. Once "make
 documented in the PEGASUS PEPs which are the basis for approval of Pegasus  poststarttests" is
 functionality, changes, plans, etc.&nbsp; These documents are openly available  complete, you should stop the cimserver and then undefine
 on the PEGASUS web site.&nbsp; The preliminary documentation  PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
 is not provided with this release. The current documentation is maintained both as a manual created  OpenPegasus
 under the tool DOC++ in the runtime subdirectory manual/html (see doc/devManual  will not be able to load messages
 to create), as an api document also creatable from the source tree (see doc/apidoc)  using ICU resource bundles.<br>
 and as other miscellaneous documentation in the doc directory. Also there is a  </p>
 set of release notes. Normally the release notes for the current release are  <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When
 available in the root source directory of CVS.<p>  running the make tests command with ICU enabled, the PEGASUS_MSG_HOME
 Note that the Pegasus WEB site at The Open Group will be the source of most  environment variable must be set to the home directory where the ICU
 documentation in the future and today is the source of most discussion and  resource bundles are built. By default the resource bundles are built
 design documentation. <h1><a name="Participate!">Participate!</a></h1><p>  into directories below PEGASUS_HOME/msg, so that should be the setting
 We are looking for people who want to join the Pegasus work group and  for PEGASUS_MSG_HOME.</font></p>
 contribute to effort of getting this Pegasus off the ground. Please join  <p></p>
 the mailing list by visiting www.openpegasus.org, and click on Mailing Lists.  <h1>
 &nbsp;</p>  <a name="sec0">Security Considerations</a></h1>
   <p>Some of the steps of installing and running Pegasus have
 </body>  security properties that you should be aware of. If you plan to administer a
   Pegasus server, see the 'security considerations' section of the administrators
   guide <pointer>. If you plan to write clients or providers for integration into
   Pegasus, see the developer's security guidance.<br>
   </pointer></p>
   <hr>
   <p><font size="2"><i>Copyright (c) 2006 Hewlett-Packard Development Company,
   L.P.; IBM Corp.;<br>
   EMC Corporation; Symantec Corporation; The Open Group.<br>
   <br>
   Permission is hereby granted, free of charge, to any person obtaining a copy<br>
   of this software and associated documentation files (the "Software"), to<br>
   deal in the Software without restriction, including without limitation the<br>
   rights to use, copy, modify, merge, publish, distribute, sublicense, and/or<br>
   sell copies of the Software, and to permit persons to whom the Software is<br>
   furnished to do so, subject to the following conditions:<br>
   <br>
   THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN<br>
   ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED<br>
   "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT<br>
   LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR<br>
   PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br>
   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN<br>
   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION<br>
   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</i></font></p>
   <hr>
   <p><i><font size="1"><big><big><span style="font-family: arial;">End of Document<br>
   </span></big></big></font></i></p>
   <p><span style="color: rgb(0, 0, 0);"></span> </p>
  
 </html>  
   <script language="javascript">postamble();</script>
   </body></html>


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.11.2.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2