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