version 1.6, 2004/05/13 14:39:29
|
version 1.7, 2004/10/18 18:20:06
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
<html> | <html> |
<head> | <head> |
<meta name="GENERATOR" content="Microsoft FrontPage 3.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"> | content="text/html; charset=windows-1252"> |
|
|
</head> | </head> |
<body> | <body> |
<p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> | <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 103</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus |
Version 2.3 Release Readme file</p> |
Version 2.4 Release Readme file</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b>1.1</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 12 |
style="color: rgb(0, 0, 0);">1.4</span></p> |
November 2003</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 24 June |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Karl |
2004</p> |
Schopmeyer, Konrad Rzeszutek</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status: </b>draft</p> |
Grunbok, Mike Harris<br> |
|
</p> |
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status: </b>draft</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p> | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p> |
<table border="1" cellspacing="1" bordercolordark="#666666" |
<table bordercolordark="#666666" bordercolorlight="#cccccc" |
bordercolorlight="#CCCCCC" width="100%" style="font-family: Arial;"> |
style="font-family: Arial;" border="1" cellspacing="1" width="100%"> |
<tbody> | <tbody> |
<tr> | <tr> |
<th bgcolor="#cae6ca">Version</th> | <th bgcolor="#cae6ca">Version</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">24, June 2004</td> |
<td align="center">Karl Schopmeyer</td> |
<td align="center">Warren Grunbok<br> |
<td>Update from 2.2 Release notes. Converted to HTML</td> |
</td> |
</tr> |
<td>Initial draft<br> |
<tr> |
</td> |
<td align="center">1.1</td> |
</tr> |
<td align="center">March 10 2004</td> |
<tr> |
<td align="center">Konrad Rzeszutek</td> |
<td align="center"> 1.1</td> |
<td>Added sections describing SSL and PAM configuration</td> |
<td align="center">24,August 2004 <br> |
</tr> |
</td> |
<tr> |
<td align="center">Warren Grunbok <br> |
<td align="center"> </td> |
</td> |
<td align="center"> </td> |
<td>Mostly spelling changes, adds to very last paragraph <br> |
<td align="center"> </td> |
</td> |
<td> </td> |
</tr> |
|
<tr> |
|
<td style="vertical-align: top;">1.2<br> |
|
</td> |
|
<td style="vertical-align: top;">31, August 2004<br> |
|
</td> |
|
<td style="vertical-align: top;">Warren Grunbok<br> |
|
</td> |
|
<td style="vertical-align: top;">Changes based on architecture |
|
review. Removed /Directory structure section and placed |
|
into seperate document.<br> |
|
<br> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td style="vertical-align: top;">1.3<br> |
|
</td> |
|
<td style="vertical-align: top;">???<br> |
|
</td> |
|
<td style="vertical-align: top;">Warren Grunbok<br> |
|
</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> Installation, build, operation information on the |
<p><b>Abstract:</b> Installation, build, operation information on |
Pegasus Platform Version 2.3 Release. Note that if this readme conflicts |
the Pegasus Platform Version 2.4.0 Release. Note that if this readme |
with the documentation in the release notes or interface definition |
conflicts with the documentation in the release notes or interface |
documents for a particular release, those documents should be |
definition documents for a particular release, those documents should |
considered authorative. This is a simplified overview to act as an |
be considered authorative. This is a simplified overview to act as an |
introduction to Pegasus.</p> | introduction to Pegasus.</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 </font></b></p> |
Services Broker for the DMTF CIM/WBEM Standards |
|
</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++ and supported by The Open Group </p> |
DMTF CIM objects written in C++ |
<p align="left"><b>STATUS:</b> Revised November 2003 for Pegasus |
and supported by The Open Group </p> |
release version 2.3.0 </p> |
<p align="left"> |
<p align="center"><b><font size="4">Table of Contents</font></b></p> |
<b>STATUS:</b> Revised Sept 2004 for Pegasus release version |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
2.4.0 |
href="#Overview"> Overview</a> </p> |
- Approved<br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
</p> |
href="#Availability%20of%20Pegasus">Availability of Pegasus</a></p> |
<a href="#Overview">Overview</a> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
href="#Pegasus%20Major%20Components">Pegasus Major Components</a></p> |
href="#avail_of_peg">Availability of Pegasus</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#peg_maj_comp">Pegasus Major Components</a><br> |
href="#Pegasus%20Supported%20Platforms">Pegasus Supported Platforms</a></p> |
<a href="#avail_of_peg">Availability of Pegasus</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#peg_sup_plat">Pegasus Supported Platforms</a><br> |
href="#Pegasus%20Dependencies">Pegasus Dependencies </a></p> |
<a href="#peg_dep">Pegasus Dependencies</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#peg_dir_struc">The Pegasus Directory Structure</a><br> |
href="#The%20Pegasus%20Directory%20Structure">The Pegasus Directory |
<a href="#dev_with_peg">Development with Pegasus and Pegasus Tools</a><br> |
Structure</a> </p> |
<a href="#cmnd">Commands</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#docs">Documentation</a><br> |
href="#Pegasus%20Installation">Installation</a> </p> |
<a href="#part">Participate</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
</blockquote> |
href="#Building%20Pegasus">Building Pegasus </a></p> |
<a href="#inst_peg">Install Pegasus</a> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a |
href="#Populate%20the%20Repository">Populate the Repository</a> </p> |
href="#download">Download or checkout Pegasus</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#vfy_req_sw">Verify that you have the required |
href="#Registering%20Providers%20in%20the%20Pegasus%20Environment">Registering |
software</a><br> |
Providers</a></p> |
<a href="#set_envt_var">Set the environment variables</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#bld">Build the Pegasus runtime, test files, test clients, |
href="#The%20MU%20Utility">The MU Utility</a> </p> |
and repository</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#pop_peg_rep">Populate the Pegasus repository</a><br> |
href="#Notes%20about%20Building%20Pegasus%20on%20Linux">Notes about |
<a href="#reg_prov">Register providers in the Pegasus environment</a><br> |
Building Pegasus on Linux</a> </p> |
<a href="#bld_rpms">Build an RPM for Pegasus</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#note_bld_peg_lnx">Notes |
href="#Notes%20about%20Building%20Pegasus%20on%20Mac%20OS%20X/Darwin">Notes |
about Building Pegasus on Linux</a><br> |
about Building Pegasus on Mac OS X/Darwin</a></p> |
<a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on |
href="#crt_ssl_cert">Creating SSL |
building Pegasus with SSL</a> </p> |
certifications</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
</blockquote> |
href="#Building%20Pegasus%20on%20Windows%202000%20or%20Windows%20XP%20With%20Microsoft%20Visual%20C++">Building |
<a href="#bld_peg_win">Building |
Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a></p> |
Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
href="#Installing%20the%20Pegasus%20HTML%20Test%20Client">Installing |
href="#mu_utility">The MU Utility</a><br> |
the Pegasus HTML Test Client </a></p> |
</blockquote> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
</blockquote> |
href="#Development%20with%20Pegasus%20and%20Pegasus%20Tools">Development |
<a href="#test">Test the Pegasus installation</a><br> |
with Pegasus and Pegasus Tools</a> </p> |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
href="#inst_peg_html"> Installing the Pegasus HTML Test Client</a><br> |
href="#Commands">Commands</a> </p> |
<a href="#test_icu">Testing with ICU enabled</a><br> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
</blockquote> |
href="#Creating%20SSL%20certifications">Creating SSL certifications</a> </p> |
<hr> |
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
|
href="#Configuring%20SSL">Configuring Pegasus to use SSL</a> </p> |
|
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
|
href="#Configuring%20PAM">Configuring Pegasus to use PAM</a> </p> |
|
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
|
href="#Testing%20with%20ICU%20enabled">Testing with ICU enabled </a></p> |
|
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
|
href="#Pegasus%20Documentation">Documentation</a> </p> |
|
<p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a |
|
href="#Participate%21">Participate</a> </p> |
|
<h1><a name="Overview">Overview</a> </h1> | <h1><a name="Overview">Overview</a> </h1> |
<p><b>OpenPegasus (also referred to as Pegasus):</b> Pegasus is an |
<p><b>OpenPegasus (also referred to as Pegasus):</b> |
open-source CIM Server for DMTF CIM objects. It is written in C++ and |
Pegasus is an open-source CIM Server for DMTF CIM objects. It is |
includes the Object manager (CIMOM), a set of defined interfaces, an |
written |
implemenation of the CIMOperations over HTTP operations and their cimxml |
in C++ and includes the Object manager (CIMOM), a set of defined |
HTTP encodings, and Interface libraries for both client and providers. |
interfaces, an implemenation of the CIMOperations over HTTP operations |
It is maintained consistent with the DMTF CIM and WBEM specifications |
and their cimxml HTTP encodings, and Interface libraries |
except for exceptions noted in the documentation. </p> |
for both client and providers. It is maintained |
|
consistent with the DMTF CIM and WBEM specifications except for |
|
exceptions |
|
noted in the documentation. |
|
</p> |
<p>Pegasus is open source and is covered under the MIT open-source | <p>Pegasus is open source and is covered under the MIT open-source |
license.</p> | license.</p> |
<p>Pegasus is being developed and maintained under the auspices of The | <p>Pegasus is being developed and maintained under the auspices of The |
Open Group. Pegasus is maintained under the license defined in the doc |
Open |
directory (LICENSE) of this release. This licensing is intended to |
Group. Pegasus is maintained under the license defined in the doc |
support as wide a distribution as possible with minimal demands on the |
directory |
users. </p> |
(LICENSE) of this release. This licensing is intended to support as |
|
wide a |
|
distribution as possible with minimal demands on the users. |
|
</p> |
<p>More information on this project, access to the CVS, and | <p>More information on this project, access to the CVS, and |
documentation on Pegasus are available from the OpenGroup WEB site. </p> |
documentation on |
<p> <a href="http://www.opengroup.org">http://www.openpegaus.org</a></p> |
Pegasus are available from the OpenGroup WEB site. |
|
</p> |
|
<p> <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 | <p>There are a number of separate documents representing the status and |
each release of Pegasus </p> |
each release of Pegasus |
|
</p> |
<ul> | <ul> |
<li>What's new for this release - See the PEPs (Pegasus Enhancement | <li>What's new for this release - See the PEPs (Pegasus Enhancement |
Procedures) release notes on the Pegasus web site and duplicated in |
Procedures) release notes on the Pegasus web site and duplicated in the |
the source top level directory</li> |
source top level directory </li> |
<li>What's Broken - BUGS - See the ReleaseNotes for this release in | <li>What's Broken - BUGS - See the ReleaseNotes for this release in |
the CVS and the web site as a Pegasus PEP.</li> | the CVS and the web site as a Pegasus PEP.</li> |
</ul> | </ul> |
<p>The release notes are available on the WEB site as Pegasus PEP | <p>The release notes are available on the WEB site as Pegasus PEP |
documents and in the CVS for each release.</p> | documents and in the CVS for each release.</p> |
<table border="1" cellspacing="1" width="31%" id="AutoNumber3"> |
<table id="AutoNumber3" border="1" cellspacing="1" width="31%"> |
<tbody> | <tbody> |
<tr> | <tr> |
<td width="42%"><b>Release</b></td> | <td width="42%"><b>Release</b></td> |
|
|
<td width="42%">2.3</td> | <td width="42%">2.3</td> |
<td width="58%">PEP 98</td> | <td width="58%">PEP 98</td> |
</tr> | </tr> |
|
<tr> |
|
<td style="vertical-align: top;">2.4<br> |
|
</td> |
|
<td style="vertical-align: top;">PEP 185<br> |
|
</td> |
|
</tr> |
</tbody> | </tbody> |
</table> | </table> |
<h1><a name="Availability of Pegasus">Availability of Pegasus</a></h1> |
<h2><a name="avail_of_peg">Availability of Pegasus</a></h2> |
<p>Pegasus is distributed as open source under the MIT open-source | <p>Pegasus is distributed as open source under the MIT open-source |
license. The distribution is available via CVS and snapshot images in | license. The distribution is available via CVS and snapshot images in |
tar and zip file formats on the web site. The source code from CVS can |
tar and zip file formats on the web site. |
be found at the following Open Group CVS server; </p> |
The source code from CVS can be found at the following Open Group CVS |
<p><font face="Courier New"> cvs.opengroup.org:/cvs/MSB </font></p> |
server; |
<p>using the password authenticating server option (pserve). </p> |
</p> |
|
<p><font face="Courier New"> |
|
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 | <p>Anonymous access for read is with the name and password "anon" as |
follows: </p> |
follows: |
|
</p> |
<blockquote> | <blockquote> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font | <p style="margin-top: 0pt; margin-bottom: 0pt;"><font |
face="Courier New">%export | face="Courier New">%export |
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font | <p style="margin-top: 0pt; margin-bottom: 0pt;"><font |
face="Courier New">%cvs login </font></p> | face="Courier New">%cvs login </font></p> |
</blockquote> | </blockquote> |
<p>When requested, enter the password "anon". The source tree is in the |
<p> |
directory pegasus. To check out the complete Pegasus source tree just |
When requested, enter the password "anon". |
type: </p> |
The source tree is in the directory pegasus. To check out the complete |
<p><font face="Courier New"> cvs co pegasus </font></p> |
Pegasus |
|
source tree just type: |
|
</p> |
|
<p><font face="Courier New"> |
|
cvs co pegasus </font> |
|
</p> |
<p>A Pegasus directory will be created under the current directory and | <p>A Pegasus directory will be created under the current directory and |
populated with the complete source tree and documentation. To get the |
populated |
latest updates after a checkout just type this from Pegasus root: </p> |
with the complete source tree and documentation. To get the latest |
<p><font face="Courier New"> cvs update -d </font></p> |
updates after a checkout just type this from Pegasus root: |
|
</p> |
|
<p><font face="Courier New"> |
|
cvs update -d </font> |
|
</p> |
<p>Active contributors to Pegasus have write access to the CVS | <p>Active contributors to Pegasus have write access to the CVS |
repository. If you are interested in contributing back to the Pegasus |
repository. |
project, (i.e. write (checkin) access to CVS) please request access from |
If you are interested in contributing back to the Pegasus project, |
either Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer <a |
(i.e. write (checkin) access to CVS) please request access from either |
href="mailto:%28k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>).</p> |
Martin Kirk (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>) |
<h1><a name="Pegasus Major Components">Pegasus Major Components</a></h1> |
or Karl Schopmeyer <a href="mailto:%28k.schopmeyer@opengroup.org">k.schopmeyer@opengroup.org</a>. |
<p>The major components of Pegasus are: </p> |
</p> |
|
<h2><a name="peg_maj_comp">Pegasus Major Components</a></h2> |
|
<p>The major components of Pegasus are: |
|
</p> |
<ul> | <ul> |
<li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for | <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for |
providers and clients </li> | providers and clients </li> |
<li><b>Pegasus Repositories</b> - Today Pegasus provides a defined | <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined |
class repository interface and a simple file based class repository. |
class repository interface and a simple file based class repository. It |
It also includes an instance repository. Note that these repository |
also includes an instance repository. Note that these repository were |
were created for functionality, not efficieny. It is expected that |
created for functionality, not efficieny. It is expected that they will |
they will be replaced with other implementations of the respository |
be replaced with other implementations of the respository function as |
function as the need arises. </li> |
the need arises. </li> |
<li><b>Pegasus Client Library</b> - Tools for building Pegasus clients |
<li><b>Pegasus Client Library</b> - Tools for building Pegasus |
based on the Pegasus C++ interfaces and using the WBEM HTTP/XML |
clients based on the Pegasus C++ interfaces and using the WBEM HTTP/XML |
protocols or directly interfacing with Pegasus. </li> | protocols or directly interfacing with Pegasus. </li> |
<li><b>Pegasus Test Clients</b> - Simple test clients being developed | <li><b>Pegasus Test Clients</b> - Simple test clients being developed |
as part of the Pegasus development process. These can be seen in the | as part of the Pegasus development process. These can be seen in the |
src/Clients directory and its subdirectories </li> | src/Clients directory and its subdirectories </li> |
<li><b>Pegasus HTML Test Client</b> - To aid in testing we created a | <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 |
test client for Pegasus that uses a WEB server (ex. Apache) with a set |
set of CGI modules and HTML to allow the entry of Pegasus operations |
of CGI modules and HTML to allow the entry of Pegasus operations from a |
from a WEB browser as forms and the receipt of the response as WEB |
WEB browser as forms and the receipt of the response as WEB pages. This |
pages. This has proven useful as a test tool and can be used for a wide |
has proven useful as a test tool and can be used for a wide variety of |
variety of demonstrations. </li> |
demonstrations. </li> |
<li><b>Pegasus Provider Library</b> - Tools for building Pegasus | <li><b>Pegasus Provider Library</b> - Tools for building Pegasus |
providers using the Pegasus C++ interfaces. </li> | providers using the Pegasus C++ interfaces. </li> |
<li><b>Pegasus Providers</b> - Providers to illustrate the use of | <li><b>Pegasus Providers</b> - Providers to illustrate the use of |
Pegasus services including providers for test and demonstration. </li> | Pegasus services including providers for test and demonstration. </li> |
<li><b>Pegasus Control Providers</b> - Common services for use by | <li><b>Pegasus Control Providers</b> - Common services for use by |
other Pegasus components to extend Pegasus capabilites. </li> | other Pegasus components to extend Pegasus capabilites. </li> |
<li><b>Pegasus MOF Compiler </b>- There standalone compiler |
<li><b>Pegasus MOF Compiler </b>- There standalone compiler |
(cimmofl) for MOF files that can be used to install MOF into the |
(cimmofl) for MOF files that can be used |
Pegasus schema repository and also to check syntax. There is also a |
to install MOF into the Pegasus schema repository and also to check |
compiler that operates as a Pegasus client(cimmof) There is also a |
syntax. There is also a compiler that operates as a Pegasus |
tool to extract the MOF from the repository. </li> |
client(cimmof) There is also a tool to extract the MOF from the |
|
repository. </li> |
</ul> | </ul> |
<h1><a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1> |
<h2> |
<p>Pegasus is regularly tested against a variety of platforms by the |
<a name="peg_sup_plat">Pegasus Supported Platforms</a></h2> |
development group. The set of platforms and exact set of compilers for |
<p> |
any given release is documented in the Release notes for that release |
Pegasus is regularly tested against a variety of platforms by the |
(see the CVS source tree root directory or the Pegasus PEP defining the |
development group. The set of platforms and exact set of |
ReleaseNotes for any particular release).</p> |
compilers for any given release is documented in the Release notes for |
<p>Generally Pegasus is supported on the following Platforms and |
that release (see the CVS source tree root directory or the Pegasus PEP |
Compilers.</p> |
defining the ReleaseNotes for any particular release).</p> |
<table border="1" cellspacing="1" id="AutoNumber2" width="728"> |
<p> |
<tbody> |
Pegasus is supported on a variety of platforms. The list of |
<tr> |
platforms can be found in the release notes associated with this |
<td width="169" bgcolor="#99ff99"><b>Platform and OS</b></td> |
release.<br> |
<td width="556" bgcolor="#99ff99"><b>Compilers</b></td> |
</p> |
</tr> |
<br> |
<tr> |
<h2><a name="peg_dep">Pegasus Dependencies</a></h2> |
<td width="169">AIX</td> |
<p> |
<td width="556">VisualAge C++ Version</td> |
We have worked to minimize the dependence of Pegasus on other software |
</tr> |
packages and tools. Currently Pegasus has the following dependencies: |
<tr> |
</p> |
<td width="169">HP-UX</td> |
|
<td width="556">HP aC++ </td> |
|
</tr> |
|
<tr> |
|
<td width="169">Linux Itanium</td> |
|
<td width="556">gcc</td> |
|
</tr> |
|
<tr> |
|
<td width="169">Linux IA-32</td> |
|
<td width="556">gcc (versions 2.9x and 3.xx)</td> |
|
</tr> |
|
<tr> |
|
<td width="169">Windows 2000</td> |
|
<td width="556">Microsoft Visual C++ Ver 6 and Microsoft .Net |
|
compiler Version <font color="#ff0000">7</font></td> |
|
</tr> |
|
<tr> |
|
<td width="169">Windows XP</td> |
|
<td width="556">Microsoft Visual C++ Ver. 6 and Microsoft .Net |
|
compiler Version <font color="#ff0000">7</font></td> |
|
</tr> |
|
<tr> |
|
<td width="169">Mac OS X/Darwin PPC</td> |
|
<td width="556">gcc (version 3.3)</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<h1><a name="Pegasus Dependencies">Pegasus Dependencies </a></h1> |
|
<p>We have worked to minimize the dependence of Pegasus on other |
|
software packages and tools. Currently Pegasus has the following |
|
dependencies: </p> |
|
<p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across | <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across |
multiple platforms we have standardized on a set of build tools |
multiple platforms we |
including: GNUMAKE. We are using GNUMAKE 3.79.1 successfully both in |
have standardized on a set of build tools including: GNUMAKE. We are |
Windows and Linux environments. </p> |
using GNUMAKE 3.79.1 successfully both in Windows and Linux |
|
environments. |
|
</p> |
<p>GNUMAKE is available from :</p> | <p>GNUMAKE is available from :</p> |
<p> <a href="http://www.gnu.org">http://www.gnu.org</a> </p> |
<p> <a target="blank" |
<p> NOTE: A set of the required tools for windows platforms is |
href="http://www.gnu.org">http://www.gnu.org</a> |
available on the openpegasus web site.</p> |
</p> |
|
<p> NOTE: A set of the required |
|
tools for windows platforms is available on the openpegasus web |
|
site. <a href="www.openpegasus.org">www.openpegasus.org</a><br> |
|
</p> |
<p><b>2. MU.EXE </b>- To minimize the difference between Linux and | <p><b>2. MU.EXE </b>- To minimize the difference between Linux and |
Windows for GNUMAKE, we have created a utility called MU.exe. This |
Windows for GNUMAKE, |
utility is required for Pegasus make with ONLY Windows environment. It |
we have created a utility called MU.exe. This utility is required for |
is provided as an alternative to requiring a number of UNIX utilities |
Pegasus make with ONLY Windows environment. It is provided as an |
(SH, RM, etc.) on the windows platform and effectively provides the |
alternative to |
functions of these utilities that GNUMAKE needs. MU is not required on |
requiring a number of UNIX utilities (SH, RM, etc.) on the windows |
UNIX or LINUX platforms. </p> |
platform |
|
and effectively provides the functions of these utilities that GNUMAKE |
|
needs. MU is not required on UNIX or LINUX platforms. |
|
</p> |
<p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin | <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin |
directory. You must build it separately. MU source code is part of the |
directory. |
distribution in the directory src/utils/MU with its own make file. You |
You must build it separately. MU source code is part of the |
must compile MU before you initiate the Pegausu make. </p> |
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 | <p>NOTE: A copy of the binary is made available as a zip file on the |
Pegasus WEB site. </p> |
Pegasus |
<p>Again, MU is used ONLY if you are using Windows. </p> |
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 | <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 |
compiler and WQL |
parser from scratch will be required to have these tools. They are only |
parser. Anybody intending to recompile the compiler or parser from |
required if changes need to be made to the files for parsing and |
scratch will be required to have these tools. They are only required if |
compiling. </p> |
changes need to be made to the files for parsing and compiling. |
<p><b>4. DLCOMPAT - </b>dlcompat is a dlopen(3) et.al. compatibility |
</p> |
library for Mac OS X/Darwin.<br> |
<p><b>4. DOC++ </b>- The Pegasus documentation is taken from a |
<br> |
combination of text files |
<strong>NOTE</strong>: The dlcompat is not distributed with pegasus |
and the Pegasus header files themselves. This documentation is |
source.<br> |
formatted with DOC++ and GAWK. These tools are required if the |
<br> |
documentation is to be recreated but we expect that only the core team |
dlcomapt is available from : <br> |
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. Much of Pegasus |
|
is documented in the PEGASUS PEPs which are the basis for approval of |
|
Pegasus functionality, changes, plans, etc. These documents are |
|
openly available on the PEGASUS web site. The preliminary |
|
documentation |
|
is not provided with this release. The current documentation is |
|
maintained both as a manual created |
|
under the tool DOC++ in the runtime subdirectory manual/html (see |
|
doc/devManual to create), as an api document also creatable from the |
|
source tree (see doc/apidoc) and as other miscellaneous documentation |
|
in the doc directory. Also there is a set of release notes. Normally |
|
the release notes for the current release are available in the root |
|
source directory of CVS.</p> |
|
<p>Note that the Pegasus WEB site at The Open Group will be the source |
|
of most |
|
documentation in the future and today is the source of most discussion |
|
and |
|
design documentation. </p> |
|
<h1><a name="part">Participate!</a></h1> |
|
<p>We are looking for people who want to join the Pegasus work group |
|
and |
|
contribute to effort of getting this Pegasus off the ground. Please |
|
join the mailing list by visiting www.openpegasus.org, and click on |
|
Mailing Lists. |
|
</p> |
|
<h1> |
|
<a name="inst_peg">Install Pegasus</a> </h1> |
|
<p> |
|
You can install and run Pegasus on any of the supported platforms. The |
|
installation process includes the following steps: |
|
</p> |
|
<ol> |
|
<li>Download or checkout Pegasus. </li> |
|
<li>Verify that you have the required software. </li> |
|
<li>Set environment variables. </li> |
|
<li>Build the Pegasus runtime, test files, test clients and |
|
repository. </li> |
|
</ol> |
|
<p></p> |
|
<p><a name="download"><strong>Step 1: Download or checkout Pegasus</strong></a></p> |
|
<p> |
|
Pegasus is freely available from the open group's Pegasus home page: <a |
|
target="blank" href="http://www.openpegasus.org">http://www.openpegasus.org</a>. |
|
To |
|
obtain Pegasus, you can either check it out using CVS or download a |
|
snapshot image of the soruce distribution. For more information about |
|
checking out Pegasus using CVS, see: <a href="#avail_of_peg">Availability |
|
of Pegasus</a>. </p> |
|
<p> |
|
Pegasus is not currently releasing binaries, but you can create RPMs |
|
using a script included with the source distribution. See <a |
|
href="#bld_rpms">Building RPMs for Pegasus</a> for more information. |
|
</p> |
|
<p> <a name="vfy_req_sw"><strong>Step 2: Verify that you have |
|
the required software</strong></a></p> |
|
<p> |
|
Refer to the section <a href="#peg_dep">Pegasus |
|
Dependencies</a> and verify that you have the software required for |
|
your Operating System and planned usage of Pegasus. |
|
</p> |
|
<p> <a name="set_envt_var"><strong>Step 3: Set the environment |
|
variables</strong></a></p> |
|
<p>Before installing or running Pegasus, ensure that the following |
|
environment variables have been defined or updated: </p> |
|
<dl> |
|
<dt>PEGASUS_ROOT </dt> |
|
<dd>Defines the path to the "pegasus" directory you've pulled from |
|
CVS, for example: <tt>/opt/pegasus/pegasus-2.3.2</tt> <br> |
|
</dd> |
|
<dt>PEGASUS_HOME </dt> |
|
<dd>Defines the directory that will contain the output binary files. |
|
For example, if you set this to <tt>$HOME/pegasus_home</tt>, then the |
|
output will go into <tt>$HOME/pegasus_home/bin</tt> and <tt>$HOME/pegasus_home/lib.</tt> |
<br> | <br> |
<a href="http://www.opendarwin.org/projects/dlcompat/">http://www.opendarwin.org/projects/dlcompat/</a><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> | <br> |
Again, dlcomapt needs to be installed ONLY if you are using Mac OS |
</dd> |
X/Darwin.</p> |
<dt>PEGASUS_PLATFORM </dt> |
<p><b>5. DOC++ </b>- The Pegasus documentation is taken from a |
<dd>Identifies the platform to be built. Each supported platform has |
combination of text files and the Pegasus header files themselves. This |
a unique identifier with the following form: <br> |
documentation is formatted with DOC++ and GAWK. These tools are required |
<tt><Operating-System>_<Architecture>_<Compiler></tt> |
if the documentation is to be recreated but we expect that only the |
<p>The following values are tested for the OpenPegasus release:<br> |
core team will be recreating documentation. </p> |
</p> |
<p><b>6. 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><strong>7</strong>. <b>OpenSSL </b>- If it is intended to use SSL |
|
on the communication protocol, the OpenSSL libraries are required.</p> |
|
<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> |
|
<p>This structure is generally as follows:</p> |
|
<p><font face="Courier New">Pegasus Source Structure</font></p> |
|
<p><font face="Courier New">Pegasus Root directory (PEGASUS_ROOT |
|
environment variable)</font> </p> |
|
<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> | <ul> |
<li><font face="Courier New"><b>Client</b> Pegasus Client API |
<li>AIX_RS_IBMCXX </li> |
Tests depends tests </font></li> |
<li>HPUX_IA64_ACC </li> |
<li><font face="Courier New"><b>Common</b> Pegasus Common |
<li>HPUX_PARISC_ACC </li> |
Functions (C++ source and headers tests Test programs for |
<li>LINUX_IA64_GNU </li> |
the common functions</font></li> |
<li>LINUX_IX86_GNU </li> |
<li><font face="Courier New"><b>Compiler</b> Pegasus MOF |
<li>LINUX_PPC_GNU </li> |
compiler </font></li> |
<li>LINUX_ZSERIES_GNU </li> |
<li><font face="Courier New"><b>Config</b> Pegasus |
<li>NSK_NONSTOP_NMCPLUS </li> |
Configuration functions</font></li> |
<li>SOLARIS_SPARC_CC </li> |
<li><font face="Courier New"><b>Consumer</b> Indication |
<li>SOLARIS_SPARC_GNU </li> |
Consumer class header</font></li> |
<li>TRU64_ALPHA_DECCXX </li> |
<li><font face="Courier New"><b>ControlProviders</b> |
<li>WIN32_IX86_MSVC </li> |
Implementation of Pegasus internal providers </font></li> |
<li>ZOS_ZSERIES_IBM </li> |
<li><font face="Courier New"><b>ExportClient</b> Client |
</ul> |
connect code for export of indications</font></li> |
<p></p> |
<li><font face="Courier New"><b>ExportServer</b> Server code |
</dd> |
for import of indications</font></li> |
<dt>PATH </dt> |
<li><font face="Courier New"><b>Handler</b> Indication |
<dd>Add $PEGASUS_HOME/bin to your path.</dd> |
handlers. Today this includes cimxml, SNMP and email handlers</font></li> |
</dl> |
<li><font face="Courier New"><b>HandlerService</b> Common code |
<p></p> |
for indication handler service</font></li> |
<p>Additional configuration: </p> |
<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> | <ul> |
<li><font face="Courier New">Tests for Repository |
<li>For Unix builds, place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH. |
Functions </font></li> |
|
</ul> |
|
</li> | </li> |
<li><font face="Courier New"><b>Security</b> Authentication |
<li>For RedHat/SuSE/UL, edit /etc/ld.so.conf and add |
and user support functions.</font></li> |
$PEGASUS_HOME/lib.</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> | </ul> |
|
<p></p> |
|
<p><a name="bld"><strong>Step 4: Build the Pegasus runtime, test |
|
files, test clients and repository</strong></a></p> |
|
<p> |
|
Pegasus includes several make files that enable you to quickly build or |
|
refresh the Pegasus runtime, test files, test client and the |
|
repository. To use these make files, type "make" followed by one of the |
|
supplied targets. </p> |
|
<p> |
|
To build Pegasus, run the following commands from the root directory of |
|
the Pegasus distribution: </p> |
|
<ol> |
|
<li>Enter <tt>make</tt> |
|
<p>This builds all of Pegasus. </p> |
</li> | </li> |
</ul> |
<li>Enter <tt>make repository</tt> |
|
<p>This creates the repository, which is needed to serve data. |
|
To create the additional namespaces that represent the test support you |
|
can also execute "make testrepository". </p> |
</li> | </li> |
<li><font face="Courier New"><b>Providers</b> Pegasus test and |
<li> Enter <tt>make tests</tt> |
required providers </font> |
<p>This executes all the tests included with the Pegasus |
<ul> |
distribution, except the client/server tests. The client/server tests |
<li><font face="Courier New"><b>generic</b> A number of |
are executed separately from the above because |
cross-platform providers </font></li> |
they require the initiation of separate process for the Pegasus server |
<li><font face="Courier New">IndicationConsumer - Provider that |
and |
consumes indications</font></li> |
Pegasus client. To execute these tests, refer to the scripts in |
<li><font face="Courier New"><b>Linux</b> - A number of linux |
pegasus/mak/BuildMakefile. Refer to the prestarttests and |
providers</font></li> |
poststarttests in this file. </p> |
<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> - 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> |
<li><font face="Courier New"><b>Server</b> Pegasus executable build </font></li> |
</ol> |
<li><font face="Courier New"><b>slp</b> - </font></li> |
<p></p> |
<li><font face="Courier New"><b>Standard Includes</b> - </font></li> |
<p> The following make targets are supported: |
<li><font face="Courier New"><b>test</b> - Directory of end-end tests |
</p> |
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> </p> |
|
<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. 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. Note that |
|
there is code for a Linux RPM distribution but the project is not yet |
|
releasing binaies.</p> |
|
<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> |
|
<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. </p> |
|
<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> |
|
<p>Be sure these are on the path. </p> |
|
<p>2. Define the following three environment variables: </p> |
|
<ul> |
|
<li><b>PEGASUS_ROOT</b> - this should be the "pegasus" 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> |
|
<p>This identifier has the following form: </p> |
|
<p><font face="Courier New"> |
|
<Operating-System>_<Architecture>_<Compiler> </font></p> |
|
<p>For example (Linux on IA32 platform using the GNU Compiler): |
|
LINUX_IX86_GNU </p> |
|
<p>For a complete list of platforms supported and platform support |
|
keywords, refer to the platform make files found in directory <font |
|
face="Courier New">pegasus/mak</font> </p> |
|
</blockquote> |
|
<p>Note: if you plan on doing parallel builds, you might consider |
|
setting PEGASUS_HOME to something like this: </p> |
|
<p><font face="Courier New"> $HOME/pegasus_home_LINUX_IX86_GNU </font></p> |
|
<p>That way, the output of each build will be placed in its own |
|
directory. </p> |
|
<p>3. Now place $PEGASUS_HOME/bin on your path </p> |
|
<p> and </p> |
|
<p> Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only). |
|
For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib </p> |
|
<p>4. Change to the root of the Pegasus distribution and type "make" |
|
(where make refers to GNU make). </p> |
|
<p>5. Then create the repository, which is needed to serve data. "make |
|
repository". Note that to create the additional namespaces, etc. that |
|
represent the test support you can also execute "make testrepository:</p> |
|
<p>6. To test the build type "make tests". The following make targets |
|
are supported: </p> |
|
<ul> | <ul> |
<li><default> - Build everything. </li> | <li><default> - Build everything. </li> |
<li>clean - Clean out all objects, libs, and executables. </li> | <li>clean - Clean out all objects, libs, and executables. </li> |
|
|
<li>rebuild - clean, depend, <default> </li> | <li>rebuild - clean, depend, <default> </li> |
<li>world - depend, <default> </li> | <li>world - depend, <default> </li> |
</ul> | </ul> |
<p>The Pegasus Client server tests are executed separately from the |
<p></p> |
above because they require the initiation of separate process for the |
<p> |
Pegasus server and Pegasus client. To execute these tests please refer |
Generally the build commands are as follows: </p> |
to the scripts in pegasus/mak/BuildMakefile - refer to the prestarttests |
|
and poststarttests. </p> |
|
<p>For information on particular installation characteristics, tools, |
|
etc. for each platform see the appropriate sections below: </p> |
|
<p>Generally the build commands are as follows: </p> |
|
<ol> | <ol> |
<li>There is a Makefile in the Pegasus root directory. Simply | <li>There is a Makefile in the Pegasus root directory. Simply |
executing make in the Pegasus root directory will make everything. | executing make in the Pegasus root directory will make everything. |
"make rebuild" will clean and rebuild everything. The "make rebuild" | "make rebuild" will clean and rebuild everything. The "make rebuild" |
will also populate the repository with the current CIM Schemas. </li> | 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 |
<li>To test a fresh release, go to the pegasus root and type |
face="Courier New">make world</font>". This will build |
"<font face="Courier New">make world</font>". This will build |
dependencies, build binaries, and then run all tests except the | dependencies, build binaries, and then run all tests except the |
Client/Server tests. </li> | Client/Server tests. </li> |
<li>To execute the basic test suite that is shipped with pegasus | <li>To execute the basic test suite that is shipped with pegasus |
type "make tests". This also reinstalls the repository. Running |
type "make tests". This also reinstalls the repository. |
"make -s tests" suppresses extraneous output such as the enter/leave |
Running "make -s tests" suppresses extraneous output such as the |
directory messages. </li> |
enter/leave directory messages. </li> |
<li>"make clean" removes all object and library files from the | <li>"make clean" removes all object and library files from the |
structure. </li> | structure. </li> |
<li>A new build system has been added to Pegasus where a new CVS | <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 |
checkout is done, |
mak/BuildMakefile cleanbuild" </li> |
built, and tests are run. Do it by: "make -f mak/BuildMakefile |
|
cleanbuild" </li> |
</ol> | </ol> |
<h1><a name="Populate the Repository">Populating the Pegasus Repository</a> </h1> |
<h2> |
<p>Before using Pegasus you must populate the repository.. The makefile |
<a name="pop_peg_rep">Populate the Pegasus repository</a> </h2> |
does it all for you, but in case you are wondering what it does or how |
<p> |
to do it manually: </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> | <ol> |
<li>Register the MOF (Managed Object Format) file describing the | <li>Register the MOF (Managed Object Format) file describing the |
skeleton of the object. </li> | skeleton of the object. </li> |
<li>Register a second MOF which only points out which lib*.so file to | <li>Register a second MOF which only points out which lib*.so file to |
be loaded when a specific object is activated. </li> | be loaded when a specific object is activated. </li> |
</ol> | </ol> |
<p>This is done automatically for the providers included in Pegasus by |
<p></p> |
doing: make repository. </p> |
<p> |
<p>The 'make repository' in pegasus/Schemas does three things Runs MOF |
The providers included with Pegasus are automatically entered into the |
compiler (cimmofl) on: -Schema v2.7 Generates the CIM Schema v2.7 in the |
repository |
repository (skeleton of CIM objects) -PG_InterOp Internal to Pegasus |
by running the following command: <tt>make repository</tt> |
schema for operating (shutdown, add users, etc) CIM_Indication’s (SNMP, |
</p> |
Events, Alert, Threshold, etc) -PG_ManagedSystem Registers included CIM |
<p> |
Providers (libOSProvider.so, libDNSProvider.so, … ) in Pegasus (which |
The 'make repository' in pegasus/Schemas does three things: |
are located in src/Providers) </p> |
</p> |
<p>For more information about using the MOF compiler, refer to user's |
|
manual on the openpegasus.org. </p> |
|
<h1><a name="Testing a Pegasus Installation">Testing a Pegasus |
|
Installation</a></h1> |
|
<p>Pegasus includes an extensive set of test facilities as part of the |
|
CVS enviromentthat can be executed including: </p> |
|
<ul> | <ul> |
<li><b>Test Clients</b> - There are several clients that have been |
<li>Generates the CIM Schema v2.8 in the repository (skeleton of CIM |
built specifically to test Pegasus or parts of Pegasus including |
objects). To do this, it runs the MOF compiler on the CIM schema: <tt>cimmofl |
TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the |
-Schema v2.8</tt> </li> |
src/Clients directory for more information. These programs require a |
<li>Sets up operations (shutdown, add users, etc) and CIM indications |
server complete with repository to be running. Note that some of these |
(SNMP, Events, Alert, Threshold, etc) |
tests use classes and instances that are only installed with the |
internal to the Pegasus schema by running the following command: <tt>cimmofl |
"make testrepository" functions including test namespaces and extra |
-PG_InterOp</tt> </li> |
classes and instances in those namespaces and additional providers |
<li>Registers included CIM Providers (libOSProvider.so, |
from the providers/sample and proviers/testproviders directories.</li> |
libDNSProvider.so, … ) in Pegasus (which are located in src/Providers) |
<li><b>Sample and test providers</b> - Test providers exist for the |
by running: <tt>cimmofl -PG_ManagedSystem</tt> </li> |
major provider types in the providers/sample directories and the |
</ul> |
providers/testProviders directory</li> |
<h2> |
<li><b>Unit Tests</b> - Most Pegasus functions include unit tests for |
<a name="reg_prov">Registering |
the functions. These are normally executed with the "make tests" |
Providers in the Pegasus Environment</a></h2> |
command which can be executed at many different levels of the source |
<p> |
tree from the top level to execute all of the unit tests to |
Pegasus registers providers with a set of provider registration |
individual directories. Usually the unit test functions can be found in |
|
test directories immediately below their corresponding source code |
|
(i.e 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. See |
|
the make file TestMakefile in the PEGASUS_ROOT directory to execute |
|
these tests. 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 | classes, not using the provider qualifier as is done in most DMTF CIM |
CIMOM implementations today. This set of classes is close to but not | CIMOM implementations today. This set of classes is close to but not |
exactly the same as the current DMTF definition (See the DMTF Interop | exactly the same as the current DMTF definition (See the DMTF Interop |
schema, experimental versions starting with 2.6). This will be | schema, experimental versions starting with 2.6). This will be |
harmonized in the future when the DMTF scheme is moved to final status. </p> |
harmonized in the future when the DMTF scheme is moved to final |
<p>Registration is performed by defining a MOF for the instances of the |
status. </p> |
|
<p> |
|
Registration is performed by defining a MOF for the instances of the |
registration classes that represent the porvider module, providers, | registration classes that represent the porvider module, providers, |
classes, etc. to be registered. The easiest way to create a new |
classes, etc. to be registered. The easiest way to create a new |
registration today is to copy from one of the existing registration | registration today is to copy from one of the existing registration |
MOFs. See the providers/sample/load directory for examples of several |
MOFs. See the providers/sample/load directory for examples of |
registration instance implementations that do work with Pegasus today.</p> |
several registration instance implementations that do work with Pegasus |
<h1><a name="The MU Utility">The MU Utility </a></h1> |
today.</p> |
<p>In order to provide a consistent build structure across multiple |
<h2> |
platforms, we developed a small utility to provide a consistent set of |
<a name="bld_rpms">Building RPMs for Pegasus</a> |
small utilities across these platforms. The MU utilityis a simple |
</h2> |
utility that contains many commands. For example: </p> |
<p> |
<p><font face="Courier New"> C:\> mu rm myfile.cpp yourfile.cpp </font></p> |
The source distribution includes a script you can use to create an RPM |
<p>You may type "mu" to get a list of valid commands. Here are some of |
for Pegasus. To do this, your environment must meet the following |
them: </p> |
requirements: |
<p> rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare |
</p> |
depend </p> |
<ul> |
<p>The MU utility supports globing (expansion of wildcards) so you can |
<li>The root directory for Pegasus must be "/Pegasus-1.0" </li> |
do things like this: </p> |
<li>Your environment variables must be set, as described in <a |
<p><font face="Courier New"> C:\> mu rm *.obj *.exe </font></p> |
href="#set_envt_var">Set evironment variables</a>. </li> |
<p>MU is required to build under the Windows environment. MU is |
<li>You must be logged in as the root user.</li> |
available as part of the distribution of Pegasus. </p> |
</ul> |
<h1><a name="Notes about Building Pegasus on Linux">Notes about |
<p></p> |
Building Pegasus on Linux </a></h1> |
<p> |
<p>No problem. Just make sure you have the environment variables set |
To create the RPMs, run the script <tt>rpmBuild</tt> from the root |
(PEASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For 32 bit linux, the |
directory of the source distribution. For example: <tt>. |
defintion of PEGASUS_PLATFORM is normally LINUX_IX86_GNU. </p> |
/usr/source/pegasus-1.0/rpmBuild</tt> |
<p> </p> |
</p> |
<h1><a name="Notes about Building Pegasus on Mac OS X/Darwin">Notes |
<p> |
about Building Pegasus on Mac OS X/Darwin</a><a |
This will result in and RPM file names <tt>pegasus<version |
name="Notes about Building Pegasus on Linux"> </a></h1> |
number>.rpm</tt>. |
<p>No problem. Just make sure you have the environment variables set |
</p> |
(PEASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For Mac OS X/Darwin, the |
<p> |
defination of PEGASUS_PLATFORM is <br> |
<strong>Note</strong>: After you install using the install using the |
DARWIN_PPC_GNU.</p> |
PRM, you must crate and populate teh repository manually. |
<p> </p> |
</p> |
<h1><a name="Notes about Building Pegasus with SSL">Notes about |
<strong>Question: I'm still working on this procedure (I haven't gotten |
Building Pegasus with SSL </a></h1> |
it to work yet).<br> |
<p>To build with SSL you need the OpenSSL libraries and header files. |
<br> |
They are NOT distributed with Pegasus. Make sure you have them in a |
</strong> |
standard directory so Pegasus can find them. If that's not the case, set |
<h2><a name="note_bld_peg_lnx">Notes about |
the environment variable OPENSSL_HOME= to point where your OpenSSL |
Building |
installation is. </p> |
Pegasus on Linux </a></h2> |
<p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' |
<p> |
in Pegasus directory and you will have Pegasus with SSL enabled. See |
Pegasus supports many distributions of Linux. Refer to <a |
section "Creating SSL certificates" for more information of how to use |
href="#peg_sup_plat">Pegasus Supported Platforms</a> |
SSL. </p> |
for more information. </p> |
<h1><a |
<p> |
name="Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">Building |
To build Pegasus on Linux, ensure that you you have the environment |
Pegasus on Windows 2k or Windows XP with Microsoft Visual C++ </a></h1> |
variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For |
<p>Use of Windows 2000 SP3 or later is recommended. Pegasus is |
32 bit linux, the definition of PEGASUS_PLATFORM is normally |
regularly tested on both Windows 2000 and Windows XP using the Microsoft |
LINUX_IX86_GNU. |
compilers.</p> |
</p> |
|
<br> |
|
<h2><a name="bld_peg_win">Notes |
|
on building Pegasus on Windows 2k or Windows XP with Microsoft Visual |
|
C++ </a></h2> |
|
<p> |
|
Use of Windows 2000 SP3 or later is recommended. Pegasus is |
|
regularly tested on both Windows 2000 and Windows XP using the |
|
Microsoft compilers.</p> |
<p>Today we build Pegasus on Windows using a set of make files | <p>Today we build Pegasus on Windows using a set of make files |
contained in the source distribution, the Microsoft compilers (DevStudio |
contained |
5.x is not supported, Visual Studio 6.0, SP5 is supported) and the |
in the source distribution, the Microsoft compilers (DevStudio 5.x is |
GNUMAKE make utility. Note that you MUST have the Pegasus <a |
not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE |
href="#The%20MU%20Utility">mu.exe </a>utility compiled and available |
make utility. Note that you MUST have the Pegasus <a |
|
href="#mu_utility">mu.exe </a>utility compiled and available |
before trying to compile Pegasus on the normal windows platform. The | before trying to compile Pegasus on the normal windows platform. The |
following is the basic setup steps for the environment. </p> |
following is the basic setup steps for the environment. |
|
</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 |
compiler. Typically this can be done by running the VCVARS32.BAT file |
compiler. |
supplied with Microsoft Visual C++. (contained in the same directory as |
Typically this can be done by running the VCVARS32.BAT file supplied |
cl.exe). </p> |
with Microsoft Visual C++. (contained in the same directory as cl.exe). |
|
</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 <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> |
<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 |
</blockquote> |
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> |
<h1><a name="Installing the Pegasus HTML Test Client">Installing the |
|
Pegasus HTML Test Client</a></h1> |
|
<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> |
|
<h1><a name="Development with Pegasus and Pegasus Tools">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="Commands">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="Creating SSL certifications">Creating SSL certifications </a></h1> |
|
<p>Please follow section <a |
|
href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on |
|
building Pegasus with SSL</a> before embarking on this endeavour. <br> |
|
<br> |
|
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 directory. </p> |
|
<blockquote> |
|
<pre>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>> $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>cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem<br>rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem<br>cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem<br><br></pre> |
|
</blockquote> |
|
<h1><a name="Configuring SSL">Configuring Pegasus to use SSL</a></h1> |
|
<p>Please follow section <a |
|
href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on |
|
building Pegasus with SSL</a> and <a |
|
href="#Creating%20SSL%20certifications">Creating SSL certifications</a> |
|
before embarking on this endeavour.<br> |
|
<br> |
|
To configure Pegasus to take advantage of SSL, configure CIMServer to |
|
have the following configuration options set to: </p> |
|
<blockquote> |
|
<pre> sslTrustFilePath=client.pem<br> sslCertificateFilePath=server.pem<br> sslKeyFilePath=file.pem<br> httpsPort=5989<br> enableHttpsConnection=true<br></pre> |
|
</blockquote> |
|
<p>using the <b>cimconfig</b> utility: </p> |
|
<blockquote> |
|
<pre> cimconfig -p -s enableHttpsConnection=true<br></pre> |
|
</blockquote> |
|
<p><br> |
|
(The client.pem and server.pem are the certifications files created per |
|
the steps in the earlier section). For good riddance you might consider |
|
closing down the cleartext 5988 port. Modify your CIMServer |
|
configuration to include: </p> |
|
<blockquote> |
|
<pre> enableHttpConnection=false<br></pre> |
|
</blockquote> | </blockquote> |
<p>using <b>cimconfig</b>. </p> |
<h3> |
<h1><a name="Configuring PAM">Configuring Pegasus to use PAM</a></h1> |
<a name="mu_utility">The MU Utility </a></h3> |
<p>In order to use PAM Authentication you have to compile Pegasus with |
<p> |
one extra enviroment flags: </p> |
In order to provide a consistent build structure across multiple |
<blockquote> |
platforms, we |
<pre> PEGASUS_PAM_AUTHENTICATION=1<br></pre> |
developed a small utility to provide a consistent set of small |
</blockquote> |
utilities |
<p>You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable |
across these platforms. The MU utilityis a simple utility that contains |
Pegasus password authentication using a flag text-file (recommended). <br> |
many |
After compiling (refer to section <a href="#Building%20Pegasus">Building |
commands. For example: |
Pegasus </a>for details), follow these two important steps: <br> |
</p> |
|
<p><font face="Courier New"> |
|
C:\> mu rm myfile.cpp yourfile.cpp </font> |
|
</p> |
|
<p>You may type "mu" to get a list of valid commands. Here are some |
|
of them: |
|
</p> |
|
<p> |
|
rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend |
|
</p> |
|
<p>The MU utility supports globing (expansion of wildcards) so |
|
you can do things like this: |
|
</p> |
|
<p><font face="Courier New"> |
|
C:\> 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 Pegasus.<br> |
|
</p> |
|
<h2><a name="note_bld_peg_ssl">Notes about |
|
Building Pegasus with SSL |
|
</a></h2> |
|
<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> |
|
<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 "Creating SSL |
|
certificates" below for more information on how to use SSL. |
|
</p> |
|
<h3><a name="crt_ssl_cert">Creating SSL certifications </a></h3> |
|
<p>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 directory.<br> |
|
<span style="color: rgb(0, 0, 0);">Set the sslKeyFilePath to |
|
key.pem. Set the sslCertificateFilePath to cert.pem. To |
|
create a client truststore to validate the server against, copy the |
|
server's certificate into the client truststore, client.pem.</span><br> |
|
</p> |
|
<pre |
|
style="font-style: italic; font-family: courier new,courier,monospace; margin-left: 40px;"><small>CN="Common Name"<br>EMAIL="test@email.address"<br>HOSTNAME=`uname -n`<br>sed -e "s/$CN/$HOSTNAME/" \<br>-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \<br>> $PEGASUS_HOME/ssl.cnf<br>chmod 644 $PEGASUS_HOME/ssl.cnf<br>chown bin $PEGASUS_HOME/ssl.cnf<br>chgrp bin $PEGASUS_HOME/ssl.cnf<br><br>/usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \<br>-nodes -config $PEGASUS_HOME/ssl.cnf \<br>-keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem <br><br>cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem</small></pre> |
|
<p style="color: rgb(0, 0, 0);">Note: key.pem is |
|
sslKeyFilePath. cert.pem is sslCertificateFilePath</p> |
|
<p></p> |
|
<h1> |
|
<a name="test">Testing a Pegasus Installation</a></h1> |
|
<p> |
|
Pegasus includes an extensive set of test facilities as part of the CVS |
|
enviroment, including: |
</p> | </p> |
<ul> | <ul> |
<ul> |
<li><b>Test Clients</b> - There are several clients that have been |
<p>a). Copy the rpm/wbem file in-to /etc/pam.d directory. This |
built specifically to test Pegasus, or parts of Pegasus, including |
notifies PAM what kind of libraries to use when authenticating |
TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the |
Pegasus.</p> |
src/Clients directory for more information. These programs require a |
</ul> |
server complete with repository to be running. Note that some of |
<ul> |
these tests use classes and instances that are only installed with the |
<p>b). Modify CIMServer configuration options: </p> |
"make testrepository" functions including test namespaces and extra |
<blockquote> |
classes and instances in those namespaces and additional providers from |
<pre> usePAMAuthentication=true<br> enableAuthentication=true<br> </pre> |
the providers/sample and proviers/testproviders directories. </li> |
</blockquote> |
<li><b>Sample and test providers</b> - Test providers exist for |
<p>And if you want to allow 'root' to login (*not recommended*) </p> |
the major provider types in the providers/sample directories and the |
<blockquote> |
providers/testProviders directory </li> |
<pre> enableRemotePrivilegedUserAccess=true<br> </pre> |
<li><b>Unit Tests</b> - Most Pegasus functions include unit tests for |
</blockquote> |
the functions. These are normally executed with the "make tests" |
<p>using the <b>cimconfig</b> utility, such as: </p> |
command which can be executed at many different levels of the source |
<blockquote> |
tree from the top level to execute all of the unit tests to individual |
<pre> cimconfig -p -s usePAMAuthentication=true<br> </pre> |
directories. Usually the unit test functions can be found in test |
</blockquote> |
directories immediately below their corresponding source code |
</ul> |
(i.e 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. See |
|
the make file TestMakefile in the PEGASUS_ROOT directory to execute |
|
these tests. This set of tests executes an extensive set of fixed |
|
tests and compares the results against predefined results.</li> |
</ul> | </ul> |
<p>The user is authenticated using HTTP Basic method, thererfore it is |
<p></p> |
strongly suggested you use SSL connection instead of normal HTTP |
<h2><a name="inst_peg_html">Installing the |
connection. Refer to section <a href="#Configuring%20SSL">Configuring |
Pegasus HTML Test Client</a></h2> |
Pegasus to use SSL</a> for more details on creating and using SSL keys. </p> |
<p>This is a separate test tool that allows Pegasus requests to be |
<h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1> |
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 Pegasus uses to run globalized. For example: these |
libraries that |
libraries are used to load messages in different languages, format |
Pegasus uses to run globalized. For example: these libraries are used |
currency and numbers according to a specific locale etc. In order to |
to |
enable globalization in Pegasus, Pegasus must be built with ICU enabled, |
load messages in different languages, format currency and numbers |
ie. the right environment variables must be set prior to running |
according to |
"make". Refer to the GlobalizationHOWTO.htm in the docs directory for |
a specific locale etc. In order to enable globalization in Pegasus, |
details. That said, when users run "make poststarttests" to verify the |
Pegasus |
integrity of a Pegasus download, a series of tests are run that require |
must be built with ICU enabled, ie. the right environment variables |
the cimserver to be running. These tests currently depend on specific |
must be |
|
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the |
|
docs |
|
directory for details.<br> |
|
</p> |
|
<p> When users run "make poststarttests" |
|
to verify the integrity of a Pegasus 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 | 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 Pegasus. 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 disabling |
successfully. If the ICU enabled server is started without |
message loading from the bundles, "make poststartests" will fail. In |
disabling message loading from the bundles, "make poststartests" will |
order to run "make poststarttests" successfully with ICU enabled, an |
fail. |
|
In order to run "make poststarttests" successfully with ICU enabled, an |
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist | environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist |
prior to starting the server. Once this is defined, when the cimserver |
prior to |
starts, all messages generated will be the default hardcoded messages. |
starting the server. Once this is defined, when the cimserver starts, |
This will enable "make poststarttests" to complete successfully. Once |
all |
"make poststarttests" is complete, you should stop the cimserver and |
messages generated will be the default hardcoded messages. This will |
then undefine PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left |
enable |
defined, Pegasus will not be able to load messages using ICU resource |
"make poststarttests" to complete successfully. Once "make |
bundles. </p> |
poststarttests" is |
<h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1> |
complete, you should stop the cimserver and then undefine |
<p>The documentation is currently in preparation. Much of Pegasus is |
PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined, Pegasus |
documented in the PEGASUS PEPs which are the basis for approval of |
will not be able to load messages |
Pegasus functionality, changes, plans, etc. These documents are openly |
using ICU resource bundles.<br> |
available on the PEGASUS web site. The preliminary documentation is not |
</p> |
provided with this release. The current documentation is maintained |
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When |
both as a manual created under the tool DOC++ in the runtime |
running the make tests command with ICU enabled, the PEGASUS_MSG_HOME |
subdirectory manual/html (see doc/devManual to create), as an api |
environment variable must be set to the home directory where the ICU |
document also creatable from the source tree (see doc/apidoc) and as |
resource bundles are built. By default the resource bundles are built |
other miscellaneous documentation in the doc directory. Also there is a |
into directories below PEGASUS_HOME/msg, so that should be the setting |
set of release notes. Normally the release notes for the current release |
for PEGASUS_MSG_HOME.<br> |
are available in the root source directory of CVS.</p> |
</font></p> |
<p>Note that the Pegasus WEB site at The Open Group will be the source |
<p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br> |
of most documentation in the future and today is the source of most |
</font></p> |
discussion and design documentation. </p> |
<p><i><font size="2">Copyright (c) 2004 EMC Corporation; |
<h1><a name="Participate!">Participate!</a></h1> |
Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group; |
<p>We are looking for people who want to join the Pegasus work group |
VERITAS Software Corporation</font><br> |
and contribute to effort of getting this Pegasus off the ground. Please |
<br> |
join the mailing list by visiting www.openpegasus.org, and click on |
<font size="1">Permission is hereby granted, free of charge, to any |
Mailing Lists. </p> |
person obtaining a copy of this software and associated |
|
documentation files (the "Software"), to deal in the Software without |
|
restriction, including without limitation the rights to use, copy, |
|
modify, merge, publish, distribute, sublicense, and/or sell copies of |
|
the Software, and to permit persons to whom the Software is furnished |
|
to do so, subject to the following conditions:</font><br> |
|
<font size="2"><br> |
|
</font> |
|
<font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE |
|
SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE |
|
SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF |
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE |
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<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> |
|
<p><span style="color: rgb(0, 0, 0);"></span> </p> |
</body> | </body> |
</html> | </html> |