version 1.4, 2004/03/10 17:52:07
|
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"> |
<html> | <html> |
|
|
<head> | <head> |
<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> | <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> |
<meta name="ProgId" content="FrontPage.Editor.Document"> | <meta name="ProgId" content="FrontPage.Editor.Document"> |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
<meta http-equiv="Content-Type" |
|
content="text/html; charset=windows-1252"> |
<title>OpenPegasus</title> | <title>OpenPegasus</title> |
</head> | </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: 0; margin-bottom: 0"><b>PEP #:</b> 103</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 235<br> |
<p style="margin-top: 0; margin-bottom: 0"><b>Title: </b>OpenPegasus Version 2.3 |
</p> |
Release Readme file</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus |
<p style="margin-top: 0; margin-bottom: 0"><b>Version: </b>1.1</p> |
Version 2.5 Release Readme file</p> |
<p style="margin-top: 0; margin-bottom: 0"><b>Created:</b> 12 November 2003</p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span |
<p style="margin-top: 0; margin-bottom: 0"><b>Authors: </b>Karl Schopmeyer, Konrad Rzeszutek</p> |
style="color: rgb(0, 0, 0);">1.4<br> |
<p style="margin-top: 0; margin-bottom: 0"><b>Status: </b>draft</p> |
</span></p> |
<p style="margin-top: 0; margin-bottom: 0"><b>Version History:</b></p> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 6 Sept |
<table border="1" cellspacing="1" bordercolordark="#666666" |
2005</p> |
bordercolorlight="#CCCCCC" width=100% |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren |
style='font-size=10.0pt;font-family:Arial'> |
Grunbok<br> |
<tr> |
</p> |
<th bgcolor="#CAE6CA">Version</th> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status: </b>draft</p> |
<th bgcolor="#CAE6CA">Date</th> |
<p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p> |
<th bgcolor="#CAE6CA">Author</th> |
<table bordercolordark="#666666" bordercolorlight="#cccccc" |
<th bgcolor="#CAE6CA">Change Description</th> |
style="font-family: Arial;" border="1" cellspacing="1" width="100%"> |
|
<tbody> |
|
<tr> |
|
<th bgcolor="#cae6ca">Version</th> |
|
<th bgcolor="#cae6ca">Date</th> |
|
<th bgcolor="#cae6ca">Author</th> |
|
<th bgcolor="#cae6ca">Change Description</th> |
</tr> | </tr> |
<tr> | <tr> |
<td align="center">1.0</td> | <td align="center">1.0</td> |
<td align="center">12 November 2003</td> |
<td align="center">5, Sept 2005</td> |
<td align="center">Karl Schopmeyer</td> |
<td align="center">Warren Grunbok<br> |
<td>Update from 2.2 Release notes. Converted to HTML</td> |
</td> |
</tr> |
<td>Initial draft<br> |
<tr> |
</td> |
<td align="center">1.1</td> |
</tr> |
<td align="center">March 10 2004</td> |
<tr> |
<td align="center">Konrad Rzeszutek</td> |
<td style="vertical-align: top; text-align: center;">1.1<br> |
<td>Added sections describing SSL and PAM configuration</td> |
</td> |
</tr> |
<td style="vertical-align: top; text-align: center;"> 13, |
<tr> |
Sept 2005<br> |
<td align="center"> </td> |
</td> |
<td align="center"> </td> |
<td style="vertical-align: top; text-align: center;">Warren |
<td align="center"> </td> |
Grunbok/Roger Kumpf<br> |
<td> </td> |
</td> |
|
<td style="vertical-align: top; text-align: center;">Updates |
|
based on Architecture team review<br> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td style="vertical-align: top;">1.2<br> |
|
</td> |
|
<td style="vertical-align: top;">22, Sept 2005<br> |
|
</td> |
|
<td style="vertical-align: top;">Warren Grunbok<br> |
|
</td> |
|
<td style="vertical-align: top;">Updates from posted comments to |
|
1.1<br> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">1.3<br> |
|
</td> |
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">22,Sept 2005<br> |
|
</td> |
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">Warren |
|
Grunbok<br> |
|
</td> |
|
<td style="vertical-align: top; color: rgb(0, 0, 0);">changed _ |
|
to - <br> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td style="vertical-align: top;">1.4<br> |
|
</td> |
|
<td style="vertical-align: top;">26, Sept 2005<br> |
|
</td> |
|
<td style="vertical-align: top;">Warren Grunbok/Dave Sudlik<br> |
|
</td> |
|
<td style="vertical-align: top;">Cleanup on example lists<br> |
|
</td> |
</tr> | </tr> |
|
</tbody> |
</table> | </table> |
<hr> | <hr> |
<p><b>Abstract:</b> Installation, build, operation information on the |
<p><b>Abstract:</b> Installation, build, operation information on |
Pegasus Platform Version 2.3 Release. Note that if this readme conflicts with |
the OpenPegasus Version 2.5.0 Release. Note that if this readme |
the documentation in the release notes or interface definition documents for a |
conflicts with the documentation in the release notes or interface |
particular release, those documents should be considered authorative. This is a |
definition documents for a particular release, those documents should |
simplified overview to act as an introduction to Pegasus.</p> |
be considered authorative. This is a simplified overview to act as an |
|
introduction to OpenPegasus.</p> |
<hr> | <hr> |
|
<p align="center"><b><font size="5">OpenPegasus - A Manageability |
<p align="Center"><b><font size="5">OpenPegasus - A Manageability Services Broker |
Services Broker for the DMTF CIM/WBEM Standards |
for the DMTF CIM/WBEM Standards |
</font></b></p> |
</font> |
<p align="left"><b>Tagline:</b> OpenPegasus is an object manager for |
</b> |
DMTF CIM objects written in C++ |
|
and hosted by The Open Group </p> |
<p align="left"> |
|
<b>Tagline:</b> OpenPegasus is an object manager for DMTF CIM objects written in C++ |
|
and supported by The Open Group </p> |
|
|
|
<p align="left"> | <p align="left"> |
|
<b>STATUS:</b> Revised Sept 2005 for Pegasus release version |
<b>STATUS:</b> Revised November 2003 for Pegasus release version 2.3.0 |
2.5.0 |
</p> |
- Draft<br> |
|
</p> |
<p align="center"> |
<a href="#Overview">Overview</a> |
<b><font size="4">Table of Contents</font></b><p align="left" style="margin-top: 0; margin-bottom: 0"> |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
<a href="#Overview"> Overview</a> |
href="#avail_of_peg">Availability of Pegasus</a><br> |
|
<a href="#peg_sup_plat">Pegasus Supported Platforms</a><br> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#peg_dep">Pegasus Dependencies</a><br> |
<a href="#Availability of Pegasus">Availability of Pegasus</a><p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#peg_dir_struc"></a><a href="#cmnd">Commands</a><br> |
<a href="#Pegasus Major Components">Pegasus Major Components</a><p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#docs">Documentation</a><br> |
<a href="#Pegasus Supported Platforms">Pegasus Supported Platforms</a><p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#part">How to Participate</a><br> |
<a href="#Pegasus Dependencies">Pegasus Dependencies </a> |
</blockquote> |
|
<a href="#inst_peg">Install Pegasus</a> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a |
<a href="#The Pegasus Directory Structure">The Pegasus Directory Structure</a> |
href="#download">Download or checkout Pegasus</a><br> |
|
<a href="#vfy_req_sw">Verify that you have the required |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
software</a><br> |
<a href="#Pegasus Installation">Installation</a> |
<a href="#set_envt_var">Set the environment variables</a><br> |
|
<a href="#bld">Build the Pegasus runtime, test files, test clients, |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
and repository</a><br> |
<a href="#Building Pegasus">Building Pegasus </a> |
<a href="#pop_peg_rep">Populate the Pegasus repository</a><br> |
|
<a href="#reg_prov">Register providers in the Pegasus environment</a><br> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#note_bld_peg_lnx">Notes |
<a href="#Populate the Repository">Populate the Repository</a> |
about Building Pegasus on Linux</a><br> |
|
<a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#bld_peg_win">Building |
<a href="#Registering Providers in the Pegasus Environment">Registering |
Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br> |
Providers</a><p align="left" style="margin-top: 0; margin-bottom: 0"> |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
<a href="#The MU Utility">The MU Utility</a> |
href="#mu_utility">The MU Utility</a><br> |
|
</blockquote> |
|
</blockquote> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
<a href="#test">Test the Pegasus installation</a><br> |
<a href="#Notes about Building Pegasus on Linux">Notes about Building Pegasus on Linux</a> |
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a |
|
href="#test_icu">Testing with ICU enabled</a><br> |
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
</blockquote> |
<a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a> |
<hr> |
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client |
|
</a> |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a> |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Commands">Commands</a> |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Creating SSL certifications">Creating SSL certifications</a>. |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Configuring SSL">Configuring Pegasus to use SSL</a>. |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Configuring PAM">Configuring Pegasus to use PAM</a>. |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Testing with ICU enabled">Testing with ICU enabled </a> |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Pegasus Documentation">Documentation</a> |
|
|
|
<p align="left" style="margin-top: 0; margin-bottom: 0"> |
|
<a href="#Participate!">Participate</a> |
|
|
|
<h1><a name="Overview">Overview</a> </h1> | <h1><a name="Overview">Overview</a> </h1> |
|
<b>OpenPegasus (also referred to as Pegasus):</b> |
<p><b>OpenPegasus (also referred to as Pegasus):</b> |
Pegasus is an open-source CIM Server for DMTF CIM objects. It is |
|
written |
Pegasus is an open-source CIM Server for DMTF CIM objects. It is written |
in C++ and includes the Object manager (CIMOM), a set of defined |
in C++ and includes the Object manager (CIMOM), a set of defined interfaces, an |
interfaces, an implementation of the CIMOperations over HTTP operations |
implemenation of the CIMOperations over HTTP operations and their cimxml HTTP |
and their cimxml HTTP encodings, and Interface libraries |
encodings, and |
|
Interface libraries |
|
for both client and providers. It is maintained | for both client and providers. It is maintained |
consistent with the DMTF CIM and WBEM specifications except for exceptions |
consistent with the DMTF CIM and WBEM specifications except for |
noted in the documentation. |
exceptions |
<P> |
noted in the documentation.<br> |
Pegasus is open source and is covered under the MIT open-source license.<P> |
<br> |
Pegasus is being developed and maintained under the auspices of The Open |
<span class="norm"></span>OpenPegasus includes components for: <br> |
Group. Pegasus is maintained under the license defined in the doc directory |
<ol> |
(LICENSE) of this release. This licensing is intended to support as wide a |
<li>DMTF compliant CIMServer that processes CIM operations, CIM |
|
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 |
|
Group. OpenPegasus is maintained under the license defined in the |
|
doc |
|
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 |
distribution as possible with minimal demands on the users. | distribution as possible with minimal demands on the users. |
<P> |
</p> |
More information on this project, access to the CVS, and documentation on |
<p>More information on this project, access to the CVS, and |
|
documentation on |
Pegasus are available from the OpenGroup WEB site. | Pegasus are available from the OpenGroup WEB site. |
<P> |
</p> |
<a href="http://www.opengroup.org">http://www.openpegaus.org</a><p> |
<p> <a target="blank" |
There are a number of separate documents representing the status and each |
href="http://www.openpegasus.org/">http://www.openpegasus.org</a></p> |
release of Pegasus |
<h2><a name="avail_of_peg">Availability of Pegasus</a></h2> |
<ul> |
<h2></h2> |
<li>What's new for this release - See the PEPs (Pegasus Enhancement Procedures) |
<h2></h2> |
release notes on the Pegasus web site and duplicated in the source top level |
<ol> |
directory<li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and |
Pegasus can be obtained via any of the following:<br> |
the web site as a Pegasus PEP.</ul> |
<ol> |
|
<li>Released tarballs (see <a |
|
href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=392">Relase |
<p>The release notes are available on the WEB site as Pegasus PEP documents and |
tarballs link</a>)</li> |
in the CVS for each release.</p> |
<li>CVS (See <a |
<table border="1" cellspacing="1" width="31%" id="AutoNumber3"> |
href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=667">CVS |
<tr> |
code repository</a> for |
<td width="42%"><b>Release</b></td> |
more information.)</li> |
<td width="58%"><b>Release Notes PEP</b></td> |
<li>Linux RPMs. See |
</tr> |
(<a |
<tr> |
href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=667">RPM |
<td width="42%">2.0</td> |
link</a> for |
<td width="58%">None</td> |
more information |
</tr> |
)</li> |
<tr> |
</ol> |
<td width="42%">2.1</td> |
</ol> |
<td width="58%">None</td> |
<p>NOTE: The Linux RPM reference is for 2.4.1 because that is all we |
</tr> |
have. We |
<tr> |
need a general page to get to the RPMs, not one per release. |
<td width="42%">2.2</td> |
</p> |
<td width="58%">PEP 57</td> |
<p>Pegasus is distributed as open source under the MIT open-source |
</tr> |
license. The distribution is available via CVS and snapshot images in |
<tr> |
tar and zip file formats on the web site. |
<td width="42%">2.3</td> |
The source code from CVS can be found at the following Open Group CVS |
<td width="58%">PEP 98</td> |
server; |
</tr> |
</p> |
</table> |
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS |
|
write accounts are managed by Martin Kirk of The Open Group </font> |
|
(<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>) |
<h1><a name="Availability of Pegasus">Availability of Pegasus</a></h1> |
</p> |
|
<br> |
<p>Pegasus is distributed as open source under the MIT open-source license. The distribution is available via |
<h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2> |
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> |
|
<font face="Courier New"> |
|
cvs.opengroup.org:/cvs/MSB </font> |
|
<p> |
|
using the password authenticating server option (pserve). |
|
<p> |
|
Anonymous access for read is with the name and password "anon" as follows: |
|
<blockquote> |
|
<p style="margin-top: 0; margin-bottom: 0"> |
|
<font face="Courier New">%export CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB |
|
</font> |
|
<p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">%cvs login |
|
</font> |
|
</blockquote> |
|
<p> |
|
When requested, enter the password "anon". |
|
The source tree is in the directory pegasus. To check out the complete Pegasus |
|
source tree just type: |
|
<p> |
|
<font face="Courier New"> |
|
cvs co pegasus </font> |
|
<p> |
|
A Pegasus directory will be created under the current directory and populated |
|
with the complete source tree and documentation. To get the latest updates |
|
after a checkout just type this from Pegasus root: |
|
<p> |
|
<font face="Courier New"> |
|
cvs update -d </font> |
|
|
|
<p> |
|
Active contributors to Pegasus have write access to the CVS repository. |
|
If you are interested in contributing back to the Pegasus project, |
|
(i.e. write (checkin) access to CVS) please request access from either |
|
Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer |
|
<a href="mailto:(k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>). |
|
|
|
<h1> |
|
<a name="Pegasus Major Components">Pegasus Major Components</a></h1> |
|
|
|
<p>The major components of Pegasus are: |
|
<ul> |
|
<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> |
|
|
|
<h1> |
|
<a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1> |
|
|
|
<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 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> |
|
|
|
<p> | <p> |
Generally Pegasus is supported on the following Platforms and Compilers.</p> |
Pegasus is regularly tested against a variety of platforms by the |
<table border="1" cellspacing="1" id="AutoNumber2" width="728"> |
development group. The results of the nightly tests can be found |
<tr> |
here: <a |
<td width="169" bgcolor="#99FF99"><b>Platform and OS</b></td> |
href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly |
<td width="556" bgcolor="#99FF99"><b>Compilers</b></td> |
test status</a> . The Release notes provides additional details |
</tr> |
regarding the platforms. <a |
<tr> |
href="http://www.openpegasus.org/pp/protected/revdoc.tpl?CALLER=revdocuments.tpl&grid=1692"> |
<td width="169">AIX</td> |
PEP 230</a> is the release notes PEP for 2.5.<br> |
<td width="556">VisualAge C++ Version</td> |
</p> |
</tr> |
<h2><a name="peg_dep">Pegasus Dependencies</a></h2> |
<tr> |
|
<td width="169">HP-UX</td> |
|
<td width="556">HP aC++ </td> |
|
</tr> |
|
<tr> |
|
<td width="169">Linux Itanium</td> |
|
<td width="556">gcc</td> |
|
</tr> |
|
<tr> |
|
<td width="169">Linux IA-32</td> |
|
<td width="556">gcc (versions 2.9x and 3.xx)</td> |
|
</tr> |
|
<tr> |
|
<td width="169">Windows 2000</td> |
|
<td width="556">Microsoft Visual C++ Ver 6 and Microsoft .Net compiler |
|
Version <font color="#FF0000">7</font></td> |
|
</tr> |
|
<tr> |
|
<td width="169">Windows XP</td> |
|
<td width="556">Microsoft Visual C++ Ver. 6 and Microsoft .Net compiler |
|
Version <font color="#FF0000">7</font></td> |
|
</tr> |
|
</table> |
|
|
|
<h1> |
|
<a name="Pegasus Dependencies">Pegasus Dependencies </a></h1> |
|
|
|
<p> | <p> |
We have worked to minimize the dependence of Pegasus on other software | We have worked to minimize the dependence of Pegasus on other software |
packages and tools. Currently Pegasus has the following dependencies: | packages and tools. Currently Pegasus has the following dependencies: |
<p> |
</p> |
<b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we |
<p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across |
|
multiple platforms we |
have standardized on a set of build tools including: GNUMAKE. We are using |
have standardized on a set of build tools including: GNUMAKE. We are |
GNUMAKE 3.79.1 successfully both in Windows and Linux environments. |
using GNUMAKE 3.79.1 successfully both in Windows and Linux |
<p> |
environments. |
GNUMAKE is available from :<p> |
</p> |
<a href="http://www.gnu.org">http://www.gnu.org</a> |
<p>GNUMAKE is available from :</p> |
|
<p> <a target="blank" |
<p> |
href="http://www.gnu.org/">http://www.gnu.org</a> |
NOTE: A set of the required tools for |
</p> |
windows platforms is available on the openpegasus web site.<p> |
<b>2. FLEX and BISON</b> - These tools were used to develop the |
<b>2. MU.EXE </b>- To minimize the difference between Linux and Windows for GNUMAKE, |
MOF |
we have created a utility called MU.exe. This utility is required for |
compiler and WQL |
Pegasus make with ONLY Windows environment. It is provided as an alternative to |
parser. <span class="norm"></span><font |
requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform |
style="color: rgb(0, 0, 0);">These tools are required only for |
and effectively provides the functions of these utilities that GNUMAKE |
development of the parsers, not for building Pegasus.</font> |
needs. MU is not required on UNIX or LINUX platforms. |
<p><b>3. DOC++ </b>- The Pegasus documentation is taken from a |
<p> |
combination of text files |
NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory. |
and the Pegasus header files themselves. This documentation is |
You must build it separately. MU source code is part of the distribution |
formatted with DOC++ and GAWK. <span class="norm"></span><font |
in the directory src/utils/MU with its own make file. You must compile MU |
style="color: rgb(0, 0, 0);">These tools are required to build the |
before you initiate the Pegausu make. |
interface documentation set.</font> |
<p> |
</p> |
NOTE: A copy of the binary is made available as a zip file on the Pegasus |
<p><b>4. ICU Internationalization libraries</b> - These libraries are |
WEB site. |
used as the basis for message catalogs for message |
<p> |
internationalization. See the ICU website |
Again, MU is used ONLY if you are using Windows. |
(http://oss.software.ibm.com/icu/) for more information on these |
|
libraries</p> |
<p> |
<p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it |
<b>3. FLEX and BISON</b> - These tools were used to develop the MOF compiler and WQL |
is intended to use SSL on the |
parser. Anybody intending to recompile the compiler or parser from scratch |
communication protocol, the OpenSSL libraries are required.<br> |
will be required to have these tools. They are only required if changes need |
</p> |
to be made to the files for parsing and compiling. |
<p> NOTE: A set of the required |
<p><b>4. DOC++ </b>- The Pegasus documentation is taken from a combination of text files |
tools for windows platforms is available on the openpegasus web |
and the Pegasus header files themselves. This documentation is formatted |
site. <a href="../Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p> |
with DOC++ and GAWK. These tools are required if the documentation is to |
<h1><a name="cmnd">Commands</a></h1> |
be recreated but we expect that only the core team will be recreating |
<p> |
documentation. |
The manpages for each of the commands are in rpm/manLinux/man1.Z |
|
directory (on CVS) </p> |
<p><b>5. ICU Internationalization libraries</b> - These libraries are used as |
<p>To see simple help for each of the commands, use the "--help" flag. </p> |
the basis for message catalogs for message internationalization. See the ICU |
<span style="font-family: times new roman;">Here is a list of useful |
website (http://oss.software.ibm.com/icu/) for more information on these |
commands:<br> |
libraries<p>6. <b>OpenSSL </b>- If it is intended to use SSL on the |
<br style="font-weight: bold;"> |
communication protocol, the OpenSSL libraries are required.<h1> |
</span><span style="font-weight: bold;" class="norm"></span><span |
<a name="The Pegasus Directory Structure">The Pegasus Directory Structure</a></h1> |
style="font-family: times new roman; font-weight: bold;"><span |
<p> |
class="norm"></span></span><span style="font-weight: bold;">Some of |
Pegasus is distributed as a complete source directory structure that should be |
the basic commands:</span> |
installed either from one of the snapshots or from CVS. |
<br> |
<p> |
NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf |
This structure is generally as follows:<p> |
for |
<font face="Courier New">Pegasus Source Structure</font><p> |
more information about administering the Pegasus CIMServer.<br> |
<font face="Courier New">Pegasus Root directory (PEGASUS_ROOT environment |
<ul> |
variable)</font><ul> |
<li>cimserver daemon=true (Start the server |
<li><font face="Courier New"><b>cgi</b> Source for the Pegasus WEB Based Test client |
cimserver)</li> |
</font> |
<li>cimserver -s (Shuts down the cimserver)</li> |
<ul> |
<li>cimserver traceLevel=4 traceComponents=ALL (Starts server |
<li><font face="Courier New">cgi-bin CGI Directories for WEB demonstration. |
with |
This directory is normally empty but can |
config flags)</li> |
be populated from the runtime with the make |
<li>cimprovider -l -s (Lists providers and their status)</li> |
from cgi. |
<li>cimprovider -e -m OperatingSystemModule (Enables the |
</font></li> |
OperatingSystem provider)</li> |
<li><font face="Courier New">htdocs HTML Pages for Pegasus WEB demonstration |
<li>cimuser -a -u guest _w <ThePassword> (Adds the user <span |
</font></li> |
style="font-style: italic;">guest</span> with specified password)<br> |
</ul> |
</li> |
</li> |
<li>cimuser -l (Lists the users )<br> |
<li><font face="Courier New"><b>doc</b> Miscellaneous Pegasus Documents. |
</li> |
</font> |
</ul> |
<ul> |
Note: there are some differences between windows and other |
<li><font face="Courier New">apidoc - Source for the public api |
platforms in |
documentation.</font></li> |
starting the server as a daemon/service. Whereas most supported |
<li><font face="Courier New">DevManual Source and build files for developers' manual |
platforms use |
mak General make files (used by other makes)</font></li> |
the configuration option daemon to start the server as a service, on |
</ul> |
windows it |
</li> |
must be specifically installed as a service (ex. cimserver -install) |
<li><font face="Courier New"><b>mak</b> - Common make files for Pegasus |
and then |
compilation</font></li> |
started as a service (cimserver -start). The cimserver --h option |
<li><font face="Courier New"><b>Dummy</b> -</font></li> |
explains the |
<li><font face="Courier New"><b>InterfaceArchive</b> -</font></li> |
exact format of the start and stop options.<br |
<li><font face="Courier New"><b>rpm</b> - files for rpm installation for Linux</font></li> |
style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>Schemas</b> - Schemas used in the installation |
<font><font color="RED"><br |
of Pegasus. This includes currently released versions of the DMTF schemas in |
style="color: rgb(0, 0, 0); font-weight: bold;"> |
subdirectories (ex. CIM27) and Pegasus local Schemas (ex. </font></li> |
<span style="color: rgb(0, 0, 0); font-weight: bold;">Makefile commands |
<li><font face="Courier New"><b>src</b> All Pegasus Source Files |
<br> |
</font> |
</span></font></font>Pegasus includes several make files that enable |
<ul> |
you to quickly build or |
<li><font face="Courier New"><b>ACEExample</b> Test directrory with examples of the use of ACE (obsolete). |
refresh the Pegasus runtime, test files, test client and the |
</font></li> |
repository. To use these make files, type "make" followed by one of the |
<li><font face="Courier New"><b>Clients</b> Source for various test |
supplied targets. <br> |
clients and demonstration clients.</font></li> |
The following list contains some of the make targets that are |
<li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client that uses a WEB browser |
supported: |
JAVA Java Client support modules |
<ul> |
</font></li> |
<li><default> - Build everything. </li> |
<li><font face="Courier New"><b>Pegasus</b> - Core pegasus modules. |
<li>clean - Clean out all objects, libs, and executables. </li> |
</font> |
<li>depend - Create the dependencies. </li> |
<ul> |
<li>repository - Create the repository in $PEGASUS_HOME/repository </li> |
<li><font face="Courier New"><b>Client</b> Pegasus Client API Tests |
<li>tests - Execute all tests (except client server tests). </li> |
depends tests </font></li> |
<li>rebuild - clean, depend, <default> </li> |
<li><font face="Courier New"><b>Common</b> Pegasus Common Functions (C++ source and headers |
<li>world - depend, <default></li> |
tests Test programs for the common functions</font></li> |
</ul> |
<li><font face="Courier New"><b>Compiler</b> Pegasus MOF compiler |
<font><font color="RED"><span |
</font></li> |
style="color: rgb(0, 0, 0); font-weight: bold;"></span><span |
<li><font face="Courier New"><b>Config</b> Pegasus Configuration |
style="color: rgb(0, 0, 0);">For a comprehensive list of the |
functions</font></li> |
make targets, refer to the make files.<br> |
<li><font face="Courier New"><b>Consumer</b> Indication Consumer class |
</span><br style="color: rgb(0, 0, 0);"> |
header</font></li> |
<span style="color: rgb(0, 0, 0); font-weight: bold;">TestMakefile |
<li><font face="Courier New"><b>ControlProviders</b> Implementation of Pegasus internal providers |
commands |
</font></li> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>ExportClient</b> Client connect code |
<span style="color: rgb(0, 0, 0);"></span></font></font><font><font |
for export of indications</font></li> |
color="RED"><span class="norm"></span></font></font> TestMakefile is a |
<li><font face="Courier New"><b>ExportServer</b> Server code for |
make file |
import of indications</font></li> |
that in the top level Pegasus source directory that defines |
<li><font face="Courier New"><b>Handler</b> Indication handlers. Today |
functionality to |
this includes cimxml, SNMP and email handlers</font></li> |
initiate the Pegasus tests. The targets defined in this makefile allow |
<li><font face="Courier New"><b>HandlerService</b> Common code for |
the |
indication handler service</font></li> |
user to run the various tests and test suites that are included in the |
<li><font face="Courier New"><b>IndicationService</b> Common service |
Pegasus |
functions for indication subscription processing</font></li> |
source package.<br> |
<li><font face="Courier New"><b>Listener</b> Common code that allows |
<font><font color="RED"><span class="norm"></span></font></font>Example: |
CIM Listeners to be created and connected.</font></li> |
From the $PEGASUS_ROOT directory. |
<li><font face="Courier New"><b>Protocol</b> Pegasus Client HTTP/XML Protocol Modules |
make -f TestMakefile [testoption]<br> |
depends </font></li> |
<br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>Provider</b> Pegasus Provider interface functions |
<font><font color="RED"><span style="color: rgb(0, 0, 0);">## rebuild - |
</font></li> |
Rebuild |
<li><font face="Courier New"><b>ProviderManager</b> Provider Manager service that manages providers |
</span><br style="color: rgb(0, 0, 0);"> |
</font></li> |
<span style="color: rgb(0, 0, 0);">## build - Build |
<li><font face="Courier New"><b>ProviderManager2</b> Pluggable Provider Manager service. |
</span><br style="color: rgb(0, 0, 0);"> |
Today this is not enabled by default It will become the Pegasus |
<span style="color: rgb(0, 0, 0);">## prestarttests - Execute |
standard provider manager at some time in the future but for now, see |
functional tests |
the release notes if you want to enable it.</font></li> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>Repository</b> Pegasus Repository |
<span style="color: rgb(0, 0, 0);">## poststarttests - Execute |
Interfaces and Simple Repository tests </font> |
poststarttests (No security, No SSL) |
<ul> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New">Tests for Repository Functions </font> |
<span style="color: rgb(0, 0, 0);">## tests - Execute prestarttests and |
</li> |
poststarttests |
</ul> |
</span><br style="color: rgb(0, 0, 0);"> |
</li> |
<span style="color: rgb(0, 0, 0);">## standardtests - Execute |
<li><font face="Courier New"><b>Security</b> Authentication and user |
poststarttests and a series of |
support functions.</font></li> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>Server</b> Pegasus Server Modules |
<span style="color: rgb(0, 0, 0);">## posstarttests using multiple |
</font></li> |
options. |
<li><font face="Courier New"><b>WQL</b> the WQL query language |
</span><br style="color: rgb(0, 0, 0);"> |
interpreter.</font></li> |
<span style="color: rgb(0, 0, 0);">## |
</ul> |
</span><br style="color: rgb(0, 0, 0);"> |
</li> |
<br> |
</ul> |
<span style="color: rgb(0, 0, 0);">Some examples: <br> |
</li> |
make -f TestMakefile prestarttests |
<li><font face="Courier New"><b>Providers</b> Pegasus test and required providers |
- runs the unit tests, builds |
</font> |
</span><span style="color: rgb(0, 0, 0);">the repositories. |
<ul> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>generic</b> A number of |
<span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests |
cross-platform providers |
- starts the server, </span><span style="color: rgb(0, 0, 0);">runs |
</font></li> |
the poststarttest suites |
<li><font face="Courier New">IndicationConsumer - Provider that |
</span><span style="color: rgb(0, 0, 0);">(make poststarttests plus |
consumes indications</font></li> |
more) |
<li><font face="Courier New"><b>Linux</b> - A number of linux |
</span><br style="color: rgb(0, 0, 0);"> |
providers</font></li> |
<span style="color: rgb(0, 0, 0);">make -f TestMakefile tests - |
<li><font face="Courier New"><b>ManagedSystem</b> Providers |
combines prestarttests and |
associated with managing the Pegasus System</font></li> |
</span><span style="color: rgb(0, 0, 0);">poststarttests |
<li><font face="Courier New"><b>slp</b> - Provider for slp |
</span><br style="color: rgb(0, 0, 0);"> |
service agent support</font></li> |
<span style="color: rgb(0, 0, 0);">make -f TestMakefile standardtests - |
<li><font face="Courier New"><b>statistic</b> - Providers for |
runs the basic poststarttests </span><span style="color: rgb(0, 0, 0);">(make |
Pegasus statistics.</font></li> |
poststarttests) multiple |
<li><font face="Courier New"><b>sample</b> Sample providers for the |
</span><span style="color: rgb(0, 0, 0);">times with various options. |
major provider types.</font></li> |
</span><br style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>testproviders</b> </font></li> |
<br style="color: rgb(0, 0, 0);"> |
</ul> |
<br style="color: rgb(0, 0, 0);"> |
</li> |
<span style="color: rgb(0, 0, 0); font-weight: bold;">BuildMakefile |
<li><font face="Courier New"><b>Server</b> Pegasus executable build |
commands </span><br style="color: rgb(0, 0, 0);"> |
</font></li> |
<span style="color: rgb(0, 0, 0);"></span><br> |
<li><font face="Courier New"><b>slp</b> - </font></li> |
</font></font>Some examples:<font><font color="RED"><br |
<li><font face="Courier New"><b>Standard Includes</b> - </font></li> |
style="color: rgb(0, 0, 0);"> |
<li><font face="Courier New"><b>test</b> - Directory of end-end |
<span style="color: rgb(0, 0, 0);"> make -f pegasus/mak/BuildMakefile |
tests that are regularly conducted on Pegasus</font></li> |
cleanbuild - Remove the existing pegasus </span><span |
<li><font face="Courier New"><b>tools</b> MU and other utilities written for Pegasus support |
style="color: rgb(0, 0, 0);">directory, perform a CVS |
</font></li> |
</span><span style="color: rgb(0, 0, 0);">checkout of the pegasus |
<li><font face="Courier New"><b>Unsupported</b> Code that is made available but is not supported or included |
source, |
in the normal make. </font></li> |
</span><span style="color: rgb(0, 0, 0);">build, and run tests. |
<li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation that |
</span><br style="color: rgb(0, 0, 0);"> |
provides mapping to Microsoft WMI objects. |
<span style="color: rgb(0, 0, 0);">make -f pegasus/mak/BuildMakefile |
|
removeall |
</font></li> |
- Remove the existing pegasus |
</ul> |
</span><span style="color: rgb(0, 0, 0);">directory. |
<p> |
</span><br style="color: rgb(0, 0, 0);"> |
<font face="Courier New">Pegasus Run Time directory structure (PEGASUS_HOME |
<span style="color: rgb(0, 0, 0);"></span><span |
environment variable). Home directory for runtime. All compiler, linker |
style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">make |
documentation creation, etc. are put here. |
-f pegasus/mak/BuildMakefile |
</font> |
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> |
|
<p>The documentation is currently in preparation. Much of Pegasus |
|
is documented in the PEGASUS PEPs which are the basis for approval of |
|
Pegasus functionality, changes, plans, etc. These documents are |
|
openly available on the PEGASUS web site. The preliminary |
|
documentation |
|
is not provided with this release. The current documentation is |
|
maintained both as a manual created |
|
under the tool DOC++ in the runtime subdirectory manual/html (see |
|
doc/devManual to create), as an api document also creatable from the |
|
source tree (see doc/apidoc) and as other miscellaneous documentation |
|
in the doc directory. Also there is a set of release notes. Normally |
|
the release notes for the current release are available in the root |
|
source directory of CVS.</p> |
|
<p>Note that the Pegasus WEB site at The Open Group will be the source |
|
of most |
|
documentation in the future and today is the source of most discussion |
|
and |
|
design documentation. </p> |
|
<h1><a name="part">How to Participate</a></h1> |
|
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors |
|
are welcome to participate in the OpenPegasus development effort. Join |
|
the mailing list by visiting www.openpegasus.org and clicking on |
|
Mailing Lists.</font></p> |
|
<h1> |
|
<a name="inst_peg">Pegasus Install</a> </h1> |
|
<p>RPM installation instructions can be found here: <a |
|
href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br> |
|
</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></p> |
<ul> | <ul> |
<li><font face="Courier New"><b>bin</b> - Destination for executable and DLL modules from |
|
Pegasus build. This directory should be make public so that the test functions, |
|
clients, and cimserver can be executed with minimum effort.</font></li> |
|
<li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the Pegasus Manual. |
|
This is only created when the make file for this manual is |
|
executed (doc/DevManual) and then contains the html representing |
|
the document.</font></li> |
|
<li><font face="Courier New"><b>apidochtml</b> - HTML output of |
|
the creation of the public API document. This only exists |
|
when the make file for the api document is executed (see doc/apidoc/Makefile)</font></li> |
|
<li><font face="Courier New"><b>lib</b> - Destination for Pegasus LIB modules |
|
</font></li> |
|
<li><font face="Courier New"><b>log</b> - Standard location for |
|
Pegasus Logs</font></li> |
|
<li><font face="Courier New"><b>obj</b> - Destination for object |
|
modules. Note that today, the trace file is located in the |
|
PEGASUS_HOME directory, not in the log directory if Pegasus |
|
internal tracing is enabled.</font></li> |
|
<li><font face="Courier New"><b>repository</b> - This Directory |
|
contains the created repository </font></li> |
|
</ul> | </ul> |
|
<p></p> |
<h1> |
<h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2> |
<a name="Pegasus Installation">Pegasus Installation</a> </h1> |
|
<p> | <p> |
Pegasus today is provided only as a source distribution. Note that there |
Before using Pegasus you must populate the repository. Typically, this |
is code for a Linux RPM distribution but the project is not yet releasing |
is done during the build process when you run the makefile. However, |
binaies.<p> |
you |
To install Pegasus, you must check it out using CVS (Common Version System) |
can also do it manually after the Pegasus has been built. </p> |
or download a snapshot. You download, compile, and use it. |
<ol> |
<p> |
<li>Register the MOF (Managed Object Format) file describing the |
For the snapshot, the installation of Pegasus involves expanding the snapshot |
skeleton of the object. </li> |
distribution files, building the runtime, the test files and test clients, and |
<li>Register a second MOF which only points out which lib*.so file to |
building the repository. |
be loaded when a specific object is activated. </li> |
<h1> |
</ol> |
|
<p></p> |
<a name="Building Pegasus">Building Pegasus </a> |
|
|
|
</h1> |
|
|
|
<p> |
|
1. Check that you have requisite programs (listed in Pegasus Dependencies). |
|
|
|
These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex |
|
and Bison only required if changes will be made to the MOF compiler or WQL |
|
parser). |
|
<p> | <p> |
Be sure these are on the path. |
The providers included with Pegasus are automatically entered into the |
|
repository |
|
by running the following command: <tt>make repository</tt> |
|
</p> |
<p> | <p> |
2. Define the following three environment variables: |
The 'make repository' in the pegasus directory does three things: |
|
</p> |
<ul> | <ul> |
<li><b>PEGASUS_ROOT</b> - this should be the "pegasus" directory you've pulled from CVS |
<li><span class="norm"></span> Removes the existing repository if one |
</li> |
exists.</li> |
<li><b>PEGASUS_HOME</b> - to point to a directory to contain output binary files |
<li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM |
(e.g., set it to $HOME/pegasus_home). Then the output will go into |
objects). </li> |
$HOME/pegasus_home/bin and $HOME/pegasus_home/lib |
<li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads |
</li> |
schema for CIM Server functions </font>(shutdown, add users, etc) and |
<li><b>PEGASUS_PLATFORM</b> - this must be set to a supported |
CIM indications |
platform identifier.</li> |
(SNMP, Events, Alert, Threshold, etc) |
</ul> |
internal to the Pegasus. </li> |
|
<li>Registers included CIM Providers (libOSProvider.so, |
|
libDNSProvider.so, … ) in Pegasus (which are located in |
|
src/Providers) </li> |
|
</ul> |
|
<h2> |
|
<a name="reg_prov">Registering |
|
Providers in the Pegasus Environment</a></h2> |
|
<p> |
|
Pegasus registers providers with a set of provider registration |
|
classes, not using the provider qualifier as is done in most DMTF CIM |
|
CIMOM implementations today. This set of classes is close to but not |
|
exactly the same as the experimental DMTF definition (See the DMTF |
|
Interop |
|
schema, experimental versions starting with 2.6). This will be |
|
harmonized in the future when the DMTF scheme is moved to final |
|
status. </p> |
|
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration |
|
is performed by creating instances</font> of the |
|
registration classes that represent the provider module, providers, |
|
classes, etc. to be registered. 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 examples of |
|
several registration instance implementations that do work with |
|
OpenPegasus |
|
today.</p> |
|
<strong><br> |
|
</strong> |
|
<h2><a name="note_bld_peg_lnx">Notes about |
|
Building OpenPegasus on Linux </a></h2> |
|
<p> |
|
To build OpenPegasus 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_PLATFORM is normally |
|
LINUX_IX86_GNU). |
|
</p> |
|
<br> |
|
<h2><a name="bld_peg_win">Notes |
|
on building OpenPegasus on Windows 2k or Windows XP with Microsoft |
|
Visual |
|
C++ </a></h2> |
|
<p> |
|
Use of Windows 2000 SP3 or later is recommended. OpenPegasus is |
|
regularly tested on both Windows 2000 and Windows XP using the |
|
Microsoft compilers.</p> |
|
<p>Today we build OpenPegasus on Windows using a set of make files |
|
contained |
|
in the source distribution, the Microsoft compilers (DevStudio 5.x is |
|
not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE |
|
make utility. Note that you MUST have the OpenPegasus <a |
|
href="#mu_utility">mu.exe </a>utility compiled and available |
|
before trying to compile OpenPegasus on the normal windows platform. |
|
The |
|
following is the basic setup steps for the environment. |
|
</p> |
|
<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 C++. (contained in the same directory as cl.exe). |
|
</p> |
|
<p>For Windows, try the following for an example environment: </p> |
<blockquote> | <blockquote> |
<p> |
<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 |
This identifier has the following form: |
class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre> |
<p> |
|
<font face="Courier New"> |
|
<Operating-System>_<Architecture>_<Compiler> </font> |
|
<p> |
|
For example (Linux on IA32 platform using the GNU Compiler): |
|
LINUX_IX86_GNU |
|
<p> |
|
For a complete list of platforms supported and platform support keywords, refer to the platform make files found in directory |
|
<font face="Courier New">pegasus/mak</font> |
|
|
|
</blockquote> | </blockquote> |
|
<h3> |
<p> |
<a name="mu_utility">The MU Utility </a></h3> |
Note: if you plan on doing parallel builds, you might consider setting |
|
PEGASUS_HOME to something like this: |
|
<p> |
|
<font face="Courier New"> |
|
$HOME/pegasus_home_LINUX_IX86_GNU </font> |
|
<p> |
|
That way, the output of each build will be placed in its own directory. |
|
<p> |
|
3. Now place $PEGASUS_HOME/bin on your path |
|
<p> and |
|
<p> |
|
|
|
Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only). |
|
For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib |
|
<p> |
|
4. Change to the root of the Pegasus distribution and type "make" |
|
(where make refers to GNU make). |
|
<p> |
|
5. Then create the repository, which is needed to serve data. |
|
"make repository". Note that to create the additional namespaces, etc. |
|
that represent the test support you can also execute "make testrepository:<p> |
|
6. To test the build type "make tests". |
|
The following make targets are supported: |
|
<UL> |
|
<li><default> - Build everything. |
|
<li>clean - Clean out all objects, libs, and executables. |
|
<li>depend - Create the dependencies. |
|
<li>repository - Create the repository in $PEGASUS_HOME/repository |
|
<li>tests - Execute all tests (except client server tests). |
|
<li>rebuild - clean, depend, <default> |
|
<li>world - depend, <default> |
|
</UL> |
|
The Pegasus 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 please refer to the scripts in |
|
pegasus/mak/BuildMakefile - refer to the prestarttests and poststarttests. |
|
<p> | <p> |
For information on particular installation characteristics, tools, etc. for |
In order to provide a consistent build structure across multiple |
each platform see the appropriate sections below: |
platforms, we |
<p> |
developed a small utility to provide a consistent set of small |
Generally the build commands are as follows: |
utilities |
<ol> |
across these platforms. The MU utility is a simple utility that |
<li>There is a Makefile in the Pegasus root directory. Simply executing |
contains |
make in the Pegasus root directory will make everything. "make rebuild" |
many |
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> |
|
|
|
<h1> |
|
<a name="Populate the Repository">Populating the Pegasus Repository</a> </h1> |
|
|
|
<p> |
|
Before using Pegasus you must populate the repository.. The makefile |
|
does it all for you, but in case you are wondering what it does or how to do it |
|
|
|
manually: |
|
<ol> |
|
<LI>Register the MOF (Managed Object Format) file describing the skeleton of the |
|
object. |
|
<li>Register a second MOF which only points out which lib*.so file to be loaded |
|
when a |
|
specific object is activated. |
|
</ol> |
|
This is done automatically for the providers included in Pegasus by doing: |
|
make repository. |
|
<p> |
|
The 'make repository' in pegasus/Schemas does three things |
|
Runs MOF compiler (cimmofl) on: |
|
-Schema v2.7 |
|
Generates the CIM Schema v2.7 in the repository (skeleton of CIM objects) |
|
-PG_InterOp |
|
Internal to Pegasus schema for operating (shutdown, add users, etc) |
|
CIM_Indication’s (SNMP, Events, Alert, Threshold, etc) |
|
-PG_ManagedSystem |
|
Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … ) |
|
in Pegasus (which are located in src/Providers) |
|
<p> |
|
For more information about using the MOF compiler, refer to user's manual on the |
|
|
|
openpegasus.org. |
|
|
|
<h1> |
|
<a name="Testing a Pegasus Installation">Testing a Pegasus Installation</a></h1> |
|
<p> |
|
Pegasus includes an extensive set of test facilities as part of the CVS |
|
enviromentthat can be executed including:<ul> |
|
<li><b>Test Clients</b> - There are several clients that have been built |
|
specifically to test Pegasus or parts of Pegasus including TestClient, Client, |
|
CLI, ipinfo, osinfo, WbemEsec, etc. See the src/Clients directory for more |
|
information. These programs require a server complete with repository to be |
|
running. Note that some of these tests use classes and instances that |
|
are only installed with the "make testrepository" functions including test |
|
namespaces and extra classes and instances in those namespaces and additional |
|
providers from the providers/sample and proviers/testproviders directories.</li> |
|
<li><b>Sample and test providers</b> - Test providers exist for the |
|
major provider types in the providers/sample directories and the providers/testProviders |
|
directory</li> |
|
<li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the |
|
functions. 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 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 is the unit test |
|
functions for the common directory). Unit tests are executed without the |
|
server being operational and normally do not require the existence of a Class |
|
repository.</li> |
|
<li><b>An end-to-end Test Suite</b> - the directory "test" contains a set of |
|
operations tests that cover the major CIM operations. See the make file |
|
TestMakefile in the PEGASUS_ROOT directory to execute these tests. This |
|
set of tests executes an extensive set of fixed tests and compares the results |
|
against predefined results.</li> |
|
</ul> |
|
|
|
<h1> |
|
<a name="Registering Providers in the Pegasus Environment">Registering Providers |
|
in the Pegasus Environment</a></h1> |
|
|
|
<p> |
|
Pegasus registers providers with a set of provider registration classes, not |
|
using the provider qualifier as is done in most DMTF CIM CIMOM implementations |
|
today. This set of classes is close to but not exactly the same as the current |
|
DMTF definition (See the DMTF Interop schema, experimental versions starting |
|
with 2.6). This will be harmonized in the future when the DMTF scheme is moved |
|
to final status. </p> |
|
|
|
<p> |
|
Registration is performed by defining a MOF for the instances of the |
|
registration classes that represent the porvider module, providers, classes, |
|
etc. to be registered. 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 examples of several registration instance |
|
implementations that do work with Pegasus today.</p> |
|
|
|
<h1> |
|
<a name="The MU Utility">The MU Utility </a></h1> |
|
|
|
<p> |
|
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 platforms. The MU utilityis a simple utility that contains many |
|
commands. For example: | commands. For example: |
|
</p> |
<p> |
<p><font face="Courier New"> |
<font face="Courier New"> |
|
C:\> mu rm myfile.cpp yourfile.cpp </font> | C:\> mu rm myfile.cpp yourfile.cpp </font> |
|
</p> |
<p> |
<p>You may type "mu" to get a list of valid commands. Here are some |
You may type "mu" to get a list of valid commands. Here are some |
|
of them: | of them: |
|
</p> |
<p> |
<p> |
|
|
rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend | rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend |
|
</p> |
<p> |
<p>The MU utility supports globing (expansion of wildcards) so |
The MU utility supports globing (expansion of wildcards) so |
|
you can do things like this: | you can do things like this: |
<p> |
</p> |
|
<p><font face="Courier New"> |
<font face="Courier New"> |
|
|
|
C:\> mu rm *.obj *.exe </font> | C:\> mu rm *.obj *.exe </font> |
<p> |
</p> |
MU is required to build under the Windows environment. MU is available as part |
<p>MU is required to build under the Windows environment. MU is |
of the distribution of Pegasus. |
available as part |
|
of the distribution of OpenPegasus.<br> |
<h1> |
</p> |
<a name="Notes about Building Pegasus on Linux">Notes about Building Pegasus on |
NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin |
Linux </a></h1> |
directory. |
<p> |
You must build it separately. MU source code is part of the |
No problem. Just make sure you have the environment variables set (PEASUS_HOME, |
distribution |
PEGASUS_ROOT, PEGASUS_PLATFORM. For 32 bit linux, the defintion of |
in the directory src/utils/MU with its own make file. You must compile |
PEGASUS_PLATFORM is normally LINUX_IX86_GNU. |
MU |
|
before you initiate the OpenPegasus make.<br> |
<h1><a name="Notes about Building Pegasus with SSL">Notes about Building Pegasus with SSL |
A copy of the binary is made available as a zip file on the OpenPegasus |
</a></h1> |
WEB site. |
<p> |
<p></p> |
To build with SSL you need the OpenSSL libraries and header files. They are NOT |
<h2><a name="note_bld_peg_ssl">Notes about |
distributed with Pegasus. Make sure |
Building OpenPegasus with SSL |
you have them in a standard directory so Pegasus can find them. If that's not |
</a></h2> |
|
<p> |
the case, set the environment variable OPENSSL_HOME= to point where your |
To build with SSL you need the OpenSSL libraries and header files. They |
OpenSSL |
are NOT distributed with OpenPegasus. Make sure you have them in a |
|
standard |
|
directory so OpenPegasus can find them. If that's not |
|
the case, set the environment variable OPENSSL_HOME= to point where |
|
your OpenSSL |
installation is. | installation is. |
<p> |
</p> |
Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' in Pegasus |
<p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' |
directory and you will have Pegasus with SSL enabled. See section "Creating SSL |
in Pegasus |
|
directory and you will have OpenPegasus with SSL enabled. See "Creating |
certificates" for more information of how to use SSL. |
SSL |
|
certificates" below for more information on how to use SSL. |
<h1> |
</p> |
<a name="Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++"> |
Refer to the SSL Admin guide found in the doc directory for details on |
Building Pegasus on Windows 2k or Windows XP with Microsoft Visual C++ </a></h1> |
using OpenPegasus with SSL.<br> |
|
<p></p> |
<p> |
<h1> |
Use of Windows 2000 SP3 or later is recommended. Pegasus is regularly |
<a name="test">Testing a OpenPegasus Installation</a></h1> |
tested on both Windows 2000 and Windows XP using the Microsoft compilers.<p> |
<p> |
Today we build Pegasus on Windows using a set of make files contained |
OpenPegasus includes an extensive set of test facilities as part of the |
in the source distribution, the Microsoft compilers (DevStudio 5.x is not |
CVS |
supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE make utility. |
environment, including: |
Note that you MUST have the Pegasus <a href="#The MU Utility">mu.exe </a>utility |
</p> |
compiled and available before trying to compile Pegasus on the normal windows |
|
platform. The |
|
|
|
following is the basic setup steps for the environment. |
|
<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 C++. (contained in the same directory as cl.exe). |
|
<p> |
|
For Windows, try the following for an example environment: |
|
<blockquote> |
|
<pre>REM call the standard Microsoft .bat for VC 6 setup. |
|
call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat' |
|
REM Set debug to something if you want compile in debug mode |
|
set PEGASUS_DEBUG=true |
|
REM set PEGASUS_ROOT to top of source tree |
|
set PEGASUS_ROOT=C:/cimom/pegasus |
|
REM set PEGASUS_HOME to where you want repository and executables |
|
set PEGASUS_HOME=%PEGASUS_ROOT% |
|
REM setup the path to the runtime files. |
|
set path=%path%;%PEGASUS_HOME%/bin |
|
</pre> |
|
</blockquote><h1><a name="Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client</a></h1><p> |
|
This is a separate test tool that allows Pegasus requests to be initiated from |
|
any WEB browser and that uses a WEB browser, CGI scripts and HTML pages for |
|
the formatting and connections. It requires a WEB server, etc. The |
|
instructions for setting up this environment are maintained in a separate readme in the CGI directory. <h1><a name="Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a></h1><p> |
|
ATTN: This section needs to be completed. It should reference the more complete |
|
documentation.<h1><a name="Commands">Commands</a></h1><p> |
|
The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on |
|
CVS) <p> |
|
To see simple help for each of the commands, use the "-h" flag. <blockquote><pre>Examples: |
|
bin/cimserver –s (Shuts it down) |
|
bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags) |
|
bin/cimprovider –l –s (lists providers and their status) |
|
bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider) |
|
bin/cimuser –a –u guest –w ThePassword |
|
bin/cimuser –l (lists the users) |
|
bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type) |
|
</pre> |
|
</blockquote><h1><a name="Creating SSL certifications">Creating SSL certifications </a></h1><p> |
|
Please follow section <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a> before embarking on this endeavour. |
|
<br><br> |
|
Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT |
|
and PEGASUS_HOME have to be set to your respective installation and source directory. |
|
|
|
<blockquote><pre>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 |
|
|
|
cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem |
|
rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem |
|
cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem |
|
|
|
</pre></blockquote> |
|
<h1><a name="Configuring SSL">Configuring Pegasus to use SSL</a></h1><p> |
|
|
|
Please follow section <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a> and <a href="#Creating SSL certifications">Creating SSL certifications</a> |
|
before embarking on this endeavour.<br><br> |
|
|
|
To configure Pegasus to take advantage of SSL, configure |
|
cimserver_planned.conf to have: |
|
<blockquote><pre> |
|
sslTrustFilePath=client.pem |
|
sslCertificateFilePath=server.pem |
|
sslKeyFilePath=file.pem |
|
httpsPort=5989 |
|
enableHttpsConnection=true |
|
</pre></blockquote> |
|
(The client.pem and server.pem are the certifications |
|
files created per the steps in the earlier section). |
|
|
|
For good riddance you might consider closing down |
|
the cleartext 5988 port. Modify your cimserver_planned.conf |
|
to include: |
|
<blockquote><pre> |
|
enableHttpConnection=false |
|
</pre></blockquote> |
|
|
|
<h1><a name="Configuring PAM">Configuring Pegasus to use PAM</a></h1><p> |
|
|
|
In order to use PAM Authentication you have to compile Pegasus |
|
with one extra enviroment flags: |
|
<blockquote><pre> |
|
PEGASUS_PAM_AUTHENTICATION=1 |
|
</blockquote></pre> |
|
You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable |
|
Pegasus password authentication using a flag text-file (recommended). |
|
<br> |
|
After compiling (refer to section <a href="#Building Pegasus">Building Pegasus </a> |
|
for details), follow these two important steps: |
|
<br> |
|
<ul> |
|
<ul>a). Copy the rpm/wbem file in-to /etc/pam.d directory. |
|
This notifies PAM what kind of libraries to use when authenticating |
|
Pegasus.</uL> |
|
<ul> | <ul> |
b). Edit cimserver_planned.conf to include: |
<li><b>Test Clients</b> - There are several clients that have been |
<blockquote><pre> |
built specifically to test OpenPegasus, or parts of OpenPegasus, |
usePAMAuthentication=true |
including |
enableAuthentication=true |
TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the |
</blockquote></pre> |
src/Clients directory for more information. These programs require a |
And if you want to allow 'root' to login (*not recommended*) |
server complete with repository to be running. Note that some of |
|
these tests use classes and instances that are only installed with the |
<blockquote><pre> |
"make testrepository" functions including test namespaces and extra |
enableRemotePrivilegedUserAccess=true |
classes and instances in those namespaces and additional providers from |
</blockquote></pre> |
the providers/sample and providers/testproviders directories. </li> |
</ul> |
<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> |
|
<li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests |
|
for |
|
the functions. 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 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 is the unit test functions for the common |
|
directory). Unit tests are executed without the server being |
|
operational and normally do not require the existence of a Class |
|
repository. </li> |
|
<li><b>An end-to-end Test Suite</b> - the directory "test" contains a |
|
set of operations tests that cover the major CIM operations. See |
|
the make file TestMakefile in the PEGASUS_ROOT directory to execute |
|
these tests. This set of tests executes an extensive set of fixed |
|
tests and compares the results against predefined results.</li> |
</ul> | </ul> |
The user is authenticated using HTTP Basic method, thererfore it is |
<p></p> |
strongly suggested you use SSL connection instead of normal HTTP connection. |
<br> |
Refer to section |
<h2><a name="test_icu">Testing with ICU enabled</a></h2> |
<a href="#Configuring SSL">Configuring Pegasus to use SSL</a> for more details on creating and using SSL keys. |
<p>ICU (International Components for Unicode) refers to the set of |
</p> |
libraries that OpenPegasus uses to run globalized. For example: these |
<h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1><p> |
libraries are used |
ICU (International Components for Unicode) refers to the set of libraries that |
to |
Pegasus uses to run globalized. For example: these libraries are used 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, Pegasus |
a specific locale etc. In order to enable globalization in OpenPegasus, |
must be built with ICU enabled, ie. the right environment variables must be |
OpenPegasus |
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the docs |
must be built with ICU enabled, ie. the right environment variables |
directory for details. That said, when users run "make poststarttests" |
must be |
to verify the integrity of a Pegasus download, a series of tests are run that |
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the |
|
docs |
require the cimserver to be running. These tests currently depend on specific |
directory for details.<br> |
|
</p> |
messages returned from the server. When ICU is enabled, all messages come |
<p> When users run "make poststarttests" |
from the resource bundles and these usually do not match the hardcoded default messages within Pegasus. These hardcoded default messages |
to verify the integrity of a OpenPegasus download, a series of tests |
are what the various test programs expect in order to complete |
are |
|
run that |
|
require the cimserver to be running. These tests currently depend on |
|
specific |
|
messages returned from the server. When ICU is enabled, all messages |
|
come from the resource bundles and these usually do not match the |
|
hardcoded default messages within OpenPegasus. These hardcoded default |
|
messages are what the various test programs expect in order to complete |
successfully. If the ICU enabled server is started without | successfully. If the ICU enabled server is started without |
disabling message loading from the bundles, "make poststartests" will fail. |
disabling message loading from the bundles, "make poststartests" will |
In order to run "make poststarttests" successfully with ICU enabled, an |
fail. |
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to |
In order to run "make poststarttests" successfully with ICU enabled, an |
starting the server. Once this is defined, when the cimserver starts, all |
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist |
messages generated will be the default hardcoded messages. This will enable |
prior to |
"make poststarttests" to complete successfully. Once "make poststarttests" is |
starting the server. Once this is defined, when the cimserver starts, |
complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. |
all |
If this variable is left defined, Pegasus will not be able to load messages |
messages generated will be the default hardcoded messages. This will |
using ICU resource bundles. <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1><p> |
enable |
The documentation is currently in preparation. Much of Pegasus is |
"make poststarttests" to complete successfully. Once "make |
documented in the PEGASUS PEPs which are the basis for approval of Pegasus |
poststarttests" is |
functionality, changes, plans, etc. These documents are openly available |
complete, you should stop the cimserver and then undefine |
on the PEGASUS web site. The preliminary documentation |
PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined, |
is not provided with this release. The current documentation is maintained both as a manual created |
OpenPegasus |
under the tool DOC++ in the runtime subdirectory manual/html (see doc/devManual |
will not be able to load messages |
to create), as an api document also creatable from the source tree (see doc/apidoc) |
using ICU resource bundles.<br> |
and as other miscellaneous documentation in the doc directory. Also there is a |
</p> |
set of release notes. Normally the release notes for the current release are |
<p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When |
available in the root source directory of CVS.<p> |
running the make tests command with ICU enabled, the PEGASUS_MSG_HOME |
Note that the Pegasus WEB site at The Open Group will be the source of most |
environment variable must be set to the home directory where the ICU |
documentation in the future and today is the source of most discussion and |
resource bundles are built. By default the resource bundles are built |
design documentation. <h1><a name="Participate!">Participate!</a></h1><p> |
into directories below PEGASUS_HOME/msg, so that should be the setting |
We are looking for people who want to join the Pegasus work group and |
for PEGASUS_MSG_HOME.<br> |
contribute to effort of getting this Pegasus off the ground. Please join |
</font></p> |
the mailing list by visiting www.openpegasus.org, and click on Mailing Lists. |
<p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br> |
</p> |
</font></p> |
|
<p><i><font size="2">Copyright (c) 2005 EMC Corporation; |
|
Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group; |
|
VERITAS Software Corporation</font><br> |
|
<br> |
|
<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"), to deal in the Software without |
|
restriction, including without limitation the rights to use, copy, |
|
modify, merge, publish, distribute, sublicense, and/or sell copies of |
|
the Software, and to permit persons to whom the Software is furnished |
|
to do so, subject to the following conditions:</font><br> |
|
<font size="2"><br> |
|
</font> |
|
<font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE |
|
SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE |
|
SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF |
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE |
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br> |
|
</font></i></p> |
|
<p><i><font size="1"><br style="font-family: arial;"> |
|
<big><big><span style="font-family: arial;">------------------------End |
|
of |
|
Document-------------------------<br> |
|
</span></big></big></font></i></p> |
|
<p><span style="color: rgb(0, 0, 0);"></span> </p> |
</body> | </body> |
|
|
</html> | </html> |