version 1.8, 2004/12/01 09:51:58
|
version 1.9, 2005/08/14 14:23:39
|
|
|
<!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 3.0"> |
|
|
|
|
<meta name="ProgId" content="FrontPage.Editor.Document"> | <meta name="ProgId" content="FrontPage.Editor.Document"> |
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> | <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
|
|
|
|
<title>OpenPegasus</title> | <title>OpenPegasus</title> |
|
|
|
|
</head> | </head> |
| |
|
|
|
|
|
|
|
|
<body> | <body> |
| |
|
|
|
|
|
|
|
|
<p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> | <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> |
| |
|
|
|
|
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p> | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p> |
| |
|
|
|
|
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus Version 2.4 | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus Version 2.4 |
|
|
|
|
Release Readme file</p> | Release Readme file</p> |
| |
|
|
|
|
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span |
|
|
|
|
style="color: rgb(0, 0, 0);">1.4</span></p> | style="color: rgb(0, 0, 0);">1.4</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>Created:</b> 24 June 2004</p> |
| |
|
|
|
|
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren Grunbok, Mike | <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren Grunbok, Mike |
|
|
|
|
Harris<br> | Harris<br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status: </b>draft</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 bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;" | <table bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;" |
|
|
|
|
border="1" cellspacing="1" width="100%"> | border="1" cellspacing="1" width="100%"> |
|
|
|
|
<tbody> | <tbody> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<th bgcolor="#cae6ca">Version</th> | <th bgcolor="#cae6ca">Version</th> |
|
|
|
|
<th bgcolor="#cae6ca">Date</th> | <th bgcolor="#cae6ca">Date</th> |
|
|
|
|
<th bgcolor="#cae6ca">Author</th> | <th bgcolor="#cae6ca">Author</th> |
|
|
|
|
<th bgcolor="#cae6ca">Change Description</th> | <th bgcolor="#cae6ca">Change Description</th> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td align="center">1.0</td> | <td align="center">1.0</td> |
|
|
|
|
<td align="center">24, June 2004</td> | <td align="center">24, June 2004</td> |
|
|
|
|
<td align="center">Warren Grunbok<br> | <td align="center">Warren Grunbok<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td>Initial draft<br> | <td>Initial draft<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td align="center"> 1.1</td> | <td align="center"> 1.1</td> |
|
|
|
|
<td align="center">24,August 2004 <br> | <td align="center">24,August 2004 <br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td align="center">Warren Grunbok <br> | <td align="center">Warren Grunbok <br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td>Mostly spelling changes, adds to very last paragraph <br> | <td>Mostly spelling changes, adds to very last paragraph <br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td style="vertical-align: top;">1.2<br> | <td style="vertical-align: top;">1.2<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">31, August 2004<br> | <td style="vertical-align: top;">31, August 2004<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">Warren Grunbok<br> | <td style="vertical-align: top;">Warren Grunbok<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">Changes based on architecture review. Removed | <td style="vertical-align: top;">Changes based on architecture review. Removed |
|
|
|
|
/Directory structure section and placed into seperate document.<br> | /Directory structure section and placed into seperate document.<br> |
|
|
|
|
<br> | <br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td style="vertical-align: top;">1.3<br> | <td style="vertical-align: top;">1.3<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">???<br> | <td style="vertical-align: top;">???<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">Warren Grunbok<br> | <td style="vertical-align: top;">Warren Grunbok<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">Removed Pegasus Directory structure and placed in PEP | <td style="vertical-align: top;">Removed Pegasus Directory structure and placed in PEP |
|
|
|
|
191, Added Copyright and End of Doc marker.<br> | 191, Added Copyright and End of Doc marker.<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">1.4<br> | <td style="vertical-align: top; color: rgb(0, 0, 0);">1.4<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">27, Sept 2004<br> | <td style="vertical-align: top; color: rgb(0, 0, 0);">27, Sept 2004<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">Warren Grunbok<br> | <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren Grunbok<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">Corrected Security changes as per | <td style="vertical-align: top; color: rgb(0, 0, 0);">Corrected Security changes as per |
|
|
|
|
Sterling.<br> | Sterling.<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
</tbody> | </tbody> |
|
|
|
|
</table> | </table> |
| |
|
|
|
|
|
|
|
|
<hr> | <hr> |
| |
|
|
|
|
|
|
|
|
<p><b>Abstract:</b> Installation, build, operation information on the Pegasus | <p><b>Abstract:</b> Installation, build, operation information on the Pegasus |
|
|
|
|
Platform Version 2.4.0 Release. Note that if this readme conflicts with the documentation | Platform Version 2.4.0 Release. Note that if this readme conflicts with the documentation |
|
|
|
|
in the release notes or interface definition documents for a particular release, those | in the release notes or interface definition documents for a particular release, those |
|
|
|
|
documents should be considered authorative. This is a simplified overview to act as an | documents should 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 Services Broker for the | <p align="center"><b><font size="5">OpenPegasus - A Manageability Services Broker for the |
|
|
|
|
DMTF CIM/WBEM Standards </font></b></p> | DMTF CIM/WBEM Standards </font></b></p> |
| |
|
|
|
|
|
|
|
|
<p align="left"><b>Tagline:</b> OpenPegasus is an object manager for DMTF CIM objects | <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> | written in C++ and supported by The Open Group </p> |
| |
|
|
|
|
|
|
|
|
<p align="left"><b>STATUS:</b> Revised Sept 2004 for Pegasus release version | <p align="left"><b>STATUS:</b> Revised Sept 2004 for Pegasus release version |
|
|
|
|
2.4.0 - Approved<br> | 2.4.0 - Approved<br> |
|
|
|
|
</p> | </p> |
|
|
|
|
<a href="#Overview"> | <a href="#Overview"> |
| |
|
|
|
|
|
|
|
|
<p>Overview</a> </p> | <p>Overview</a> </p> |
| |
|
|
|
|
|
|
|
|
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> | <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> |
|
|
|
|
<a href="#avail_of_peg"><p>Availability of Pegasus</a><br> | <a href="#avail_of_peg"><p>Availability of Pegasus</a><br> |
|
|
|
|
<a href="#peg_maj_comp">Pegasus Major Components</a><br> | <a href="#peg_maj_comp">Pegasus Major Components</a><br> |
|
|
|
|
<a href="#avail_of_peg">Availability of Pegasus</a><br> | <a href="#avail_of_peg">Availability of Pegasus</a><br> |
|
|
|
|
<a href="#peg_sup_plat">Pegasus Supported Platforms</a><br> | <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br> |
|
|
|
|
<a href="#peg_dep">Pegasus Dependencies</a><br> | <a href="#peg_dep">Pegasus Dependencies</a><br> |
|
|
|
|
<a href="#peg_dir_struc">The Pegasus Directory Structure</a><br> | <a href="#peg_dir_struc">The Pegasus Directory Structure</a><br> |
|
|
|
|
<a href="#dev_with_peg">Development with Pegasus and Pegasus Tools</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">Participate</a><br> |
|
|
|
|
</p> | </p> |
|
|
|
|
</blockquote> | </blockquote> |
|
|
|
|
<a href="#inst_peg"> | <a href="#inst_peg"> |
| |
|
|
|
|
|
|
|
|
<p>Install Pegasus</a> </p> | <p>Install Pegasus</a> </p> |
| |
|
|
|
|
|
|
|
|
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> | <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> |
|
|
|
|
<a href="#download"><p>Download or checkout Pegasus</a><br> | <a href="#download"><p>Download or checkout Pegasus</a><br> |
|
|
|
|
<a href="#vfy_req_sw">Verify that you have the required software</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="#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="#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="#pop_peg_rep">Populate the Pegasus repository</a><br> |
|
|
|
|
<a href="#reg_prov">Register providers in the Pegasus environment</a><br> | <a href="#reg_prov">Register providers in the Pegasus environment</a><br> |
|
|
|
|
<a href="#bld_rpms">Build an RPM for Pegasus</a><br> | <a href="#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_lnx">Notes about Building Pegasus on Linux</a><br> |
|
|
|
|
<a href="#note_bld_peg_mac">Notes about Building Pegasus on Mac OS X</a><br> | <a href="#note_bld_peg_mac">Notes about Building Pegasus on Mac OS X</a><br> |
|
|
|
|
<a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br> | <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br> |
<a href="#crt_ssl_cert">Creating SSL certifications</a><br> |
|
|
|
<a href="#bld_peg_win">Building Pegasus on Windows 2000 or Windows XP With Microsoft | <a href="#bld_peg_win">Building Pegasus on Windows 2000 or Windows XP With Microsoft |
|
|
|
|
Visual C++</a><br> | Visual C++</a><br> |
|
|
|
|
<a href="#mu_utility">The MU Utility</a><br> | <a href="#mu_utility">The MU Utility</a><br> |
|
|
|
|
</p> | </p> |
|
|
|
|
</blockquote> | </blockquote> |
|
|
|
|
<a href="#test"> | <a href="#test"> |
| |
|
|
|
|
|
|
|
|
<p>Test the Pegasus installation</a><br> | <p>Test the Pegasus installation</a><br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> | <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> |
|
|
|
|
<a href="#inst_peg_html"><p>Installing the Pegasus HTML Test Client</a><br> | <a href="#inst_peg_html"><p>Installing the Pegasus HTML Test Client</a><br> |
|
|
|
|
<a href="#test_icu">Testing with ICU enabled</a><br> | <a href="#test_icu">Testing with ICU enabled</a><br> |
|
|
|
|
</p> | </p> |
|
|
|
|
</blockquote> | </blockquote> |
| |
|
|
|
|
|
|
|
|
<hr> | <hr> |
| |
|
|
|
|
|
|
|
|
<h1><a name="Overview">Overview</a> </h1> | <h1><a name="Overview">Overview</a> </h1> |
| |
|
|
|
|
|
|
|
|
<p><b>OpenPegasus (also referred to as Pegasus):</b> Pegasus is an open-source CIM Server | <p><b>OpenPegasus (also referred to as Pegasus):</b> Pegasus is an open-source CIM Server |
|
|
|
|
for DMTF CIM objects. It is written in C++ and includes the Object manager (CIMOM), a set | for DMTF CIM objects. It is written in C++ and includes the Object manager (CIMOM), a set |
|
|
|
|
of defined interfaces, an implemenation of the CIMOperations over HTTP operations and | of defined interfaces, an implemenation of the CIMOperations over HTTP operations and |
|
|
|
|
their cimxml HTTP encodings, and Interface libraries for both client and providers. It is | their cimxml HTTP encodings, and Interface libraries for both client and providers. It is |
|
|
|
|
maintained consistent with the DMTF CIM and WBEM specifications except for | maintained consistent with the DMTF CIM and WBEM specifications except for |
|
|
|
|
exceptions noted in the documentation. </p> | exceptions noted in the documentation. </p> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus is open source and is covered under the MIT open-source license.</p> | <p>Pegasus is open source and is covered under the MIT open-source license.</p> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus is being developed and maintained under the auspices of The Open Group. Pegasus | <p>Pegasus is being developed and maintained under the auspices of The Open Group. Pegasus |
|
|
|
|
is maintained under the license defined in the doc directory (LICENSE) of this release. | is maintained under the license defined in the doc directory (LICENSE) of this release. |
|
|
|
|
This licensing is intended to support as wide a distribution as possible with minimal | This licensing is intended to support as wide a distribution as possible with minimal |
|
|
|
|
demands on the users. </p> | demands on the users. </p> |
| |
|
|
|
|
|
|
|
|
<p>More information on this project, access to the CVS, and documentation on Pegasus are | <p>More information on this project, access to the CVS, and documentation on Pegasus are |
|
|
|
|
available from the OpenGroup WEB site. </p> | available from the OpenGroup WEB site. </p> |
| |
|
|
|
|
|
|
|
|
<p> <a target="blank" href="http://www.openpegasus.org">http://www.openpegasus.org</a></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 each release of | <p>There are a number of separate documents representing the status and each release of |
|
|
|
|
Pegasus | Pegasus |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li>What's new for this release - See the PEPs (Pegasus Enhancement Procedures) release | <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> | 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 | <li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and the web site |
|
|
|
|
as a Pegasus PEP.</li> | as a Pegasus PEP.</li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<p>The release notes are available on the WEB site as Pegasus PEP documents and in the CVS | <p>The release notes are available on the WEB site as Pegasus PEP documents and in the CVS |
|
|
|
|
for each release.</p> | for each release.</p> |
| |
|
|
|
|
|
|
|
|
<table id="AutoNumber3" border="1" cellspacing="1" width="31%"> | <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="58%"><b>Release Notes PEP</b></td> | <td width="58%"><b>Release Notes PEP</b></td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td width="42%">2.0</td> | <td width="42%">2.0</td> |
|
|
|
|
<td width="58%">None</td> | <td width="58%">None</td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td width="42%">2.1</td> | <td width="42%">2.1</td> |
|
|
|
|
<td width="58%">None</td> | <td width="58%">None</td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<td width="42%">2.2</td> | <td width="42%">2.2</td> |
|
|
|
|
<td width="58%">PEP 57</td> | <td width="58%">PEP 57</td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
<tr> | <tr> |
|
|
|
|
<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> | <tr> |
|
|
|
|
<td style="vertical-align: top;">2.4<br> | <td style="vertical-align: top;">2.4<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
<td style="vertical-align: top;">PEP 185<br> | <td style="vertical-align: top;">PEP 185<br> |
|
|
|
|
</td> | </td> |
|
|
|
|
</tr> | </tr> |
|
|
|
|
</tbody> | </tbody> |
|
|
|
|
</table> | </table> |
| |
|
|
|
|
|
|
|
|
<h2><a name="avail_of_peg">Availability of Pegasus</a></h2> | <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 | <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 | 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> | web site. The source code from CVS can be found at the following Open Group CVS server; </p> |
| |
|
|
|
|
|
|
|
|
<p><font face="Courier New"> cvs.opengroup.org:/cvs/MSB </font></p> | <p><font face="Courier New"> cvs.opengroup.org:/cvs/MSB </font></p> |
| |
|
|
|
|
|
|
|
|
<p>using the password authenticating server option (pserve). </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> | <p>Anonymous access for read is with the name and password "anon" as follows: </p> |
| |
|
|
|
|
|
|
|
|
<blockquote> | <blockquote> |
|
|
|
|
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Courier New">%export | <p style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Courier New">%export |
|
|
|
|
CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB </font></p> | 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> | <p style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Courier New">%cvs login </font></p> |
|
|
|
|
</blockquote> | </blockquote> |
| |
|
|
|
|
|
|
|
|
<p>When requested, enter the password "anon". The source tree is in the | <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> | directory pegasus. To check out the complete Pegasus source tree just type: </p> |
| |
|
|
|
|
|
|
|
|
<p><font face="Courier New"> cvs co pegasus </font></p> | <p><font face="Courier New"> cvs co pegasus </font></p> |
| |
|
|
|
|
|
|
|
|
<p>A Pegasus directory will be created under the current directory and populated with the | <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 | complete source tree and documentation. To get the latest updates after a checkout just |
|
|
|
|
type this from Pegasus root: </p> | type this from Pegasus root: </p> |
| |
|
|
|
|
|
|
|
|
<p><font face="Courier New"> cvs update -d </font></p> | <p><font face="Courier New"> cvs update -d </font></p> |
| |
|
|
|
|
|
|
|
|
<p>Active contributors to Pegasus have write access to the CVS repository. If you are | <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 | interested in contributing back to the Pegasus project, (i.e. write (checkin) access to |
|
|
|
|
CVS) please request access from either Martin Kirk (<a | CVS) please request access from either Martin Kirk (<a |
|
|
|
|
href="mailto:(k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>) or Karl Schopmeyer <a | href="mailto:(k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>) or Karl Schopmeyer <a |
|
|
|
|
href="mailto:(k.schopmeyer@opengroup.org">k.schopmeyer@opengroup.org</a>. </p> | href="mailto:(k.schopmeyer@opengroup.org">k.schopmeyer@opengroup.org</a>. </p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="peg_maj_comp">Pegasus Major Components</a></h2> | <h2><a name="peg_maj_comp">Pegasus Major Components</a></h2> |
| |
|
|
|
|
|
|
|
|
<p>The major components of Pegasus are: | <p>The major components of Pegasus are: |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for providers and clients </li> | <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 | <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 | 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 | 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 | is expected that they will be replaced with other implementations of the respository |
|
|
|
|
function as the need arises. </li> | function as the need arises. </li> |
|
|
|
|
<li><b>Pegasus Client Library</b> - Tools for building Pegasus clients based on the Pegasus | <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. | C++ interfaces and using the WBEM HTTP/XML protocols or directly interfacing with Pegasus. |
|
|
|
|
</li> | </li> |
|
|
|
|
<li><b>Pegasus Test Clients</b> - Simple test clients being developed as part of the Pegasus | <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 | development process. These can be seen in the src/Clients directory and its subdirectories |
|
|
|
|
</li> | </li> |
|
|
|
|
<li><b>Pegasus HTML Test Client</b> - To aid in testing we created a test client for Pegasus | <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 | 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 | 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 | pages. This has proven useful as a test tool and can be used for a wide variety of |
|
|
|
|
demonstrations. </li> | demonstrations. </li> |
|
|
|
|
<li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus | <li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus |
|
|
|
|
C++ interfaces. </li> | C++ interfaces. </li> |
|
|
|
|
<li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services including | <li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services including |
|
|
|
|
providers for test and demonstration. </li> | providers for test and demonstration. </li> |
|
|
|
|
<li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus components | <li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus components |
|
|
|
|
to extend Pegasus capabilites. </li> | to extend Pegasus capabilites. </li> |
|
|
|
|
<li><b>Pegasus MOF Compiler </b>- There standalone compiler (cimmofl) for MOF files | <li><b>Pegasus MOF Compiler </b>- There standalone compiler (cimmofl) for MOF files |
|
|
|
|
that can be used to install MOF into the Pegasus schema repository and also to check | 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 | 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> | tool to extract the MOF from the repository. </li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2> | <h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus is regularly tested against a variety of platforms by the development | <p>Pegasus is regularly tested against a variety of platforms by the development |
|
|
|
|
group. The set of platforms and exact set of compilers for any given release is | group. The set of platforms and exact set of compilers for any given release is |
|
|
|
|
documented in the Release notes for that release (see the CVS source tree root directory | documented in the Release notes for that release (see the CVS source tree root directory |
|
|
|
|
or the Pegasus PEP defining the ReleaseNotes for any particular release).</p> | or the Pegasus PEP defining the ReleaseNotes for any particular release).</p> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus is supported on a variety of platforms. The list of platforms can be | <p>Pegasus is supported on a variety of platforms. The list of platforms can be |
|
|
|
|
found in the release notes associated with this release.<br> | found in the release notes associated with this release.<br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p><br> | <p><br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="peg_dep">Pegasus Dependencies</a></h2> | <h2><a name="peg_dep">Pegasus Dependencies</a></h2> |
| |
|
|
|
|
|
|
|
|
<p>We have worked to minimize the dependence of Pegasus on other software packages and | <p>We have worked to minimize the dependence of Pegasus on other software packages and |
|
|
|
|
tools. Currently Pegasus has the following dependencies: </p> | tools. Currently Pegasus has the following dependencies: </p> |
| |
|
|
|
|
|
|
|
|
<p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we | <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we |
|
|
|
|
have standardized on a set of build tools including: GNUMAKE. We are using GNUMAKE 3.79.1 | 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> | successfully both in Windows and Linux environments. </p> |
| |
|
|
|
|
|
|
|
|
<p>GNUMAKE is available from :</p> | <p>GNUMAKE is available from :</p> |
| |
|
|
|
|
|
|
|
|
<p> <a target="blank" href="http://www.gnu.org">http://www.gnu.org</a> | <p> <a target="blank" href="http://www.gnu.org">http://www.gnu.org</a> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p> NOTE: A set of the required tools for windows | <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> | platforms is available on the openpegasus web site. <a href="www.openpegasus.org">www.openpegasus.org</a><br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p><b>2. MU.EXE </b>- To minimize the difference between Linux and Windows for GNUMAKE, we | <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 utility is required for Pegasus make with ONLY | have created a utility called MU.exe. This utility is required for Pegasus make with ONLY |
|
|
|
|
Windows environment. It is provided as an alternative to requiring a number of UNIX | Windows environment. It is provided as an alternative to requiring a number of UNIX |
|
|
|
|
utilities (SH, RM, etc.) on the windows platform and effectively provides the functions of | utilities (SH, RM, etc.) on the windows platform and effectively provides the functions of |
|
|
|
|
these utilities that GNUMAKE needs. MU is not required on UNIX or LINUX platforms. </p> | these utilities that GNUMAKE needs. MU is not required on UNIX or LINUX platforms. </p> |
| |
|
|
|
|
|
|
|
|
<p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory. You must | <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory. You must |
|
|
|
|
build it separately. MU source code is part of the distribution in the directory | 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 | src/utils/MU with its own make file. You must compile MU before you initiate the Pegausu |
|
|
|
|
make. </p> | make. </p> |
| |
|
|
|
|
|
|
|
|
<p>NOTE: A copy of the binary is made available as a zip file on the Pegasus WEB site. </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>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 | <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 | 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 | required to have these tools. They are only required if changes need to be made to the |
|
|
|
|
files for parsing and compiling. </p> | files for parsing and compiling. </p> |
|
|
|
|
<b> | <b> |
| |
|
|
|
|
|
|
|
|
<p>4. DLCOMPAT - </b>dlcompat is a dlopen(3) et.al. compatibility library for Mac OS | <p>4. DLCOMPAT - </b>dlcompat is a dlopen(3) et.al. compatibility library for Mac OS |
|
|
|
|
X/Darwin.<br> | X/Darwin.<br> |
|
|
|
|
<br> | <br> |
|
|
|
|
<strong>NOTE</strong>: The dlcompat is not distributed with pegasus source.<br> | <strong>NOTE</strong>: The dlcompat is not distributed with pegasus source.<br> |
|
|
|
|
dlcomapt is avilable from <br> | dlcomapt is avilable from <br> |
|
|
|
|
<br> | <br> |
|
|
|
|
<a href="http://www.opendarwin.org/projects/dlcompat/">http://www.opendarwin.org/projects/dlcompat/ | <a href="http://www.opendarwin.org/projects/dlcompat/">http://www.opendarwin.org/projects/dlcompat/ |
|
|
|
|
</a><br> | </a><br> |
|
|
|
|
<br> | <br> |
|
|
|
|
Again, dlcomapt needs to be installed ONLY if you are using Mac OS X/Darwin.</p> | Again, dlcomapt needs to be installed ONLY if you are using Mac OS X/Darwin.</p> |
| |
|
|
|
|
|
|
|
|
<p><b>5. DOC++ </b>- The Pegasus documentation is taken from a combination of text files | <p><b>5. 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 | 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 | 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> | only the core team will be recreating documentation. </p> |
| |
|
|
|
|
|
|
|
|
<p><b>6. ICU Internationalization libraries</b> - These libraries are used as the basis | <p><b>6. ICU Internationalization libraries</b> - These libraries are used as the basis |
|
|
|
|
for message catalogs for message internationalization. See the ICU website | for message catalogs for message internationalization. See the ICU website |
|
|
|
|
(http://oss.software.ibm.com/icu/) for more information on these libraries</p> | (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 | <p><strong>7.</strong> <b>OpenSSL </b>- If it is intended to use SSL on the communication |
|
|
|
|
protocol, the OpenSSL libraries are required.</p> | protocol, the OpenSSL libraries are required.</p> |
| |
|
|
|
|
|
|
|
|
<h1><a name="peg_dir_struc">The Pegasus Directory Structure</a></h1> | <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 | <p>Pegasus is distributed as a complete source directory structure that should be |
|
|
|
|
installed either from one of the snapshots or from CVS. </p> | installed either from one of the snapshots or from CVS. </p> |
| |
|
|
|
|
|
|
|
|
<p>The Pegasus Directory is documented in<span style="color: rgb(51, 255, 51);"> <span | <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 | style="color: rgb(0, 0, 0);">PEP 191</span> </span>and listed in the Pegasus /doc |
|
|
|
|
directory.<br> | directory.<br> |
|
|
|
|
</p> | </p> |
| |
<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> |
|
|
|
|
<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>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> | <p>To see simple help for each of the commands, use the "-h" flag. </p> |
| |
|
|
|
|
|
|
|
|
<blockquote> | <blockquote> |
|
|
|
|
<pre>Examples: | <pre>Examples: |
|
|
|
|
bin/cimserver –s (Shuts it down) | bin/cimserver –s (Shuts it down) |
|
|
|
|
bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags) | bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags) |
|
|
|
|
bin/cimprovider –l –s (lists providers and their status) | bin/cimprovider –l –s (lists providers and their status) |
|
|
|
|
bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider) | bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider) |
|
|
|
|
bin/cimuser –a –u guest –w ThePassword | bin/cimuser –a –u guest –w ThePassword |
|
|
|
|
bin/cimuser –l (lists the users) | bin/cimuser –l (lists the users) |
|
|
|
|
bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type) | bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type) |
|
|
|
|
</pre> | </pre> |
|
|
|
|
</blockquote> | </blockquote> |
| |
|
|
|
|
|
|
|
|
<h1><a name="docs">Pegasus Documentation</a></h1> | <h1><a name="docs">Pegasus Documentation</a></h1> |
| |
|
|
|
|
|
|
|
|
<p>The documentation is currently in preparation. Much of Pegasus is documented in | <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, | 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 | 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 | 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 | 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 | 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 | 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 | 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> | 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 | <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 in the future and today is the source of most discussion and design |
|
|
|
|
documentation. </p> | documentation. </p> |
| |
|
|
|
|
|
|
|
|
<h1><a name="part">Participate!</a></h1> | <h1><a name="part">Participate!</a></h1> |
| |
|
|
|
|
|
|
|
|
<p>We are looking for people who want to join the Pegasus work group and contribute to | <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 | effort of getting this Pegasus off the ground. Please join the mailing list by visiting |
|
|
|
|
www.openpegasus.org, and click on Mailing Lists. </p> | www.openpegasus.org, and click on Mailing Lists. </p> |
| |
|
|
|
|
|
|
|
|
<h1><a name="inst_peg">Install Pegasus</a> </h1> | <h1><a name="inst_peg">Install Pegasus</a> </h1> |
| |
|
|
|
|
|
|
|
|
<p>You can install and run Pegasus on any of the supported platforms. The installation | <p>You can install and run Pegasus on any of the supported platforms. The installation |
|
|
|
|
process includes the following steps: | process includes the following steps: |
| |
|
|
|
|
|
|
|
|
<ol> | <ol> |
|
|
|
|
<li>Download or checkout Pegasus. </li> | <li>Download or checkout Pegasus. </li> |
|
|
|
|
<li>Verify that you have the required software. </li> | <li>Verify that you have the required software. </li> |
|
|
|
|
<li>Set environment variables. </li> | <li>Set environment variables. </li> |
|
|
|
|
<li>Build the Pegasus runtime, test files, test clients and repository. </li> | <li>Build the Pegasus runtime, test files, test clients and repository. </li> |
|
|
|
|
</ol> | </ol> |
| |
|
|
|
|
|
|
|
|
<p><a name="download"><strong>Step 1: Download or checkout Pegasus</strong></a></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" | <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 | 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. | 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 | For more information about checking out Pegasus using CVS, see: <a href="#avail_of_peg">Availability |
|
|
|
|
of Pegasus</a>. </p> | of Pegasus</a>. </p> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus is not currently releasing binaries, but you can create RPMs using a script | <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> | included with the source distribution. See <a href="#bld_rpms">Building RPMs for Pegasus</a> |
|
|
|
|
for more information. </p> | for more information. </p> |
| |
|
|
|
|
|
|
|
|
<p><a name="vfy_req_sw"><strong>Step 2: Verify that you have the required software</strong></a></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 | <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> | 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><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 | <p>Before installing or running Pegasus, ensure that the following environment variables |
|
|
|
|
have been defined or updated: | have been defined or updated: |
| |
|
|
|
|
|
|
|
|
<dl> | <dl> |
|
|
|
|
<dt>PEGASUS_ROOT </dt> | <dt>PEGASUS_ROOT </dt> |
|
|
|
|
<dd>Defines the path to the "pegasus" directory you've pulled from CVS, for | <dd>Defines the path to the "pegasus" directory you've pulled from CVS, for |
|
|
|
|
example: <tt>/opt/pegasus/pegasus-2.3.2</tt> <br> | example: <tt>/opt/pegasus/pegasus-2.3.2</tt> <br> |
|
|
|
|
</dd> | </dd> |
|
|
|
|
<dt>PEGASUS_HOME </dt> | <dt>PEGASUS_HOME </dt> |
|
|
|
|
<dd>Defines the directory that will contain the output binary files. For example, if you set | <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> | 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> | 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 | 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 | 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> | directory, for example: <tt>$HOME/pegasus_home_LINUX_IX86_GNU.</tt> <br> |
|
|
|
|
</dd> | </dd> |
|
|
|
|
<dt>PEGASUS_PLATFORM </dt> | <dt>PEGASUS_PLATFORM </dt> |
|
|
|
|
<dd>Identifies the platform to be built. Each supported platform has a unique identifier | <dd>Identifies the platform to be built. Each supported platform has a unique identifier |
|
|
|
|
with the following form: <br> | with the following form: <br> |
|
|
|
|
<tt><Operating-System>_<Architecture>_<Compiler></tt> <p>The following | <tt><Operating-System>_<Architecture>_<Compiler></tt> <p>The following |
|
|
|
|
values are tested for the OpenPegasus release:<br> | values are tested for the OpenPegasus release:<br> |
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li>AIX_RS_IBMCXX </li> | <li>AIX_RS_IBMCXX </li> |
|
|
|
|
<li>HPUX_IA64_ACC </li> | <li>HPUX_IA64_ACC </li> |
|
|
|
|
<li>HPUX_PARISC_ACC </li> | <li>HPUX_PARISC_ACC </li> |
|
|
|
|
<li>LINUX_IA64_GNU </li> | <li>LINUX_IA64_GNU </li> |
|
|
|
|
<li>LINUX_IX86_GNU </li> | <li>LINUX_IX86_GNU </li> |
|
|
|
|
<li>LINUX_PPC_GNU </li> | <li>LINUX_PPC_GNU </li> |
|
|
|
|
<li>LINUX_ZSERIES_GNU </li> | <li>LINUX_ZSERIES_GNU </li> |
|
|
|
|
<li>NSK_NONSTOP_NMCPLUS </li> | <li>NSK_NONSTOP_NMCPLUS </li> |
|
|
|
|
<li>SOLARIS_SPARC_CC </li> | <li>SOLARIS_SPARC_CC </li> |
|
|
|
|
<li>SOLARIS_SPARC_GNU </li> | <li>SOLARIS_SPARC_GNU </li> |
|
|
|
|
<li>TRU64_ALPHA_DECCXX </li> | <li>TRU64_ALPHA_DECCXX </li> |
|
|
|
|
<li>WIN32_IX86_MSVC</li> | <li>WIN32_IX86_MSVC</li> |
|
|
|
|
<li>ZOS_ZSERIES_IBM</li> | <li>ZOS_ZSERIES_IBM</li> |
|
|
|
|
<li>DARWIN_PPC_GNU </li> | <li>DARWIN_PPC_GNU </li> |
|
|
|
|
</ul> | </ul> |
|
|
|
|
</dd> | </dd> |
|
|
|
|
<dt>PATH </dt> | <dt>PATH </dt> |
|
|
|
|
<dd>Add $PEGASUS_HOME/bin to your path.</dd> | <dd>Add $PEGASUS_HOME/bin to your path.</dd> |
|
|
|
|
</dl> | </dl> |
| |
|
|
|
|
|
|
|
|
<p>Additional configuration: | <p>Additional configuration: |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li>For Unix builds, place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH. </li> | <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> | <li>For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib.</li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<p><a name="bld"><strong>Step 4: Build the Pegasus runtime, test files, test clients and | <p><a name="bld"><strong>Step 4: Build the Pegasus runtime, test files, test clients and |
|
|
|
|
repository</strong></a></p> | repository</strong></a></p> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus includes several make files that enable you to quickly build or refresh the | <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 | Pegasus runtime, test files, test client and the repository. To use these make files, type |
|
|
|
|
"make" followed by one of the supplied targets. </p> | "make" followed by one of the supplied targets. </p> |
| |
|
|
|
|
|
|
|
|
<p>To build Pegasus, run the following commands from the root directory of the Pegasus | <p>To build Pegasus, run the following commands from the root directory of the Pegasus |
|
|
|
|
distribution: | distribution: |
| |
|
|
|
|
|
|
|
|
<ol> | <ol> |
|
|
|
|
<li>Enter <tt>make</tt> <p>This builds all of Pegasus. </p> | <li>Enter <tt>make</tt> <p>This builds all of Pegasus. </p> |
|
|
|
|
</li> | </li> |
|
|
|
|
<li>Enter <tt>make repository</tt> <p>This creates the repository, which is needed to serve | <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 | data. To create the additional namespaces that represent the test support you can also |
|
|
|
|
execute "make testrepository". </p> | execute "make testrepository". </p> |
|
|
|
|
</li> | </li> |
|
|
|
|
<li>Enter <tt>make tests</tt> <p>This executes all the tests included with the Pegasus | <li>Enter <tt>make tests</tt> <p>This executes all the tests included with the Pegasus |
|
|
|
|
distribution, except the client/server tests. The client/server tests are executed | distribution, except the client/server tests. The client/server tests are executed |
|
|
|
|
separately from the above because they require the initiation of separate process for the | 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 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> | pegasus/mak/BuildMakefile. Refer to the prestarttests and poststarttests in this file. </p> |
|
|
|
|
</li> | </li> |
|
|
|
|
</ol> | </ol> |
| |
|
|
|
|
|
|
|
|
<p>The following make targets are supported: | <p>The following make targets are supported: |
| |
|
|
|
|
|
|
|
|
<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>depend - Create the dependencies. </li> | <li>depend - Create the dependencies. </li> |
|
|
|
|
<li>repository - Create the repository in $PEGASUS_HOME/repository </li> | <li>repository - Create the repository in $PEGASUS_HOME/repository </li> |
|
|
|
|
<li>tests - Execute all tests (except client server tests). </li> | <li>tests - Execute all tests (except client server tests). </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>Generally the build commands are as follows: | <p>Generally the build commands are as follows: |
| |
|
|
|
|
|
|
|
|
<ol> | <ol> |
|
|
|
|
<li>There is a Makefile in the Pegasus root directory. Simply executing make in the Pegasus | <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 | root directory will make everything. "make rebuild" will clean and rebuild |
|
|
|
|
everything. The "make rebuild" will also populate the repository with the | everything. The "make rebuild" will also populate the repository with the |
|
|
|
|
current CIM Schemas. </li> | current CIM Schemas. </li> |
|
|
|
|
<li>To test a fresh release, go to the pegasus root and type "<font face="Courier New">make | <li>To test a fresh release, go to the pegasus root and type "<font face="Courier New">make |
|
|
|
|
world</font>". This will build dependencies, build binaries, and then run all | world</font>". This will build dependencies, build binaries, and then run all |
|
|
|
|
tests except the Client/Server tests. </li> | tests except the Client/Server tests. </li> |
|
|
|
|
<li>To execute the basic test suite that is shipped with pegasus type "make | <li>To execute the basic test suite that is shipped with pegasus type "make |
|
|
|
|
tests". This also reinstalls the repository. Running "make -s tests" | tests". This also reinstalls the repository. Running "make -s tests" |
|
|
|
|
suppresses extraneous output such as the enter/leave directory messages. </li> | 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>"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, | <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> | and tests are run. Do it by: "make -f mak/BuildMakefile cleanbuild" </li> |
|
|
|
|
</ol> | </ol> |
| |
|
|
|
|
|
|
|
|
<h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2> | <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 | <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 | the buld process when you run the makefile. However, you can also do it manually after the |
|
|
|
|
Pegasus has been built. | Pegasus has been built. |
| |
|
|
|
|
|
|
|
|
<ol> | <ol> |
|
|
|
|
<li>Register the MOF (Managed Object Format) file describing the skeleton of the object. </li> | <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 | <li>Register a second MOF which only points out which lib*.so file to be loaded when a |
|
|
|
|
specific object is activated. </li> | specific object is activated. </li> |
|
|
|
|
</ol> | </ol> |
| |
|
|
|
|
|
|
|
|
<p>The providers included with Pegasus are automatically entered into the repository by | <p>The providers included with Pegasus are automatically entered into the repository by |
|
|
|
|
running the following command: <tt>make repository</tt> </p> | running the following command: <tt>make repository</tt> </p> |
| |
|
|
|
|
|
|
|
|
<p>The 'make repository' in pegasus/Schemas does three things: | <p>The 'make repository' in pegasus/Schemas does three things: |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li>Generates the CIM Schema v2.8 in the repository (skeleton of CIM objects). To do this, | <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> | 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, | <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 | Threshold, etc) internal to the Pegasus schema by running the following command: <tt>cimmofl |
|
|
|
|
-PG_InterOp</tt> </li> | -PG_InterOp</tt> </li> |
|
|
|
|
<li>Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … ) in | <li>Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … ) in |
|
|
|
|
Pegasus (which are located in src/Providers) by running: <tt>cimmofl -PG_ManagedSystem</tt> | Pegasus (which are located in src/Providers) by running: <tt>cimmofl -PG_ManagedSystem</tt> |
|
|
|
|
</li> | </li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<h2><a name="reg_prov">Registering Providers in the Pegasus Environment</a></h2> | <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 | <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 | 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 | 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 | Interop schema, experimental versions starting with 2.6). This will be harmonized in the |
|
|
|
|
future when the DMTF scheme is moved to final status. </p> | future when the DMTF scheme is moved to final status. </p> |
| |
|
|
|
|
|
|
|
|
<p>Registration is performed by defining a MOF for the instances of the registration | <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 | classes that represent the porvider module, providers, classes, etc. to be |
|
|
|
|
registered. The easiest way to create a new registration today is to copy from one | registered. The easiest way to create a new registration today is to copy from one |
|
|
|
|
of the existing registration MOFs. See the providers/sample/load directory for | of the existing registration MOFs. See the providers/sample/load directory for |
|
|
|
|
examples of several registration instance implementations that do work with Pegasus today.</p> | examples of several registration instance implementations that do work with Pegasus today.</p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="bld_rpms">Building RPMs for Pegasus</a> </h2> | <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 | <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: | do this, your environment must meet the following requirements: |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li>The root directory for Pegasus must be "/Pegasus-1.0" </li> | <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 | <li>Your environment variables must be set, as described in <a href="#set_envt_var">Set |
|
|
|
|
evironment variables</a>. </li> | evironment variables</a>. </li> |
|
|
|
|
<li>You must be logged in as the root user.</li> | <li>You must be logged in as the root user.</li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<p>To create the RPMs, run the script <tt>rpmBuild</tt> from the root directory of the | <p>To create the RPMs, run the script <tt>rpmBuild</tt> from the root directory of the |
|
|
|
|
source distribution. For example: <tt>. /usr/source/pegasus-1.0/rpmBuild</tt> </p> | source distribution. For example: <tt>. /usr/source/pegasus-1.0/rpmBuild</tt> </p> |
| |
|
|
|
|
|
|
|
|
<p>This will result in and RPM file names <tt>pegasus<version number>.rpm</tt>. </p> | <p>This will result in and RPM file names <tt>pegasus<version number>.rpm</tt>. </p> |
| |
|
|
|
|
|
|
|
|
<p><strong>Note</strong>: After you install using the install using the PRM, you must | <p><strong>Note</strong>: After you install using the install using the PRM, you must |
|
|
|
|
crate and populate teh repository manually. </p> | crate and populate teh repository manually. </p> |
|
|
|
|
<strong> | <strong> |
| |
|
|
|
|
|
|
|
|
<p>Question: I'm still working on this procedure (I haven't gotten it to work yet).<br> | <p>Question: I'm still working on this procedure (I haven't gotten it to work yet).<br> |
|
|
|
|
<br> | <br> |
|
|
|
|
</strong></p> | </strong></p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="note_bld_peg_lnx">Notes about Building Pegasus on Linux </a></h2> | <h2><a name="note_bld_peg_lnx">Notes about Building Pegasus on Linux </a></h2> |
| |
|
|
|
|
|
|
|
|
<p>Pegasus supports many distributions of Linux. Refer to <a href="#peg_sup_plat">Pegasus | <p>Pegasus supports many distributions of Linux. Refer to <a href="#peg_sup_plat">Pegasus |
|
|
|
|
Supported Platforms</a> for more information. </p> | Supported Platforms</a> for more information. </p> |
| |
|
|
|
|
|
|
|
|
<p>To build Pegasus on Linux, ensure that you you have the environment variables set | <p>To build Pegasus on Linux, ensure that you you have the environment variables set |
|
|
|
|
(PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For 32 bit linux, the definition of | (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For 32 bit linux, the definition of |
|
|
|
|
PEGASUS_PLATFORM is normally LINUX_IX86_GNU. </p> | PEGASUS_PLATFORM is normally LINUX_IX86_GNU. </p> |
| |
|
|
|
|
|
|
|
|
<p><br> | <p><br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="bld_peg_win">Notes on building Pegasus on Windows 2k or Windows XP with | <h2><a name="bld_peg_win">Notes on building Pegasus on Windows 2k or Windows XP with |
|
|
|
|
Microsoft Visual C++ </a></h2> | Microsoft Visual C++ </a></h2> |
| |
|
|
|
|
|
|
|
|
<p>Use of Windows 2000 SP3 or later is recommended. Pegasus is regularly tested on | <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> | both Windows 2000 and Windows XP using the Microsoft compilers.</p> |
| |
|
|
|
|
|
|
|
|
<p>Today we build Pegasus on Windows using a set of make files contained in the source | <p>Today we build Pegasus on Windows using a set of make files contained in the source |
|
|
|
|
distribution, the Microsoft compilers (DevStudio 5.x is not supported, Visual Studio 6.0, | distribution, the Microsoft compilers (DevStudio 5.x is not supported, Visual Studio 6.0, |
|
|
|
|
SP5 is supported) and the GNUMAKE make utility. Note that you MUST have the Pegasus <a | SP5 is supported) and the GNUMAKE make utility. Note that you MUST have the Pegasus <a |
|
|
|
|
href="#mu_utility">mu.exe </a>utility compiled and available before trying to compile | href="#mu_utility">mu.exe </a>utility compiled and available before trying to compile |
|
|
|
|
Pegasus on the normal windows platform. The following is the basic setup steps for the | Pegasus on the normal windows platform. The following is the basic setup steps for the |
|
|
|
|
environment. </p> | environment. </p> |
| |
|
|
|
|
|
|
|
|
<p>Setup the environment variables and path for the Micrososft Visual C compiler. | <p>Setup the environment variables and path for the Micrososft Visual C compiler. |
|
|
|
|
Typically this can be done by running the VCVARS32.BAT file supplied with Microsoft Visual | Typically this can be done by running the VCVARS32.BAT file supplied with Microsoft Visual |
|
|
|
|
C++. (contained in the same directory as cl.exe). </p> | 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. | <pre>REM call the standard Microsoft .bat for VC 6 setup. |
|
|
|
|
call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' | call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' |
|
|
|
|
REM Set debug to something if you want compile in debug mode | REM Set debug to something if you want compile in debug mode |
|
|
|
|
set PEGASUS_DEBUG=true | set PEGASUS_DEBUG=true |
|
|
|
|
REM set PEGASUS_ROOT to top of source tree | REM set PEGASUS_ROOT to top of source tree |
|
|
|
|
set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span | set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span |
|
|
|
|
class="norm">The '/' characters are intentional and required by the Pegasus build system)</span> | class="norm">The '/' characters are intentional and required by the Pegasus build system)</span> |
|
|
|
|
REM set PEGASUS_HOME to where you want repository and executables | REM set PEGASUS_HOME to where you want repository and executables |
|
|
|
|
set PEGASUS_HOME=%PEGASUS_ROOT% | set PEGASUS_HOME=%PEGASUS_ROOT% |
|
|
|
|
REM setup the path to the runtime files. | REM setup the path to the runtime files. |
|
|
|
|
set path=%path%;%PEGASUS_HOME%\bin | set path=%path%;%PEGASUS_HOME%\bin |
|
|
|
|
</pre> | </pre> |
|
|
|
|
</blockquote> | </blockquote> |
| |
|
|
|
|
|
|
|
|
<h3><a name="mu_utility">The MU Utility </a></h3> | <h3><a name="mu_utility">The MU Utility </a></h3> |
| |
|
|
|
|
|
|
|
|
<p>In order to provide a consistent build structure across multiple platforms, we | <p>In order to provide a consistent build structure across multiple platforms, we |
|
|
|
|
developed a small utility to provide a consistent set of small utilities across these | developed a small utility to provide a consistent set of small utilities across these |
|
|
|
|
platforms. The MU utilityis a simple utility that contains many commands. For example: </p> | platforms. The MU utilityis a simple utility that contains many commands. For example: </p> |
| |
|
|
|
|
|
|
|
|
<p><font face="Courier New"> C:\> mu rm myfile.cpp yourfile.cpp </font></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>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 | <p> rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare |
|
|
|
|
depend </p> | depend </p> |
| |
|
|
|
|
|
|
|
|
<p>The MU utility supports globing (expansion of wildcards) so you can do things like | <p>The MU utility supports globing (expansion of wildcards) so you can do things like |
|
|
|
|
this: </p> | this: </p> |
| |
|
|
|
|
|
|
|
|
<p><font face="Courier New"> C:\> mu rm *.obj *.exe </font></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 | <p>MU is required to build under the Windows environment. MU is available as part of the |
|
|
|
|
distribution of Pegasus.<br> | distribution of Pegasus.<br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="note_bld_peg_mac">Notes about Building Pegasus on Mac OS X </a></h2> | <h2><a name="note_bld_peg_mac">Notes about Building Pegasus on Mac OS X </a></h2> |
| |
|
|
|
|
|
|
|
|
<p>No problem. Just make sure you have the environment variables set (PEASUS_HOME, | <p>No problem. Just make sure you have the environment variables set (PEASUS_HOME, |
|
|
|
|
PEGASUS_ROOT, PEGASUS_PLATFORM. For Mac OS X/Darwin, the defination of PEGASUS_PLATFORM is | PEGASUS_ROOT, PEGASUS_PLATFORM. For Mac OS X/Darwin, the defination of PEGASUS_PLATFORM is |
|
|
|
|
DARWIN_PPC_GNU.</p> | DARWIN_PPC_GNU.</p> |
| |
|
|
|
|
|
|
|
|
<h2><br> | <h2><br> |
|
|
|
|
<a name="note_bld_peg_ssl">Notes about Building Pegasus with SSL </a></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" |
|
EMAIL="test@email.address" |
|
HOSTNAME=`uname -n` |
|
sed -e "s/$CN/$HOSTNAME/" \ |
|
-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \ |
|
> $PEGASUS_HOME/ssl.cnf |
|
chmod 644 $PEGASUS_HOME/ssl.cnf |
|
chown bin $PEGASUS_HOME/ssl.cnf |
|
chgrp bin $PEGASUS_HOME/ssl.cnf |
|
|
|
/usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \ |
|
-nodes -config $PEGASUS_HOME/ssl.cnf \ |
|
-keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem |
|
| |
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>Refer to the <A HREF="doc/PegasusSSLGuidelines.htm">Pegasus SSL Guidelines</A> for details on how to build and configure Pegasus for SSL support. |
|
|
|
|
| |
<h1><a name="test">Testing a Pegasus Installation</a></h1> | <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, | <p>Pegasus includes an extensive set of test facilities as part of the CVS enviroment, |
|
|
|
|
including: | including: |
| |
|
|
|
|
|
|
|
|
<ul> | <ul> |
|
|
|
|
<li><b>Test Clients</b> - There are several clients that have been built specifically to | <li><b>Test Clients</b> - There are several clients that have been built specifically to |
|
|
|
|
test Pegasus, or parts of Pegasus, including TestClient, Client, CLI, ipinfo, osinfo, | test Pegasus, or parts of Pegasus, including TestClient, Client, CLI, ipinfo, osinfo, |
|
|
|
|
WbemEsec, etc. See the src/Clients directory for more information. These programs require | WbemEsec, etc. See the src/Clients directory for more information. These programs require |
|
|
|
|
a server complete with repository to be running. Note that some of these tests use | a server complete with repository to be running. Note that some of these tests use |
|
|
|
|
classes and instances that are only installed with the "make testrepository" | classes and instances that are only installed with the "make testrepository" |
|
|
|
|
functions including test namespaces and extra classes and instances in those namespaces | functions including test namespaces and extra classes and instances in those namespaces |
|
|
|
|
and additional providers from the providers/sample and proviers/testproviders directories. | and additional providers from the providers/sample and proviers/testproviders directories. |
|
|
|
|
</li> | </li> |
|
|
|
|
<li><b>Sample and test providers</b> - Test providers exist for the major provider | <li><b>Sample and test providers</b> - Test providers exist for the major provider |
|
|
|
|
types in the providers/sample directories and the providers/testProviders directory </li> | types in the providers/sample directories and the providers/testProviders directory </li> |
|
|
|
|
<li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the functions. | <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the functions. |
|
|
|
|
These are normally executed with the "make tests" command which can be executed | These are normally executed with the "make tests" command which can be executed |
|
|
|
|
at many different levels of the source tree from the top level to execute all of the unit | at many different levels of the source tree from the top level to execute all of the unit |
|
|
|
|
tests to individual directories. Usually the unit test functions can be found in | tests to individual directories. Usually the unit test functions can be found in |
|
|
|
|
test directories immediately below their corresponding source code (i.e common/tests | 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 | 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> | 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 | <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 | 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 | 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> | extensive set of fixed tests and compares the results against predefined results.</li> |
|
|
|
|
</ul> | </ul> |
| |
|
|
|
|
|
|
|
|
<h2><a name="inst_peg_html">Installing the Pegasus HTML Test Client</a></h2> | <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 | <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 | 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 | 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> | environment are maintained in a separate readme in the CGI directory. </p> |
| |
|
|
|
|
|
|
|
|
<h2><a name="test_icu">Testing with ICU enabled</a></h2> | <h2><a name="test_icu">Testing with ICU enabled</a></h2> |
| |
|
|
|
|
|
|
|
|
<p>ICU (International Components for Unicode) refers to the set of libraries that Pegasus | <p>ICU (International Components for Unicode) refers to the set of libraries that Pegasus |
|
|
|
|
uses to run globalized. For example: these libraries are used to load messages in | uses to run globalized. For example: these libraries are used to load messages in |
|
|
|
|
different languages, format currency and numbers according to a specific locale etc. In | different languages, format currency and numbers according to a specific locale etc. In |
|
|
|
|
order to enable globalization in Pegasus, Pegasus must be built with ICU enabled, ie. the | order to enable globalization in Pegasus, Pegasus must be built with ICU enabled, ie. the |
|
|
|
|
right environment variables must be set prior to running "make". Refer to the | right environment variables must be set prior to running "make". Refer to the |
|
|
|
|
GlobalizationHOWTO.htm in the docs directory for details.<br> | GlobalizationHOWTO.htm in the docs directory for details.<br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p> When users run "make poststarttests" to verify the integrity of a | <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. | 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 | These tests currently depend on specific messages returned from the server. When ICU is |
|
|
|
|
enabled, all messages come from the resource bundles and these usually do not match the | enabled, all messages come from the resource bundles and these usually do not match the |
|
|
|
|
hardcoded default messages within Pegasus. These hardcoded default messages are what the | hardcoded default messages within Pegasus. These hardcoded default messages are what the |
|
|
|
|
various test programs expect in order to complete successfully. If the ICU enabled server | various test programs expect in order to complete successfully. If the ICU enabled server |
|
|
|
|
is started without disabling message loading from the bundles, "make | is started without disabling message loading from the bundles, "make |
|
|
|
|
poststartests" will fail. In order to run "make poststarttests" | poststartests" will fail. In order to run "make poststarttests" |
|
|
|
|
successfully with ICU enabled, an environment variable called PEGASUS_USE_DEFAULT_MESSAGES | successfully with ICU enabled, an environment variable called PEGASUS_USE_DEFAULT_MESSAGES |
|
|
|
|
must exist prior to starting the server. Once this is defined, when the cimserver starts, | must exist prior to starting the server. Once this is defined, when the cimserver starts, |
|
|
|
|
all messages generated will be the default hardcoded messages. This will enable "make | all messages generated will be the default hardcoded messages. This will enable "make |
|
|
|
|
poststarttests" to complete successfully. Once "make poststarttests" is | poststarttests" to complete successfully. Once "make poststarttests" is |
|
|
|
|
complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. If | complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. If |
|
|
|
|
this variable is left defined, Pegasus will not be able to load messages using ICU | this variable is left defined, Pegasus will not be able to load messages using ICU |
|
|
|
|
resource bundles.<br> | resource bundles.<br> |
|
|
|
|
</p> | </p> |
| |
|
|
|
|
|
|
|
|
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When running the make | <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When running the make |
|
|
|
|
tests command with ICU enabled, the PEGASUS_MSG_HOME environment variable must be set to | tests command with ICU enabled, the PEGASUS_MSG_HOME environment variable must be set to |
|
|
|
|
the home directory where the ICU resource bundles are built. By default the resource | the home directory where the ICU resource bundles are built. By default the resource |
|
|
|
|
bundles are built into directories below PEGASUS_HOME/msg, so that should be the setting | bundles are built into directories below PEGASUS_HOME/msg, so that should be the setting |
|
|
|
|
for PEGASUS_MSG_HOME.<br> | for PEGASUS_MSG_HOME.<br> |
|
|
|
|
</font></p> | </font></p> |
| |
|
|
|
|
|
|
|
|
<p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br> | <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br> |
|
|
|
|
</font></p> | </font></p> |
| |
|
|
|
|
|
|
|
|
<p><i><font size="2">Copyright (c) 2004 EMC Corporation; Hewlett-Packard Development | <p><i><font size="2">Copyright (c) 2004 EMC Corporation; Hewlett-Packard Development |
|
|
|
|
Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation</font><br> | Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation</font><br> |
|
|
|
|
<br> | <br> |
|
|
|
|
<font size="1">Permission is hereby granted, free of charge, to any person obtaining a | <font size="1">Permission is hereby granted, free of charge, to any person obtaining a |
|
|
|
|
copy of this software and associated documentation files (the "Software"), | copy of this software and associated documentation files (the "Software"), |
|
|
|
|
to deal in the Software without restriction, including without limitation the rights to | 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 | 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 | Software, and to permit persons to whom the Software is furnished to do so, subject to the |
|
|
|
|
following conditions:</font><br> | following conditions:</font><br> |
|
|
|
|
<font size="2"><br> | <font size="2"><br> |
|
|
|
|
</font><font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE | </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 | INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS |
|
|
|
|
PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
|
|
|
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR | 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 | 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 | 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 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
|
|
|
DEALINGS IN THE SOFTWARE.<br> | DEALINGS IN THE SOFTWARE.<br> |
|
|
|
|
</font></i></p> | </font></i></p> |
| |
|
|
|
|
|
|
|
|
<p><i><font size="1"><br style="font-family: arial;"> | <p><i><font size="1"><br style="font-family: arial;"> |
|
|
|
|
<big><big><span style="font-family: arial;">------------------------End of | <big><big><span style="font-family: arial;">------------------------End of |
|
|
|
|
Document-------------------------<br> | Document-------------------------<br> |
|
|
|
|
</span></big></big></font></i></p> | </span></big></big></font></i></p> |
|
|
|
|
</body> | </body> |
|
|
|
|
</html> | </html> |
|
|
|
|