(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.11.2.3

version 1.7, 2004/10/18 18:20:06 version 1.11.2.3, 2006/07/12 19:53:48
Line 1 
Line 1 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>  <html><head>
 <head>  
   
   
   
   <link rel="stylesheet" href="PEP_251_Draft_251_Readme_Version_1_2_files/info1margins.css">
   
   <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"    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>OpenPegasus</title>
  content="text/html; charset=windows-1252">  
   <title>OpenPegasus</title>                          <script language="javascript" src="PEP_251_Draft_251_Readme_Version_1_2_files/js.htm"></script></head><body>
 </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: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b></b><br>
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus  
 Version 2.4 Release Readme file</p>  
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span  
  style="color: rgb(0, 0, 0);">1.4</span></p>  
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 24 June  
 2004</p>  
 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren  
 Grunbok, Mike Harris<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;">&nbsp;</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
   Release 2.5.1 and subsequent 2.5 minor releases Readme file</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span style="color: rgb(0, 0, 0);">
   1.3<br>
   </span></p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 20th March 2006</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Martin Kirk<br>
   </p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>Draft</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</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>
 <table bordercolordark="#666666" bordercolorlight="#cccccc"  <table bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;" border="1" cellspacing="1" width="100%">
  style="font-family: Arial;" border="1" cellspacing="1" width="100%">  
   <tbody>   <tbody>
     <tr>     <tr>
       <th bgcolor="#cae6ca">Version</th>       <th bgcolor="#cae6ca">Version</th>
Line 32 
Line 39 
     </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">March 20th 2006</td>
       <td align="center">Warren Grunbok<br>        <td align="center">Martin Kirk</td>
       </td>        <td>First draft, basically unchanged from 2.5 ReadMe except for version
       <td>Initial draft<br>                  numbers and typos</td>
       </td>      </tr>
     </tr>      <tr>
     <tr>        <td style="vertical-align: top;" align="center">1.1</td>
       <td align="center">&nbsp;1.1</td>        <td style="vertical-align: top; text-align: center;">March 23rd 2006</td>
       <td align="center">24,August 2004 <br>        <td style="vertical-align: top; text-align: center;">Martin Kirk</td>
       </td>        <td style="vertical-align: top; text-align: center;">
       <td align="center">Warren Grunbok <br>                  <p style="text-align: left;">Draft for ballot incorporating draft 1.0
       </td>                  comments.</p></td>
       <td>Mostly spelling changes, adds to very last paragraph <br>      </tr>
       </td>      <tr>
     </tr>        <td style="vertical-align: top;" align="center">1.2</td>
     <tr>        <td style="vertical-align: top;" align="center">March 26th 2006</td>
       <td style="vertical-align: top;">1.2<br>        <td style="vertical-align: top;" align="center">Martin Kirk</td>
       </td>        <td style="vertical-align: top;">Draft for Steering Committee approval.
       <td style="vertical-align: top;">31, August 2004<br>        Approved</td>
       </td>      </tr>
       <td style="vertical-align: top;">Warren Grunbok<br>      <tr>
       </td>        <td style="vertical-align: top; color: rgb(0, 0, 0);" align="center">1.3</td>
       <td style="vertical-align: top;">Changes based on architecture        <td style="vertical-align: top; color: rgb(0, 0, 0);">
 review.&nbsp; Removed /Directory structure section and placed        <p align="center">July 12th 2006</td>
 into&nbsp; seperate document.<br>        <td style="vertical-align: top; color: rgb(0, 0, 0);">
 &nbsp;<br>        <p align="center">Karl Schopmeyer</td>
       </td>        <td style="vertical-align: top; color: rgb(0, 0, 0);">Update to Reflect
     </tr>        that it applies to subsequent 2.5 minor releases. <font color="#FF0000">
     <tr>        (Note Approved)</font></td>
       <td style="vertical-align: top;">1.3<br>      </tr>
       </td>      <tr>
       <td style="vertical-align: top;">???<br>        <td style="vertical-align: top;" align="center">&nbsp;</td>
       </td>        <td style="vertical-align: top;">&nbsp;</td>
       <td style="vertical-align: top;">Warren Grunbok<br>        <td style="vertical-align: top;">&nbsp;</td>
       </td>        <td style="vertical-align: top;">&nbsp;</td>
       <td style="vertical-align: top;">Removed Pegasus Directory  
 structure and placed in PEP 191, Added Copyright and End of Doc marker.<br>  
       </td>  
     </tr>  
     <tr>  
       <td style="vertical-align: top; color: rgb(0, 0, 0);">1.4<br>  
       </td>  
       <td style="vertical-align: top; color: rgb(0, 0, 0);">27,  
 Sept 2004<br>  
       </td>  
       <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren  
 Grunbok<br>  
       </td>  
       <td style="vertical-align: top; color: rgb(0, 0, 0);">Corrected  
 Security changes as per Sterling.<br>  
       </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.1 Release and subsequent minor releases. 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 authoritative. 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 July 2006 for&nbsp; Pegasus release version 2.5.1 and
 2.4.0&nbsp;  subsequent releases&nbsp; - Draft<font color="#FF0000"> (Change to Architecture
 - Approved<br>  Team Approved)</font><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;">
  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_dir_struc">The Pegasus Directory Structure</a><br>  
   <a href="#dev_with_peg">Development with Pegasus and Pegasus Tools</a><br>  
   <a href="#cmnd">Commands</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>  
 <a href="#inst_peg">Install Pegasus</a>  
 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a  
  href="#download">Download or checkout Pegasus</a><br>  
   <a href="#vfy_req_sw">Verify that you have the required  
 software</a><br>  
   <a href="#set_envt_var">Set the environment variables</a><br>  
   <a href="#bld">Build the Pegasus runtime, test files, test clients,  
 and 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="#bld_rpms">Build an RPM for Pegasus</a><br>  
   <a href="#note_bld_peg_lnx">Notes  
 about Building Pegasus on Linux</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>   </blockquote>
   <a href="#bld_peg_win">Building  <a href="#inst_peg">Installing Pegasus</a>
 Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>  <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a href="#download">
   <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a          Obtain Pegasus in Source Code or Binary Executable Format</a><br>
  href="#mu_utility">The MU Utility</a><br>          <a href="#peg_dep">Verify Dependencies</a><br>
     <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;">
   <a href="#note_bld_peg_lnx">Building Pegasus on Linux</a><br>
   <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>
     <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a href="#mu_utility">The MU Utility</a><br>
   </blockquote>   </blockquote>
 </blockquote> </blockquote>
   <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="#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="#test_icu">Testing with ICU enabled</a></blockquote>
  href="#inst_peg_html"> Installing the Pegasus HTML Test Client</a><br>  <a href="#sec0">Security Considerations</a><br>
   <a href="#test_icu">Testing with ICU enabled</a><br>  
 </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
 Open  Indications, and
 Group. Pegasus is maintained under the license defined in the doc  includes class and instance repositories and interfaces for creating
 directory  CIM
 (LICENSE) of this release. This licensing is intended to support as  Providers and CIM Clients.</li>
     <li>Provider interfaces so that providers may be developed in multiple
   languages (i.e.
   C++, C, Java).</li>
     <li>A number of CIM clients and providers for basic instrumentation.</li>
           <li>A number of CIM server administration commands.</li>
     <li>A MOF compiler.</li>
     <li>A number of sample CIM clients and providers to provide usage examples,</li>
           <li>CIM server test functions providing both unit tests and end-to-end
           system tests.</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.
   OpenPegasus is being developed and maintained under the auspices of The Open
   Group.&nbsp; OpenPegasus is maintained under the license defined in <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.<br>
 </p>  <br>
 <p>More information on this project, access to the CVS, and  More information on this project, access to the CVS, and
 documentation on documentation on
 Pegasus are available from the OpenGroup WEB site.  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>
 </p>  <h4><a name="peg_sup_plat">Pegasus Supported Platforms</a></h4>
 <p>&nbsp;&nbsp;&nbsp; <a target="blank"  
  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>  
 <p>Pegasus is distributed as open source under the MIT open-source  
 license. The distribution is available via CVS and snapshot images in  
 tar and zip file formats on the web site.  
 The source code from CVS can be found at the following Open Group CVS  
 server;  
 </p>  
 <p><font face="Courier New">&nbsp;&nbsp;&nbsp;  
 cvs.opengroup.org:/cvs/MSB </font> </p>  
 <p>using the password authenticating server option (pserve).  
 </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>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 (<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 href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
 that release (see the CVS source tree root directory or the Pegasus PEP  test status</a> .&nbsp; The Release notes provides additional details
 defining the ReleaseNotes for any particular release).</p>  regarding the platforms.&nbsp;
 <p>  PEP 249 is the Release Notes PEP for 2.5.x.<br>
 Pegasus is supported on a variety of platforms.&nbsp; The list of  </p>
 platforms can be found in the release notes associated with this  <h4><a name="cmnd">Commands</a></h4>
 release.<br>  <p></p>The manpages for each of the commands can be found in the Pegasus source
 </p>  tree in the pegasus/rpm/manLinux/ directory.<p></p>
   <p>To see simple help for a command, invoke it with the "--help" option.</p>
   <p><font face="Verdana">Here is a list of useful
   commands:</font></p>
   <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> <br>
 <h2><a name="peg_dep">Pegasus Dependencies</a></h2>  NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
 <p>  for
 We have worked to minimize the dependence of Pegasus on other software  more information about administering the Pegasus CIMServer.<br>
 packages and tools. Currently Pegasus has the following dependencies:  <ul>
 </p>    <li>cimserver daemon=true&nbsp; (Start the server
 <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across  cimserver)</li>
 multiple platforms we    <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
 have standardized on a set of build tools including: GNUMAKE. We are    <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
 using GNUMAKE 3.79.1 successfully both in Windows and Linux  with
 environments.  config flags)</li>
 </p>    <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
 <p>GNUMAKE is available from :</p>    <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank"  OperatingSystem provider)</li>
  href="http://www.gnu.org">http://www.gnu.org</a>    <li>cimuser -a -u guest -w &lt;ThePassword&gt; (Adds the user <span style="font-style: italic;">guest</span> with specified password)<br>
 </p>    </li>
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOTE: A set of the required    <li>cimuser -l&nbsp; (Lists the users )<br>
 tools for windows platforms is available on the openpegasus web    </li>
 site.&nbsp; <a href="www.openpegasus.org">www.openpegasus.org</a><br>  </ul>
 </p>  Note:&nbsp; there are some differences between windows and other
 <p><b>2. MU.EXE </b>- To minimize the difference between Linux and  platforms in
 Windows for GNUMAKE,  starting the server as a daemon/service. Whereas most supported
 we have created a utility called MU.exe. This utility is required for  platforms use
 Pegasus make with ONLY Windows environment. It is provided as an  the configuration option daemon to start the server as a service, on
 alternative to  windows it
 requiring a number of UNIX utilities (SH, RM, etc.) on the windows  must be specifically installed as a service (ex. cimserver -install)
 platform  and then
 and effectively provides the functions of these utilities that GNUMAKE  started as a service (cimserver -start). The cimserver --help option
 needs. MU is not required on UNIX or LINUX platforms.  explains the
 </p>  exact format of the start and stop options.<h4><a name="docs">Pegasus Documentation</a></h4>
 <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin  <p>Much of Pegasus
 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  
 parser. Anybody intending to recompile the compiler or parser from  
 scratch will be required to have these tools. They are only required if  
 changes need to be made to the files for parsing and compiling.  
 </p>  
 <p><b>4. DOC++ </b>- The Pegasus documentation is taken from a  
 combination of text files  
 and the Pegasus header files themselves. This documentation is  
 formatted with DOC++ and GAWK. These tools are required if the  
 documentation is to be recreated but we expect that only the core team  
 will be recreating documentation.  
 </p>  
 <p><b>5. ICU Internationalization libraries</b> - These libraries are  
 used as 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>  
 <p>6. <b>OpenSSL </b>- If it is intended to use SSL on the  
 communication protocol, the OpenSSL libraries are required.</p>  
 <h1><a name="peg_dir_struc">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>  
 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>  
 <h1><a name="cmnd">Commands</a></h1>  
 <p>  
 The manpages for each of the commands are in rpm/manLinux/man1.Z  
 directory (on CVS) </p>  
 <p>To see simple help for each of the commands, use the "-h" flag. </p>  
 <blockquote>  
   <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>  
 </blockquote>  
 <h1><a name="docs">Pegasus Documentation</a></h1>  
 <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
 Pegasus functionality, changes, plans, etc.&nbsp; These documents are Pegasus functionality, changes, plans, etc.&nbsp; These documents are
 openly available on the PEGASUS web site.&nbsp; The preliminary  openly available on the PEGASUS web site.&nbsp;The current documentation is
 documentation  
 is not provided with this release. The current documentation is  
 maintained both as a manual created maintained both as a manual created
 under the tool DOC++ in the runtime subdirectory manual/html (see under the tool DOC++ in the runtime subdirectory manual/html (see
 doc/devManual to create), as an api document also creatable from the doc/devManual to create), as an api document also creatable from the
Line 419 
Line 227 
 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>  <h4><a name="part">How to Participate</a></h4>
 <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 <a href="http://www.openpegasus.org/">http://www.openpegasus.org</a> and clicking on
 join the mailing list by visiting www.openpegasus.org, and click on  Mailing Lists. Joining the pegasus-l mailing list will provide a login/password
 Mailing Lists.  for the website.</font></p>
 &nbsp;</p>  
 <h1> <h1>
 <a name="inst_peg">Install Pegasus</a> </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>
 You can install and run Pegasus on any of the supported platforms. The  <h2></h2>
 installation process includes the following steps:  <h2></h2>
 </p>  
 <ol> <ol>
   <li>Download or checkout Pegasus. </li>  Pegasus can be obtained via any of the following:<br>
   <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> <ol>
   <li>Enter <tt>make</tt>      <li>Released tarballs (see
     <p>This builds all of Pegasus. </p>          <a href="http://www.openpegasus.org/page.tpl?ggid=392">Release
   </li>  tarballs link</a>)</li>
   <li>Enter <tt>make repository</tt>      <li>CVS (See <a href="http://www.openpegasus.org/page.tpl?ggid=667">CVS
     <p>This creates the repository, which is needed to serve data.  code repository</a> for
 To create the additional namespaces that represent the test support you  more information.)</li>
 can also execute "make testrepository". </p>      <li>Linux RPMs. See
   </li>  (<a href="http://www.openpegasus.org/pr">RPM
   <li> Enter <tt>make tests</tt>  link</a> for
     <p>This executes all the tests included with the Pegasus  more information
 distribution, except the client/server tests. The client/server tests  )</li>
 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> </ol>
 <p></p>  
 <p> The following make targets are supported:  
 </p>  
 <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>  
 <p></p>  
 <p>  
 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>  
 Before using Pegasus you must populate the repository. Typically, this  
 is done during the buld process when you run the makefile. However, you  
 can also do it manually after the Pegasus has been built. </p>  
 <ol>  
   <li>Register the MOF (Managed Object Format) file describing the  
 skeleton of the object. </li>  
   <li>Register a second MOF which only points out which lib*.so file to  
 be loaded when a specific object is activated. </li>  
 </ol> </ol>
 <p></p>  <p>NOTE: Linux RPMs are only available for a limited set of releases.
 <p>  
 The providers included with Pegasus are automatically entered into the  
 repository  
 by running the following command: <tt>make repository</tt>  
 </p> </p>
 <p>  <p>The distribution is available via CVS and snapshot images in
 The 'make repository' in pegasus/Schemas does three things:  tar and zip file formats on the web site.
   The source code from CVS can be found at the Open Group CVS server -
   cvs.opengroup.org. The source can be checked out anonymously using the
   instructions at <a href="http://www.openpegasus.org/protected/page.tpl?ggid=667">
   http://www.openpegasus.org/page.tpl?ggid=667</a></p>
   <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
   write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
   (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
 </p> </p>
 <ul>  <p>RPM installation instructions can be found here: <a href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
   <li>Generates the CIM Schema v2.8 in the repository (skeleton of CIM  
 objects). To do this, it runs the MOF compiler on the CIM schema: <tt>cimmofl  
 -Schema v2.8</tt> </li>  
   <li>Sets up operations (shutdown, add users, etc) and CIM indications  
 (SNMP, Events, Alert, Threshold, etc)  
 internal to the Pegasus schema by running the following command: <tt>cimmofl  
 -PG_InterOp</tt> </li>  
   <li>Registers included CIM Providers (libOSProvider.so,  
 libDNSProvider.so, … ) in Pegasus (which are located in src/Providers)  
 by running: <tt>cimmofl -PG_ManagedSystem</tt> </li>  
 </ul>  
 <h2>  
 <a name="reg_prov">Registering  
 Providers in the Pegasus Environment</a></h2>  
 <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>  
 <h2>  
 <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> </p>
 <ul>  <strong></strong>
   <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></p>
   <h4><a name="peg_dep">Verify Dependencies</a></h4>
 <p> <p>
 To create the RPMs, run the script <tt>rpmBuild</tt> from the root  We have worked to minimize the dependence of Pegasus on other software
 directory of the source distribution. For example: <tt>.  packages and tools. Currently Pegasus has the following dependencies:
 /usr/source/pegasus-1.0/rpmBuild</tt>  
 </p> </p>
 <p>  <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
 This will result in and RPM file names <tt>pegasus&lt;version  multiple platforms we
 number&gt;.rpm</tt>.  have standardized on a set of build tools including: GNUMAKE. We are
   using GNUMAKE 3.79.1 successfully both in Windows and Linux
   environments.
 </p> </p>
 <p>  <p>GNUMAKE is available from :</p>
 <strong>Note</strong>: After you install using the install using the  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.gnu.org/">http://www.gnu.org</a>
 PRM, you must crate and populate teh repository manually.  </p>
   <p><b>2. FLEX and BISON</b> - These tools were used to develop the
   MOF
   compiler and WQL
   parser.&nbsp; <span class="norm"></span><font style="color: rgb(0, 0, 0);">These tools are required only for
   development of the parsers, not for building Pegasus.</font></p>
   <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
   combination of text files
   and the Pegasus header files themselves. This documentation is
   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
   interface documentation set.</font>
   </p>
   <p><b>4. ICU Internationalization libraries</b> - These libraries are
   used as 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>
   <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
   is intended to use SSL on the
   communication protocol, the OpenSSL libraries are required.<br>
 </p> </p>
 <strong>Question: I'm still working on this procedure (I haven't gotten  <p>&nbsp; NOTE: A set of the required
 it to work yet).<br>  tools for windows platforms is available on the openpegasus web
   site.&nbsp; <a href="http://www.openpegasus.org/pp/uploads/40/Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
   <h4><a name="set_envt_var"><strong>Set the Environment
   Variables</strong></a></h4>
   <p>Before installing or running OpenPegasus, environment variables may
   have to be defined or updated.&nbsp; <br>
   </p>
   <p>PEP 237 contains the list of environment variables and setup necessary
   to use OpenPegasus.</p>
   <p></p>At a minimum, the following need to be set:<p></p>
   <blockquote>
   PEGASUS_ROOT=&lt;location of your pegasus source tree&gt;
   <br>
   PEGASUS_HOME=&lt;location for the built executables, repository, etc&gt;
   
   <br>
   PEGASUS_PLATFORM=&lt;your platform&gt;
   </blockquote>
   <p>For a list of valid
   platforms, enter "make listplatforms" from the root of the Pegasus
                   source tree. <br>
   </p>
   <h1><a name="build_peg">Building Pegasus</a></h1>
   <div>
           <div>
                   To accept the default build options and get started quickly, use the</div>
           <div>
                   following commands from the root of the Pegasus source tree:</div>
           <br>
   &nbsp;<div>
                   &nbsp;&nbsp; make build</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will build the dependencies, any utilities that are needed,
                   all</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Pegasus and test executable code, and do any necessary setup
                   to</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the CIM Server.</div>
 <br> <br>
 </strong>  &nbsp;<div>
 <h2><a name="note_bld_peg_lnx">Notes about                  &nbsp;&nbsp; make alltests</div>
 Building          <div>
 Pegasus on Linux </a></h2>                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will run the unit tests, create the repository by compiling
 <p>                  in</div>
 Pegasus supports many distributions of Linux. Refer to <a          <div>
  href="#peg_sup_plat">Pegasus Supported Platforms</a>                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the MOF for the default CIM Schema (2.9 for Pegasus 2.5.1
 for more information. </p>          and 2.5.2),
                   compile</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in the MOF for all Pegasus test cases, do any other configuration</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; necessary to run the tests, and then run a large automated test
                   suite</div>
           <div>
                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to verify Pegasus CIM Server functionality.`<p>&nbsp;</p></div>
           <div>
                   There are many variations possible. Refer to PEP 237 for possible build
                   and</div>
           <div>
                   run-time configuration options. Enter "make usage" for more information
                   on</div>
           <div>
                   make targets that are available for building and testing Pegasus.</div>
   </div>
   <h4><a name="note_bld_peg_lnx">Building OpenPegasus on Linux </a></h4>
 <p> <p>
 To build Pegasus on Linux, ensure that you you have the environment  To build OpenPegasus 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).<br>
 </p> </p>
 <br>  <h4><a name="note_bld_peg_ssl">Building OpenPegasus with SSL
 <h2><a name="bld_peg_win">Notes  </a></h4>
 on building Pegasus on Windows 2k or Windows XP with Microsoft Visual  <p>
 C++ </a></h2>  To build with SSL you need the OpenSSL libraries and header files. They
   are NOT distributed with OpenPegasus. Make sure you have them in a
   standard
   directory so OpenPegasus can find them. If that's not
   the case, set the environment variable OPENSSL_HOME= to point where
   your OpenSSL
   installation is.
   </p>
   <p>Also have the PEGASUS_HAS_SSL=true variable set. Then just run 'make'
   in Pegasus
   directory and you will have OpenPegasus with SSL enabled. See "Creating
   SSL
   certificates" below for more information on how to use SSL.
   </p>
   Refer to the OpenPegasus SSL Guidelines guide found in the doc directory for details on
   using OpenPegasus with SSL.<br>
   <h4><a name="bld_peg_win">Building OpenPegasus on Windows 2k or Windows XP with Microsoft
   Visual
   C++ </a></h4>
 <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 OpenPegasus on the normal windows platform.
 before trying to compile Pegasus on the normal windows platform. The  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 701 
Line 419 
 </p> </p>
 <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 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>
  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>  
 </blockquote> </blockquote>
 <h3>  <h6>
 <a name="mu_utility">The MU Utility </a></h3>  <a name="mu_utility">The MU Utility </a></h6>
 <p> <p>
 In order to provide a consistent build structure across multiple In order to provide a consistent build structure across multiple
 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 450 
 </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>
 <h2><a name="note_bld_peg_ssl">Notes about  NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin
 Building Pegasus with SSL  directory.
 </a></h2>  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>
 To build with SSL you need the OpenSSL libraries and header files. They  Before using Pegasus you must populate the repository. Typically, this
 are NOT distributed with Pegasus. Make sure you have them in a standard  is done during the build process when you run the makefile. However,
 directory so Pegasus can find them. If that's not  you
 the case, set the environment variable OPENSSL_HOME= to point where  can also do it manually after the Pegasus has been built. </p>
 your OpenSSL  <ol>
 installation is.    <li>Register the MOF (Managed Object Format) file describing the
   skeleton of the object. </li>
     <li>Register a second MOF which only points out which lib*.so file to
   be loaded when a specific object is activated. </li>
   </ol>
   <p></p>
   <p>
   The providers included with Pegasus are automatically entered into the
   repository
   by running the following command: <tt>make repository</tt>
 </p> </p>
 <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make'  <p>
 in Pegasus  The 'make repository' in the&nbsp; pegasus directory does three things:
 directory and you will have Pegasus with SSL enabled. See "Creating SSL  
 certificates" below for more information on how to use SSL.  
 </p> </p>
 <h3><a name="crt_ssl_cert">Creating SSL certifications </a></h3>  <ul>
 <p>Type these commands in your shell to create the SSL certifications.    <li><span class="norm"></span> Removes the existing repository if one
 The PEGASUS_ROOT and PEGASUS_HOME have to be set to your respective  exists.</li>
 installation and source directory.<br>    <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
 <span style="color: rgb(0, 0, 0);">Set the sslKeyFilePath to  objects).&nbsp; </li>
 key.pem.&nbsp; Set the sslCertificateFilePath to cert.pem.&nbsp; To    <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
 create a client truststore to validate the server against, copy the  schema for CIM Server functions </font>(shutdown, add users, etc) and
 server's certificate into the client truststore, client.pem.</span><br>  CIM indications
 </p>  (SNMP, Events, Alert, Threshold, etc)
 <pre  internal to the Pegasus. </li>
  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>    <li>Registers included CIM Providers (libOSProvider.so,
 <p style="color: rgb(0, 0, 0);">Note:&nbsp; key.pem is  libDNSProvider.so, … ) in Pegasus (which are located in
 sslKeyFilePath. cert.pem is sslCertificateFilePath</p>  src/Providers)&nbsp; </li>
 <p></p>  </ul>
 <h1> <h1>
 <a name="test">Testing a Pegasus Installation</a></h1>  <a name="reg_prov">Registering
   Providers in the Pegasus Environment</a></h1>
 <p> <p>
 Pegasus includes an extensive set of test facilities as part of the CVS  Pegasus registers providers with a set of provider registration
 enviroment, including:  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 experimental 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><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
   is performed by creating instances</font> of the
   registration classes that represent the provider 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
   OpenPegasus
   today.</p>
   <h1>
   <a name="test">Testing an OpenPegasus Installation</a></h1>
   <p>
   OpenPegasus includes an extensive set of test facilities as part of the
   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,
 TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the  including
 src/Clients directory for more information. These programs require a  TestClient, Client, CLI, ipinfo, osinfo, wbemexec, etc. See the
           pegasus/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 pegasus/Providers/sample and pegasus/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 pegasus/Providers/sample directories and the
 providers/testProviders directory </li>          pegasus/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 799 
Line 556 
 these tests.&nbsp; This set of tests executes an extensive set of fixed these tests.&nbsp; This set of tests executes an extensive set of fixed
 tests and compares the results against predefined results.</li> tests and compares the results against predefined results.</li>
 </ul> </ul>
 <p></p>  <h4><a name="test_icu">Testing with ICU enabled</a></h4>
 <h2><a name="inst_peg_html">Installing the  
 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>  
 <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 572 
 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 594 
 "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 855 
Line 604 
 environment variable must be set to the home directory where the ICU environment variable must be set to the home directory where the ICU
 resource bundles are built. By default the resource bundles are built resource bundles are built. By default the resource bundles are built
 into directories below PEGASUS_HOME/msg, so that should be the setting into directories below PEGASUS_HOME/msg, so that should be the setting
 for PEGASUS_MSG_HOME.<br>  for PEGASUS_MSG_HOME.</font></p>
 </font></p>  <p></p>
 <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br>  <h1>
 </font></p>  <a name="sec0">Security Considerations</a></h1>
 <p><i><font size="2">Copyright (c) 2004 EMC Corporation;  <p>Some of the steps of installing and running Pegasus have
 Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group;  security properties that you should be aware of. If you plan to administer a
 VERITAS Software Corporation</font><br>  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> <br>
 <font size="1">Permission is hereby granted, free of charge, to any  THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN<br>
 person obtaining a copy&nbsp; of this software and associated  ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED<br>
 documentation files (the "Software"), to deal in the Software without  "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT<br>
 restriction, including without limitation the rights to use, copy,  LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR<br>
 modify, merge, publish, distribute, sublicense, and/or sell copies of  PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br>
 the Software, and to permit persons to whom the Software is furnished  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN<br>
 to do so, subject to the following conditions:</font><br>  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION<br>
 <font size="2"><br>  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</i></font></p>
 </font>  <hr>
 <font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE  <p><i><font size="1"><big><big><span style="font-family: arial;">End of Document<br>
 SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE  
 SOFTWARE. THE SOFTWARE IS PROVIDED&nbsp; "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.<br>  
 </font></i></p>  
 <p><i><font size="1"><br style="font-family: arial;">  
 <big><big><span style="font-family: arial;">------------------------End  
 of  
 Document-------------------------<br>  
 </span></big></big></font></i></p> </span></big></big></font></i></p>
 <p><span style="color: rgb(0, 0, 0);"></span> </p> <p><span style="color: rgb(0, 0, 0);"></span> </p>
 </body>  
 </html>  <script language="javascript">postamble();</script>
   </body></html>


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2