Pegasus Enhancement Proposal (PEP)



PEP #: 249

Title: Release Notes for OpenPegasus 2.5.1

Version: 1.0

Created: 1 March 2006

Authors: Karl Schopmeyer

Status:  draft

Version History:

 

 

 

 

 1.0

  1 March 2006

Karl Schopmeyer

Initial Submission

1.1 2 March 2006 Karl Schopmeyer Fix editorial errors
1.2 20 March 2006 Karl Schopmeyer Incorporate comments from Review week of 12 March 2006
1.3 22 March 2006 Karl Schopmeyer Incorporate comments form Review 21 March 06 and bring into line with Feature status page
1.4 28 March 2006 Karl Schopmeyer Remove all statements concerning status and point to the Feature Status Page.
1.5 28 March 2006 Karl Schopmeyer Remove references to status "experimental" for certain features
1.6 28 March 2006 Karl Schopmeyer Typos

 


Abstract: This document defines the release notes for the 2.5.1 version of the Pegasus CIM Server.


 Contents

  1. Availability of this Release
  2. Functionality of This Release
  3. Relationship to CIM/WBEM Standards
  4. Supported Platforms
  5. Conformance with DMTF Specifications
  6. Changes in This Release
  7. PEGASUS Bugs
  8. Pegasus Release Control and Version Definition Documentation
  9. General Documentation

Availability of this Release

This release is available in a number of forms including:

The instructions for acquiring the released code are on the Pegasus WEB site. Installation instructions are part of the README in the root of the Pegasus source tree.

Functionality of This Release

Pegasus overall status by release is defined by  a Feature Status WEB Page that is available on the OpenPegasus web site .  That web page shows the Pegasus users and developers the status of the various features found in Pegasus using a simple color coded key (white, red, yellow, green).  Pegasus 2.5.1 is a minor release, extending Pegasus 2.5.0 in selected areas primarily for bug fixes.  However, there were some signification changes in the feature status for selected functions in 2.5.1 (moving selected functions closer to production-capable status).

The following paragraphs list the functionality in this release.   In many cases these features  and interfaces are conditionally compiled with special environment variables. PEP 237  provides more detailed information on how to enable functionality that is conditionally compiled in this release.

NOTE: For current information and history on the status of each feature, please access the OpenPegasus Feature Status WEB PagePlease see the Feature status page for the quality/status of each feature because not all of the features listed below are production ready.

CIM Server Functionality

CIM Operations over HTTP support

  1. Class Operations (getClass, deleteClass, modifyClass, enumerateClass, enumerateClassNames)
  2. Qualifier Operations (getQualifier, setQualifier, deleteQualifier)
  3. Instance Operations (getInstance, deleteInstance, modifyInstance, enumerateInstance, enumerateInstanceNames, getProperty, setProperty)
  4. Association Operations (references, referencenames, associators, associatornames)
  5. Methods Operations (invokeMethod)
  6. Query operation - Support for ExecQuery was added in 2.4 with WQL as query language and is defined in PEP 119. This feature is considered at alpha quality because it has only been contributor tested.  Additional tests have been added in 2.5 for ExecQuery. Pegasus today does not support the ExecuteQuery operation defined as the Query operation for CQL.

Indication Processing

  1. Process indications - Process indications are operational in the Server.  This includes support for subscriptions, filters, and indication handlers, the provider API for indications and the CIMXML indication handler.
  2. Lifecycle indications - With the support for embedded objects, lifecycle indications (ie. those classes of indications derived from CIM_ClassIndication and CIM_InstIndication) can now be created. Pegasus 2.5 provides some enablement for the generation of lifecycle indications. For more details, refer to <src/Unsupported/LifecycleIndicationProvider/readme.LifecycleIndications.htm>.

Query Language

Pegasus includes the  WQL  query language which is implemented and used for filters and in version 2.4 for execQuery. 

CQL Stage 1 has been added for Pegasus 2.5.  PEPs 138, 193, 205 combine to describe the CQL  functionality supported.

Object Normalization

The Object Normalizer is an entity introduced in Pegasus 2.4 that ensures objects delivered from providers are complete and accurate. Two major issues were identified with the initial implementation: 1) the Object Normalizer droped instances it considered bad, and 2) the Object Normalizer code slowed performance. These issues are now addressed by moving the Object Normalizer from the Dispatcher to the Response Handler (or equivalent) and optimizing the existing implementation. The move allows errors to be reported to the provider at the point of delivery and ensures that only a single copy is made to preserve the CIMOM/provider boundary.
 

Embedded Object Support

Pegasus 2.5 provides embedded object support. The proposed solution is restricted to the following:

Pegasus Repositories

Schema Repository

By default, Pegasus uses an XML-based schema repository. A binary encoding option is also available for the repository.
 

Note: Users may experience an incompatibility moving a binary repository from Pegasus 2.4 to 2.5. In Pegasus 2.5, measures have been taken to improve the ability to maintain compatibility with subsequent releases. (See bugzilla 3642 for details.)

Further information on the use of the binary repository is in the readme.binaryrepository file in the Pegasus source root directory.

Instance Repository

The Pegasus schema repository may also be configured to hold instance data.  Although instances may be place in the repository it was not designed as a high volume data store.

Compressed Repository Feature

A compressed repository feature has been added for pegasus 2.5 that compresses the repository written to disk. This allows the repository to be as much as 50% smaller on disk. It uses an external compression library (zlib) and has been tested with zlib 1.2.2. This feature is documented in PEP 214 and also in a Readme (readme.compressed_repository). Note that the tests for this feature are in the test suite but not activated for automatic tests.

Further information on the use of the compressed repository is in the readme.compressedrepository file in the Pegasus source root directory.

Pegasus MOF Compilers

Pegasus implements a MOF compiler that can operate either at the client interface to the Pegasus CIM Server (cimmof) or directly interfacing with a CIM repository (cimmofl).

The direct interface compiler is used primarily to provide an initial class/instance repository. WARNING:  The use of cimmofl to manipulate instances in the repository bypasses any provider that is registered to serve these  instances and simply installs the instances in the instance repository; this may result in 1) bad data in the repository if there are registered providers, 2) corruption of the repository if the CIM Server is running or, 3) MOF data that is loaded but not available until the server is stopped and restarted in some cases.  Use of cimmofl in general is discouraged and particularly  to manipulate instances served by a registered providers (ex. Provider registration).

Security Considerations

OpenPegasus 2.5 (and prior versions) contains several mechanisms to perform authorization, but none of these authorization checks are performed by default. By registering any provider which fails to do appropriate authorization checks, the consequences may include information leakage, data corruption, or unintended elevation of privilege. Please ensure that one of the following mechanisms is used to ensure appropriate access to your systems and data:

1. Only install/register providers which perform authorization appropriate for your environment.

a. For providers, this may include registering to 'Run-as-requestor' (not available prior to Pegasus 2.5) and/or performing authorization checks within the provider.
b. For administrators, ensure that the providers you have registered in your environment have performed sufficient authorization checks. Also, monitor announcements of security defects in those providers and follow the recommendations in those announcements as soon as possible.
c. For distributors of Pegasus or providers, ensure that the providers you are shipping have performed appropriate authorization checks, and relay announcements of discovered security defects to your users.

2. Restrict users with access to Pegasus to a specific authorized user group of trusted individuals.
3. Namespace authorization is also available.

For administration issues please refer to the SSL Admin Guide found in the source repository at:   pegasus/doc/PegasusSSLGuidelines.htm

Server Security

  1. Basic Authentication (Note that Digest based security is not implemented in Pegasus)
  2. PAM authentication
  3. SSL support - SSL is implemented in Pegasus using the OpenSSL libraries. Pegasus does not provide the OpenSSL libraries but SSL can be used on any platform supported by OpenSSL. .   This release of Pegasus was tested with multiple versions of  OpenSSL versions 0.9.7 and 0.9.8.   Effective with Pegasus 2.5.1 the Open SSL version 0.9.6 is no longer supported. See openssl.org for OpenSSL release information.
  4. SSL levels - SSLv3 and TLSv1 by default. SSLv2 is disabled by default and only enabled by a compile time option.  See PEP 237 for details on configuration.

Client Security

Certificate management  and User-based certificate authentication . A new control provider and CLI for certificate management tasks. It expands upon the existing SSL client verification support by providing a robust solution to managing client certificates and certificate revocation lists via standard CIM operations. It allows certificates to be associated with particular system users for enhanced authorization capabilities.
CN/ Host name checks are not performed as a function of SSL or client libraries and are the responsibility of the client to implement on their own.  See the SSL guide found in the /pegasus/doc directory for more details on client security.
Note: WBEM clients are responsible for SSL certificate verification using Pegasus and/or SSL libraries as appropriate. Consequences of not doing so include leakage of authentication credentials to unauthorized parties.

Platform Management Functions

  1. Configuration through the defined configuration parameters (cimconfig) and server command line options.  NOTE: When installed as a service on Windows, setting the run-time config option enableAuthentication to true can result in improper operation of the SLP provider and other providers. In order to circumvent this defect, an Administrator should change the user that the service runs under from the Local System user to a local, privileged user (e.g. Administrator). See bugzilla 4142 for details.
  2. Daemon/service operation of the Pegasus CIM Server on all supported platforms with the exception of HP OpenVMS.
  3. Operation statistics capture using the CIM_StatisticalData classes in the DMTF Interop model. This function is considered alpha quality and conditionally compiled.
  4. Multiple pluggable provider managers.  Provider managers are provided for the Pegasus C++ provider interface, the CMPI C provider interface and an alpha quality Java provider interface (JMPI).
  5. Platform Globalization - Pegasus includes support for unicode data transfers and includes a mechanism for message support in multiple languages using the open source ICU libraries (http://oss.software.ibm.com/icu/).
  6. Out-of-process providers - See PEP 072 for more information on use of this feature
  7. Shared class namespaces - See PEP 129 for more information on use of this feature.
  8. Remote providers for the CMPI provider interface - See PEP 130 for more information on use of this feature.

SLP Discovery

SLP support is included but is conditionally compiled in or out on a platform basis.  PEP 237 describes the  environment variable (PEGASUS_ENABLE_SLP) to enable or disable this code.  Effective with Pegasus 2.5.1, support has been added for the use of OpenSLP as the Service Agent (SA) in addition to the internal to the Service Agent.  This is controlled through an additional environment variable (PEGASUS_HAS_OPENSLP)  Once compiled, SLP support is enabled with the slp configuration parameter (slp=true). SLP support includes an SLP service agent in the Pegasus CIM sever (either the internal agent or OpenSLP)  and generates SLP advertisements compatible with the DMTF slp template specification. The SLP support also includes  extensions to the CIM Client libraries to execute SLP User Agent requests and analyze the results (note that these interfaces are not yet part of the Pegasus public SDK).
Note: Pegasus on Windows is built with SLP support on by default.

Indication Handlers

System Log Indication Handler

The SysLog Indication Handler is a new for 2.5 type of Indication Handler which allows CIM Indications to be delivered to the system syslog file. It has following features:

Each syslog file entry has a tag 'CIM Indication' to distinguish an entry made by Syslog Indication Handler.

If a subscriber includes PerceivedSeverity property in the SELECT list of the filter condition for the indication, the PerceivedSeverity will be mapped to syslog error severity. Otherwise, syslog error severity 'LOG_INFO' is used.

See PEP 206 for details.

Email Indication Handler

The Email Indication Handler is a new for 2.5 type of Indication Handler that allows CIM Indications to be delivered to a specified e-mail address.   See PEP 207  for details.

Pegasus Provider Interfaces

Pegasus is designed to support multiple Provider Managers to allow multiple provider interfaces to the CIMOM.  The two default provider managers are the Pegasus C++ Interface and Common Manageability Programming Interface (CMPI) Interface.

C++ Provider Interface

This is the original interface defined for OpenPegasus Providers.  It provides an interface for both operations and indications. Many of the sample and test providers are written to this interface.  This interface includes a callback into the CIMOM (CIMOMHandle).

CMPI C interface Provider Manager
Pegasus 2.5 includes a provider manager for the CMPI C interfaces. This C interface is the result of a project by the IBM SBLIM team (see  http://sblim.sourceforge.net) and is written to the Common Manageability Programming Interface, which is an OpenGroup standard. The CMPI specification is available at: http://www.opengroup.org/bookstore/catalog/c051.htm. This provides a standardized C level interface for creating providers that can be registered with the Pegasus CIM Server in the same manner as the current C++ providers.  The ability for CMPI providers to do user authorization is now available in Pegasus 2.5.1.

Information on writing providers with the CMPI interface is available in the specification today (see above) and in the following documents (http://sblim.sourceforge.net/whitepaper.html and http://sblim.sourceforge.net/presentations.html) and readme.cmpi in the Pegasus source root directory.

NOTE: See the Feature status page for exact status of the CMPI provider manager for different Pegasus platforms.

JMPI Java Interface Provider Manager

Pegasus includes a provider manager for Java provider interfaces based on the SNIA provider interface definitions.  This provider manager is  considered alpha quality and is not compiled in the default build.   See readme.jmpi in the Pegasus source root directory for more information.

    Providers

New for 2.5 is the ability of Providers to run out of process at request user- level and running CMPI providers remotely or out of process space.

Administrators should check the providers to ensure that the provider vendor has made use of available authorization capability.

There are a number of providers available in the Pegasus release. This includes providers in the following categories:

Pegasus Internal Providers

Pegasus provides a set of "internal" providers that have direct access to the CIMOM for information and provide information and services to support the CIMOM and its administration.    The providers in this category are mostly defined in the directory src/pegasus/controlproviders and include support for the following classes:

CMPI Remote Providers

Pegasus includes an support for running CMPI providers to be run on remote systems without the need for an extra CIMOM. It uses a special proxying provider to relay requests to a remote location using so-called communication layers. The remote side has to start a CMPIRDaemon process, which accepts remote requests and passes them on to CMPI style providers.

Generic Providers

These are providers that support multiple pegauss platforms and include the Generic OperatingSystem provider. See the directory src/Providers/generic.

Test/Sample Providers

See the directories src/Providers/TestProviders and src/Providers/sample for more information about test and sample providers.

Managed System Providers

ComputerSystem, DNSAdmin, DNSService, Operating System, Process, Processor. For more information on these providers see the documentation for each provider in the directory src/Providers/ManagedSystem

Server Statistics Provider

CIM Server statistics, based on the DMTF 'CIM_StatisticalData' class, are implemented in this release. The statistics gathering is compiled by default but it is disabled through a property in the singleton CIM_ObjectManager class. It may be enabled or disabled by performing a ModifyInstance operation on the 'CIM_ObjectManager instance in the 'PG_InterOp' namespace to set the GatherStatisticalData property to 'true' or 'false'. This property setting is persistent across CIM Server restarts. A statistics display test tool, cimperf, is available from the Pegasus CVS repository.

SLP Provider

This provider acts as the definer of  SLP information for SLP registration and also controls the Pegasus SLP Service Agent. It is treated as a normal provider rather than a control provider because it does not use internal functions of the CIMOM to generate any of its information today. (conditionally compiled today)

Pegasus Indication Listeners

The generic components for a CIM Listener and a listener API are operational.  This includes the functions for HTTP, XML indication input and response, and consumers of indications. This code can be used to define a separate listener package and is used as an indication listener in the Pegasus server.

Pegasus includes 3 separate Indication Listeners.

Embedded CIMListener

This listener is embedded in the CIMServer and allows the server to accept indications and route them.

Standalone Static CIMListener

This is a standalone listener that combines the functions of listener and consumer into a single element.

Standalone Dynamic Listener

Pegasus 2.5 includes a new standalone dynamic listener that is separate from the current standalone CIMListener and the ExportServer listener in the CIM server. The use model that this listener fits is the following:

 This dynamic listener provides a solution for the above use model. It is essentially a lightweight, pluggable listener that provides a small set of management features. The DynamicListener can be run inside a daemon or a service. It is easily configurable and bypasses traditional registration procedures.  See PEP 195  for details.

CIM_Schema

The default CIM_Schema loaded with this release is the DMTF CIM 2.9, final release.  In addition, Pegasus includes a number of local classes defined for Pegasus.  These are defined in the pegasus/Schemas directory.   There are also a number of older schema available in the CVS.  Further, the CIM 2.10 and CIM 2.11 schemas are available in the CVS repository and the Pegasus is compatible with these Schemas.

The mechanism to install other schemas than the default is defined in the mak/config.mak

NOTE: The CIM 2.5 schema is maintained in the CVS repository because it remains the basis for parts of the Pegasus test environment.

Pegasus CIM Server Administration

  1. cimuser - Manage Pegasus CIM Server Users.
  2. cimconfig - Manage the Pegasus CIM Server configuration parameters.
  3. cimauth - Manage the CIM Server authorization characteristics. Today this is authorizing users to namespaces.
  4. cimprovider - Manage information about the providers .

     Server admin note:
The default behavior for determining the CIM server's HTTP and HTTPS ports has changed.  In previous releases, any value in /etc/services would override a port explicitly specified in the configuration.  The new order for determining the CIM server's HTTP and HTTPS ports is as follows:
1) An explicitly specified port value takes precedence over any other values.
2) If no port is specified, the value in /etc/services is used.
3) If no value is specified in /etc/services, the default WBEM port is used.

Information client tools

These tools provide information on the objects managed by the server.

  1. tomof - output classes and/or instance information from the Pegasus repository in MOF or XML format.
  2. dnsinfo - Generate a set of standard information on the Domain Name System (DNS) configuration from CIM Classes. Note that the information generated is dependent on the information available from providers and differs from system to system.
  3. ipinfo - Generates a set of standard information from the Network Schema.  Information generated varies by system because of the level of provider support.
  4. osinfo - Generate a set of standard information on the Operating System from CIM Classes. Note that the information generated is dependent on the information available from providers and differs from system to system

Test support Tools

  1. Pegasus unit tests (available through the "tests" option on the Pegasus make files) these tests are defined throughout the Pegasus source tree typically in "tests" directories.       
  2. The Pegasus test suite (see the pegasus/tests directory)
  3. TestClient - Basic client for overall platform operation testing.
  4. wbemexec - Test tool that sends/receives XML from XML input.
  5. CLI - Command line interface for Client commands.
  6. Benchmark Test - A benchmark test environment is provided which includes both a client and provider component. See src/clients/benchmarkTest for more information.
  7. cimperf  - Lightweight statistics are implemented for the client. The client statistics surfaces the elapsed time spent in the client, and the elapsed time spent on the network between client and server.

Pegasus Interface APIs

Details of the Pegasus public interfaces for this release are listed in PEP 209 available from the web site(www.openpegasus.org). That document is the authorative source for the list of publicly supported Pegasus APIs.   The Client and Provider API were originally frozen at the Pegasus version 2.1 release. The interfaces in the release of Pegasus 2.1 are forward compatible to this release. Well-behaved clients and providers compiled to the Pegasus 2.1 or 2.2 interfaces should be compatible with this release without compilation.  There have been extensions and new interfaces added for this release.   The Pegasus public interfaces includes the following major functions

  1. Client APIs
  2. Provider APIs
  3. CIM Object and System function APIs

In addition, there are other client interfaces which are not today in the public SDK including:

  1. CIM Listener APIs
  2. SLP Client (User Agent) APIs which are extensions to the Client APIs

 

The APIs are documented in their respective header files and  in HTML documentation based on the information in the header files extracted with the doc++ tool will be available on the OpenPegasus web site.
 

WMI Mapper

The WBEM to WMI Mapper provides a way to access WMI data from Windows platform systems. It converts incoming XML/CIM requests to Microsoft WMI requests, executes the requests, converts the results to XML/CIM and returns the results to the client. WMI Mapper receives an HTTP message containing the XML/CIM request. It decodes the XML message and extracts from the HTTP message header the user credentials provided on the connection (username and password). The WMI Mapper authenticates these credentials, verifying if the provided credentials have access to the desired WMI data. This is done because the WMI Mapper runs as a service, logged on using an account with administrative rights (which has all access to WMI data). Because of this, the WMI Mapper impersonates the user credentials provided on the HTTP message to ensure that the calling user has rights to browse WMI data. Hence, ALL requests made to the WMI Mapper MUST contain user credentials.

Relationship to CIM/WBEM Standards

Pegasus was designed and implemented to comply with the DMTF specifications The following table defines the level of the DMTF specifications to which this version of Pegasus conforms today.

DMTF Specification Specification Version
DSP 0004 CIM Specification Version 2.2 with Addendum
DSP 0200 - CIM Operations over HTTP 1.1, final, 6  January 2002
DSP 0201 - Representation of CIM in XML 2.1, preliminary, May 2, 2002
DSP 0205 - WBEM Discovery using SLP 1.0, preliminary, 27 January 2004
WBEM SLP Template 1.0.0
CIM Schema 2.9 Final, Jan. 2005

Supported Platforms

Each Pegasus release lists as 'active' platforms those hardware/software platforms that have recognized ports for the Pegasus code base including a maintainer for the platform that will be willing to regularly document issues and/or fix defects as the Pegasus code base is changed.  Pegasus may be operable on other platforms (ex. Windows 98) but without a group to provide the role of test and maintenance, correct operation of  Pegasus cannot be assured.  In all cases, including the active platforms, it is the responsibility of the entity that packages and/or compiles OpenPegasus for shipment or deployment, to read, and actively monitor the Pegasus bugzilla database for a list of relevant defects that affect their platform.   The platforms that are considered 'active' for this Pegasus release are:

Platform and OS

Compilers

HP-UX

HP aC++ B3910B

Linux on Power

gcc

zLinux

gcc

Linux Itanium

gcc

Linux IA-32

gcc (versions 2.9x and 3.xx)

Windows 2000

Microsoft Visual C++ Ver 6 and Microsoft .Net compiler Version.   Works on VC .NET 2003 (aka v7.1)

Windows XP, Windows 2003

Microsoft Visual C++ Ver. 6 and Microsoft .Net compiler Version 7.1

MacOS version 10.2 and higher gcc 3.3
HP OpenVMS Alpha
 HP C++ V6.5-042 for OpenVMS Alpha and above
HP OpenVMS IA64 HP C++ V7.1-011 on OpenVMS IA64 and above
Solaris 8
 
GNU  2.95.3,  Sun CC compiler V 5.8. Note that the latest thread patch (108993) may be required. (see Pegasus bug 4632)
Solaris 9
 
GNU  2.95.3, Sun WorkShop 6 update 2 C++ 5.3, patch 111685-22 2005/04/09

Platform patches

The following is a list of platform patches Pegasus requires.

RHAS 2.1 needs the update to fix Red Hat Bugzilla 98815.


Further information regarding Pegasus support on IBM platforms can be found at: http://publib.boulder.ibm.com/infocenter/eserver/v1r1/en_US/index.htm?info/icmain.htm


Further information regarding Pegasus support on HP platforms can be found at: http://www.hp.com/go/wbem.

Conformance with DMTF Specifications

It is a major goal of the OpenPegasus project to both drive and utilize the DMTF CIM/WBEM specifications.  However, today there are a number of known differences.  As of this release, some of the differences include the following:

  1. Provider Registration - Pegasus supports registration through a set of Pegasus Provider registration classes rather than support the DMTF defined Provider Qualifier. Pegasus will not support this qualifier in the future. See the readme for more information on provider registration.
  2.  Indications -Today Pegasus supports process indications but does not include any specific support for lifecycle indications.
  3.  IncludeQualifiers option on Instance Operations  - The DMTF specifications are unclear regarding the inclusion of qualifiers on CIM instances.  Some CIM Client implementations expect instances returned from the CIM Server to include the qualifiers defined in the class definition (such as KEY qualifiers on properties).   Pegasus today expects the provider to complete the qualifiers on instances in accordance with the specification and generally the interpretation is that Pegasus applies class level qualifiers when the includeInstance parameter is supplied on instance operations.  However, Pegasus today is inconsistent in the return of qualifiers so that the user should NOT depend on Pegasus accurately honoring the includeQualifier parameter for instance operations.  In the future it is expected that Pegasus will deprecate the use of qualifiers on instance operations completely.

  4. LocalOnly option on instance Operations - With the 1.1 version of Specification for CIM Operations over HTTP, the definition of the LocalOnly parameter for the GetInstance and EnumerateInstances operations was modified. This change was incorrect, resulted in reduced functionality and introduced a number of backward compatibility issues. As a result of issues introduced by this change, we strongly recommend that CIM Clients set LocalOnly = false and do not rely on the use of this parameter to filter the set of set of properties returned.
  5.  CIM MOF compiler function for instance aliasing - The Pegasus MOF compiler does not today support this function.  This function is planned for a future version.

  6.  MultiRequest Oprations - Pegasus does not support the DMTF defined MultiRequest Operation option.

  7. MOFCompiler namespace pragma - The Pegasus compiler does not support the namespace pragma.

Changes in This Release

The development and release of each version of Pegasus is defined and controlled through Pegasus PEP documents.  PEP 180 is the controlling document  for Pegasus 2.5.0 and PEP 239 is the controlling document for this release. These PEPs list the original set of changes proposed and the status of each of those changes. Note that not all of the originally defined functionality was completed for this release.

In general, the areas of development for release 2.5.0 were:

  1. Addition of CQL stage 1 support

  2. Refactoring of Object Normalizer function to improve performance.

  3. Out of Process Provider user level request.

  4. Embedded Object support. 

  5. Command Line Utilities

  6. CIMDateTime enhancements

  7. Completion of AutoPtr enhancements.

  8. Certificate management and user-based certificate authentication

  9. Completion of HTTP chunking. Pegasus now supports HTTP V1.1 transfer encoding otherwise known as chunking . PEP 140 describes the implementation details.

  10. Client side performance statistics
  11. Syslog Indication handler.
  12. Email Indication handler.
  13. Port to OpenVMS.

For release 2.5.1, a number of additional changes were made( See PEP 239 for more details):.

  1. Significant performance improvements ( better than 10 to 1 for operations and 3 to 1 for indications). (bug 4225)
  2. Improved support for the several platforms (Solaris, MacOS, HardHat Linux)
  3. Modified Makefile targets for easier usage.
  4. Extended and reorganized unit and end-end tests.
  5. Completed implementation of statistics gathering for operations.
  6. Further integrated CMPI and added additional tests.
  7. Consolidate some of the compile-time variables. Largely this meant moving from separate variables for DISABLE and ENABLE to a single variable where the value representes the state.
  8. Corrected error where Pegasus could not maintain general whitespace in strings (bug 4624).
  9. SLP extended to allow optional use of OpenSLP as the Service Agent (SA) in place of the Pegasus internal SA.
  10. Changes to align OpenPegasus and Red Hat RPM packaging and configuration options.
  11. Additonal testing and integration of the  JMPI provider manager.

Specifically the status of several components of Pegasus functionality were moved in status on the Feature Status Page as follows:

  1. Binary Repository move to green (production capable). (see bug 4388)
  2. Out of Process providers
  3. Pegasus Provider Interfaces, User Context for Linux and Unix

 

The complete set of changes defined for this release is defined in PEP 239

Pegasus defects

The Pegasus bugzilla database documents any defects found in Pegasus and  is available through the following link:  OpenPegasus bugzilla database.  Note that bugs committed for Pegasus 2.5.1 have been marked with the keyword 2.5.1_APPROVED so that all bug fixes for this release can be found with the following bug search.  Note that since this was a minor release all of the fixes were documented as bugs so that even the changes listed in the previous section are listed as bugs.

http://cvs.rdg.opengroup.org/bugzilla/buglist.cgi?keywords=2.5.1_APPROVED

Pegasus Release Control and Version Definition Documentation

The Pegasus project is controlled largely through a set of documents (PEPs) that serve as the definition and review mechanism for new and modified Pegasus functionality and for the definition and documentation of releases.

Specifically the following PEPs define the characteristics of this Pegasus release.

  1. PEP 209 - OpenPegaus 2.5 External Interfaces.
  2. PEP  237 - OpenPegaus 2.5.1 Build and Configuration Option  for Selected Platforms
  3. PEP 249 - Pegasus 2.5.1 Release Notes (This document located in the PEP repository and the Pegasus source tree root directory)
  4. PEP 242 -  Pegasus 2.5.1 Runtime Packaging Definition
  5. PEP 243  - OpenPegasus 2.5.1 SDK Packaging Definition
  6. PEP 251  - Pegasus readme.txt for 2.5.1 (Located in PEP repository and also in the Pegasus source tree root directory).
  7. PEP 239 - OpenPegasus Release Definition - This PEP is used throughout the development of this version as the control point for functionality that will go into the release and points to all of the PEPs that represent the Pegasus 2.5 functionality changes.  (as of this document verion of PEP 230, PEP 180 is listed as draft status)

General Documentation

The following documentation is available for the this Pegasus release:

 

 


Copyright (c) 2006 EMC Corporation; Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation; Intel Corp.

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.