Pegasus Enhancement Proposal (PEP)

PEP #: 174

Title: Recommended OpenPegasus 2.4 Build and Configuration Options for Selected Platforms

Version: 1.10

Created: 22 June 2004

Authors: Warren Otsuka, Denise Eckstein

Status:  Approved (Ballot 77)


Abstract: This PEP defines a set of recommended options for building, testing and running OpenPegasus 2.4 on a selected set of platforms. In this version of the PEP, platform-specific configuration options have been documented for the following platforms: HP-UX and Linux. Options for OpenVMS are included but not planned for 2.4.

Note 1: The recommendations defined in this PEP are not intended to document the feature set included in any vendor's OpenPegasus-based product.  Rather, the purpose of this PEP is to provide input to vendors when making product decisions.


Change Summary:

The intent of the following table is only to provide a function-level summary of the changes in this revision of the PEP.  Please refer to PEP 97 for the OpenPegasus 2.4 Release definition.


Definition of the Problem

OpenPegasus supports a large number of build and runtime options. Determining which options to use can be challenging. The purpose of this PEP is to simplify the build, testing and administration of OpenPegasus 2.4 by providing a recommended, tested set of options.

 

Proposed Solution

Build Prerequisites

Linux

Environment Variable Settings for Building OpenPegasus 2.4

Definitions

PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
PEGASUS_ENABLE_REMOTE_CMPI
ICU_INSTALL
ICU_ROOT
OPENSSL_HOME
PEGASUS_DEBUG
PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
PEGASUS_HAS_MESSAGES
PEGASUS_HAS_PERFINST
PEGASUS_HAS_SSL
PEGASUS_HOME
PEGASUS_LOCAL_DOMAIN_SOCKET
PEGASUS_ROOT
PEGASUS_NOASSERTS
PEGASUS_PAM_AUTHENTICATION
PEGASUS_PLATFORM
PEGASUS_USE_23PROVIDER_MANAGER (WILL BE REMOVED IN 2.5)
PEGASUS_USE_AUTOMATIC_TRUSTSTORE_UPDATE (WILL BE REMOVED IN 2.5)
PEGASUS_USE_PAM_STANDALONE_PROC
PEGASUS_USE_RELEASE_CONFIG_OPTIONS
PEGASUS_USE_RELEASE_DIRS
PEGASUS_USE_SYSLOGS

Examples Building a Linux IA32 (#IA64) Development/Debug Version

Building a Linux IA32 (#IA64) Production Release Version

Environment Variable Settings for Running OpenPegasus 2.4

Definitions

PEGASUS_HOME
PEGASUS_MSG_HOME

Configuration Properties

Notation

This section describes the notation used to define the configuration properties.

Definitions

authorizedUserGroups
daemon
enableAssociationTraversal
enableAuthentication
enableBinaryRepository
enableIndicationService
enableHttpConnection
enableHttpsConnection
enableNamespaceAuthorization
enableProviderProcesses
enableRemotePrivilegedUserAccess
enableSSLExportClientVerification
enableSSLTruststoreAutoUpdate (WILL BE REMOVED IN 2.5)
enableSubscriptionsForNonprivilegedUsers
exportSSLTrustStore
home
httpPort
httpsPort
logdir
logLevel
messageDir
providerDir
repositoryDir
repositoryIsDefaultInstanceProvider
    Description: If true, the Repository functions as the Instance Provider for all classes for which there is not an explicitly registered Provider. This flag is also used to control the behavior of the repository when processing association operators.
    Recommended Default Value(Test Build):  true
    Recommended Default Value(Release Build):  false
    Recommend To Be Fixed/Hidden(Test Build):  No/No
    Recommend To Be Fixed/Hidden(Release Build):  No/Yes
    Dynamic?:  No
    Considerations:  This flag can be used to configure the CIM Server to allow the Repository to be used by CIM Clients and CIM Providers as a dynamic data store. The setting of this flag will significantly affect CIM Server behavior as viewed by the CIM Client.
    The following issues should be considered when setting repositoryIsDefaultInstanceProvider=true:
    The following issues should be considered when setting repositoryIsDefaultInstanceProvider=false: Source Configuration File:  Pegasus/Config/RepositoryPropertyOwner.cpp
shutdownTimeout
slp
sslCertificateFilePath
sslClientVerificationMode
sslKeyFilePath
sslTrustStore
sslTrustStoreUserName
tempLocalAuthDir
traceComponents
traceFilePath
traceLevel

Configuration Constants

Definitions

static char CURRENT_CONFIG_FILE [] =
static char PLANNED_CONFIG_FILE [] =
static char CIMSERVER_START_FILE [] =

Configuration Macros

Definitions

PEGASUS_SSLCLIENT_CERTIFICATEFILE
PEGASUS_SSLCLIENT_RANDOMFILE
PEGASUS_SSLSERVER_RANDOMFILE
PEGASUS_LOCAL_AUTH_DIR
PEGASUS_LOCAL_DOMAIN_SOCKET_PATH

Rationale

Schedule

Discussion

Version History

Version Date Author Change Description
1.0 22 June 2004 Denise Eckstein Initial Submission
1.1 06 July 2004 Denise Eckstein
  • Included LSB Linux options.
  • Added the following environment variables: PEGASUS_ENABLE_USERGROUP_AUTHORIZATION, PEGASUS_USE_AUTOMATIC_TRUSTSTORE_UPDATE,
    PEGASUS_HAS_PERFSTATS
  • Added the following configuration options:
    enableProviderProcesses, authorizedUserGroups, sslClientVerificationMode, enableSSLTruststoreAutoUpdate, sslTrustStoreUsername
  • Changed sslTrustFilePath to sslTrustStore.

  • 1.2 07 July 2004 Denise Eckstein
  • Added enableSSLExportClientVerification,exportSSLTrustStore
  • Changed Linux directory prefix from "lsb" to "tog".
  • Removed Suse-specific items, the proposal is for OpenPegasus to support a single set of Linux configurations that are tunable by the distributions.
  • Added enableBinaryRepository & removeDescriptionQualifiers
  • Added messageDir & PEGASUS_MSG_HOME
  • 1.3 02 Aug 2004 Denise Eckstein
  • Changed "Debug Build" to "Test Build"
  • Added the following environment variables:
        ENABLE_JMPI_PROVIDER_MANAGER,
        PEGASUS_ADVANCED_CIMCLIENT
  • Replaced environment variable ENABLE_PROVIDER_MANAGER2 with PEGASUS_USE_23PROVIDER_MANAGER
  • Changed $(CONFIGDIR) for Linux to /var/opt/tog-pegasus.
  • Set $(MSGDIR) for Linux to /opt/tog-pegasus/share/locale/en_US/LC_MESSAGES; for HP-UX to /opt/wbem/share/locale/en_US/LC_MESSAGES
  • Updated "External Interfaces" section.
  • Updated "Environment Variable" Example setting to be consistent with recommended default settings.
  • 1.4 03 Aug 2004 Denise Eckstein
  • Changed title of "External Interfaces" section to "Change Summary"
  • Updated Globalization entry in "Change Summary" section
  • Updated WQL Query entry in "Change Summary" section.  This option is not configurable.
  • Added Experimental to CMPI Provider item in "Change Summary"
  • Minor formatting changes suggested by reviewers.
  • Added OpenVMS to various tables.
  • Changed "Remote CMPI" from "Not Enabled" to "Not Included".
  • 1.5 07 Aug2004 Denise Eckstein
  • Added "For Selected Platforms" to the title.
  • Removed "Pending Item" section.
  • Added statement to Abstract highlighting the platforms that are referenced in this PEP.
  • Added definition of "Configurable".
  • Added the sentence "The values defined in the PEP are currently Pre-CTC (Certification Test Complete) and represent the recommendations of the PEP submitter.  Post-CTC, this PEP will be updated to reflect the specific recommendations of the Platform Advocates for the platforms referenced in this PEP." to the Abstract.
  • Changed "Cross Namespace Associations" to INCLUDE(NC).
  • Removed Release Build Column from Change Summary table.
  • Removed the flag PEGASUS_ADVANCED_CLIENT.  It is not implemented.
  • 1.6 07 Aug2004 Denise Eckstein
  • Added second Note. "Note 2: The recommendations defined in this PEP are not intended to document the feature set included in any vendor's OpenPegasus-based product.  Rather, the purpose of this PEP is to provide input to vendors when making product decisions."
  • 1.7 10 Aug 2004 Denise Eckstein
  • Added "static char" before definition of CIMSERVER_START_FILE.
  • Changed "ENABLE_CMPI_PROVIDER_MANAGER" to "PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER"; "ENABLE_JMPI_PROVIDER_MANAGER" to "PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER"; ENABLE_REMOTE_CMPI to "PEGASUS_ENABLE_REMOTE_CMPI"
  • Added "/tmp/" to Default Value: /tmp/cimserver_start.conf and
    Recommended Default Value(Test Build): /tmp/cimserver_start.conf for CIMSERVER_START_FILE
  • Added  missing "/repository" to  $REPOSITORYDIR
  • 1.8 13 Aug 2004 Denise Eckstein
  • Added "and their dependent components" to the descriptions PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER, PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER, and PEGASUS_ENABLE_REMOTE_CMPI.
  • Updated "Considerations:" field for PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER, PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER, and PEGASUS_ENABLE_REMOTE_CMPI to refer to the PEGASUS_USE_23PROVIDER_MANAGER variable.
  • Fixed typo in "Considerations:" field of PEGASUS_USE_SYSLOGS.
  • Removed "removeDescriptionQualifiers" option.
  • 1.9 24 Aug 2004 Denise Eckstein
  • Actually removed "removeDescriptionQualifiers" option.
  • Version approved - Ballot 69.
  • 1.10
    Approved
    Ballot 77
    21 Sept 2004 Denise Eckstein
  • Removed Pre-CTC Note in Abstract.
  • For Linux, changed PEGASUS_SOCKET_DIR from /var/run to  /var/run/tog-pegasus/socket
  • Noted that the recommended settings for the variable PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER are for Linux only.
  • Changed the name of PEGASUS_HAS_PERFSTATS to PEGASUS_HAS_PERFINST.
  • Changed name of sslTrustStoreUsername to sslTrustStoreUserName.
  •  


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

    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.


    Template last modified: January 20th 2004 by Martin Kirk
    Template version: 1.6