|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
<html>
|
|
Packit |
8fd333 |
<head>
|
|
Packit |
8fd333 |
<meta http-equiv="Content-Language" content="en-us">
|
|
Packit |
8fd333 |
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
|
|
Packit |
8fd333 |
<meta name="ProgId" content="FrontPage.Editor.Document">
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
content="text/html; charset=windows-1252">
|
|
Packit |
8fd333 |
<title>OpenPegasus README</title>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
href="http://www.opengroup.org/stylesheets/info1+margins.css">
|
|
Packit |
8fd333 |
<style>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
table.MsoNormalTable
|
|
Packit |
8fd333 |
{mso-style-parent:"";
|
|
Packit |
8fd333 |
font-size:10.0pt;
|
|
Packit |
8fd333 |
font-family:"Times New Roman"}
|
|
Packit |
8fd333 |
-->
|
|
Packit |
8fd333 |
</style>
|
|
Packit |
8fd333 |
</head>
|
|
Packit |
8fd333 |
<body>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Abstract: Installation, build,
|
|
Packit |
8fd333 |
and operation information on
|
|
Packit |
8fd333 |
the OpenPegasus . Note that if this readme
|
|
Packit |
8fd333 |
conflicts with the documentation in the release notes or interface
|
|
Packit |
8fd333 |
definition documents for a particular release, those documents should
|
|
Packit |
8fd333 |
be considered authoritative. This is a simplified
|
|
Packit |
8fd333 |
overview to act as an
|
|
Packit |
8fd333 |
introduction to OpenPegasus.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
<font size="5">OpenPegasus
|
|
Packit |
8fd333 |
- A Manageability
|
|
Packit |
8fd333 |
Services Broker for the DMTF CIM/WBEM Standards
|
|
Packit |
8fd333 |
</font>
|
|
Packit |
8fd333 |
Tagline: OpenPegasus is
|
|
Packit |
8fd333 |
an object manager for
|
|
Packit |
8fd333 |
DMTF CIM objects written in C++
|
|
Packit |
8fd333 |
and hosted by The Open Group
|
|
Packit |
8fd333 |
OpenPegasus Overview
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
href="#avail_of_peg">Availability
|
|
Packit |
8fd333 |
Supported Platforms
|
|
Packit |
8fd333 |
Dependencies
|
|
Packit |
8fd333 |
Commands
|
|
Packit |
8fd333 |
Documentation
|
|
Packit |
8fd333 |
How to Participate
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Installing OpenPegasus
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
href="#download">Download or Checkout
|
|
Packit |
8fd333 |
Verify Dependencies
|
|
Packit |
8fd333 |
Set the Environment Variables
|
|
Packit |
8fd333 |
Build the Executables
|
|
Packit |
8fd333 |
Populate the Repository
|
|
Packit |
8fd333 |
Register Providers
|
|
Packit |
8fd333 |
Notes
|
|
Packit |
8fd333 |
about Building on Linux
|
|
Packit |
8fd333 |
Notes about Building
|
|
Packit |
8fd333 |
on Windows
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
The MU Utility
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Notes about
|
|
Packit |
8fd333 |
Building with SSL
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Testing an OpenPegasus installation
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
href="#test_icu">Testing with ICU enabled
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus (also
|
|
Packit |
8fd333 |
referred to
|
|
Packit |
8fd333 |
as Pegasus) is an open-source CIM Server for DMTF
|
|
Packit |
8fd333 |
CIM objects.
|
|
Packit |
8fd333 |
It is
|
|
Packit |
8fd333 |
written
|
|
Packit |
8fd333 |
in C++ and includes the Object manager (CIMOM), a set of defined
|
|
Packit |
8fd333 |
interfaces, an implementation of the CIM Operations over HTTP
|
|
Packit |
8fd333 |
operations
|
|
Packit |
8fd333 |
and their cimxml HTTP encodings, and Interface libraries
|
|
Packit |
8fd333 |
for both clients and providers. It is maintained
|
|
Packit |
8fd333 |
to be compliant with
|
|
Packit |
8fd333 |
the DMTF CIM and WBEM specifications with
|
|
Packit |
8fd333 |
exceptions
|
|
Packit |
8fd333 |
noted in the documentation.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus includes
|
|
Packit |
8fd333 |
components for:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
A DMTF compliant CIM Server that processes CIM
|
|
Packit |
8fd333 |
operations, CIM
|
|
Packit |
8fd333 |
Indications, and
|
|
Packit |
8fd333 |
includes class and instance repositories and interfaces for creating
|
|
Packit |
8fd333 |
CIM
|
|
Packit |
8fd333 |
Providers and CIM Clients.
|
|
Packit |
8fd333 |
Provider interfaces so that providers may be build in
|
|
Packit |
8fd333 |
multiple
|
|
Packit |
8fd333 |
languages (i.e.
|
|
Packit |
8fd333 |
C++, C, Java).
|
|
Packit |
8fd333 |
A number of CIM Providers.
|
|
Packit |
8fd333 |
A MOF compiler.
|
|
Packit |
8fd333 |
A number of CIM Clients to provide usage examples, CIM
|
|
Packit |
8fd333 |
Server
|
|
Packit |
8fd333 |
test functions,
|
|
Packit |
8fd333 |
and administrative
|
|
Packit |
8fd333 |
functions.
|
|
Packit |
8fd333 |
More complete information on the exact functions
|
|
Packit |
8fd333 |
and their functional state is available from the Release Notes
|
|
Packit |
8fd333 |
(pegasus/ReleaseNotes.htm) and the OpenPegasus
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/page.tpl?CALLER=index.tpl&ggid=799">Feature
|
|
Packit |
8fd333 |
Status Page.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus is open source
|
|
Packit |
8fd333 |
and is
|
|
Packit |
8fd333 |
covered under the MIT open-source
|
|
Packit |
8fd333 |
license.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus is being
|
|
Packit |
8fd333 |
developed and
|
|
Packit |
8fd333 |
maintained under the auspices of
|
|
Packit |
8fd333 |
The
|
|
Packit |
8fd333 |
Open
|
|
Packit |
8fd333 |
Group. OpenPegasus is maintained under the license defined in
|
|
Packit |
8fd333 |
the
|
|
Packit |
8fd333 |
doc
|
|
Packit |
8fd333 |
directory of this release. The specific file is:
|
|
Packit |
8fd333 |
style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.
|
|
Packit |
8fd333 |
This licensing is intended to support as
|
|
Packit |
8fd333 |
wide a
|
|
Packit |
8fd333 |
distribution as possible with minimal demands on the users.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
More information on this
|
|
Packit |
8fd333 |
project, access
|
|
Packit |
8fd333 |
to the CVS, and
|
|
Packit |
8fd333 |
documentation
|
|
Packit |
8fd333 |
style="text-decoration: line-through;">
|
|
Packit |
8fd333 |
is available
|
|
Packit |
8fd333 |
from the Ope
|
|
Packit |
8fd333 |
style="text-decoration: line-through;">nPegasus
|
|
Packit |
8fd333 |
web
|
|
Packit |
8fd333 |
site.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
http://www.openpegasus.org
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Note
|
|
Packit |
8fd333 |
that all references in this readme to files in the OpenPegasus source
|
|
Packit |
8fd333 |
tree are of the form pegasus/..., where "pegasus" is the top-level
|
|
Packit |
8fd333 |
directory and also the name of the OpenPegasus module in the Pegasus
|
|
Packit |
8fd333 |
CVS
|
|
Packit |
8fd333 |
repository. There are also other CVS modules for the
|
|
Packit |
8fd333 |
OpenPegasus Java client (pegasus-JavaCIMClient)
|
|
Packit |
8fd333 |
and for unsupported components and utilities for Pegasus that may be
|
|
Packit |
8fd333 |
checked out
|
|
Packit |
8fd333 |
separately. You can use
|
|
Packit |
8fd333 |
viewCVS
|
|
Packit |
8fd333 |
to view the
|
|
Packit |
8fd333 |
Pegasus CVS tree
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus is distributed
|
|
Packit |
8fd333 |
as open
|
|
Packit |
8fd333 |
source under the MIT open-source
|
|
Packit |
8fd333 |
license. The distribution is available via CVS, and as snapshot images
|
|
Packit |
8fd333 |
in
|
|
Packit |
8fd333 |
tar, zip, and (self-extracting) exe
|
|
Packit |
8fd333 |
file
|
|
Packit |
8fd333 |
formats on the OpenPegasus web site.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus can be obtained via any of the following:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Released tarballs (see
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&ggid=392">ZIP/GZ/EXE
|
|
Packit |
8fd333 |
link for this release)
|
|
Packit |
8fd333 |
CVS (See
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&ggid=667">CVS
|
|
Packit |
8fd333 |
code repository for
|
|
Packit |
8fd333 |
more information)
|
|
Packit |
8fd333 |
Linux RPMs
|
|
Packit |
8fd333 |
(see
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&ggid=392">RPM
|
|
Packit |
8fd333 |
link for this release)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
style="color: rgb(0, 0, 0);">CVS
|
|
Packit |
8fd333 |
write accounts are managed by Martin Kirk of The Open Group </font>
|
|
Packit |
8fd333 |
(m.kirk@opengroup.org)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus is regularly
|
|
Packit |
8fd333 |
tested against a
|
|
Packit |
8fd333 |
variety of platforms by the
|
|
Packit |
8fd333 |
development group. The results of the nightly tests can be
|
|
Packit |
8fd333 |
found
|
|
Packit |
8fd333 |
here on our
|
|
Packit |
8fd333 |
href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
|
|
Packit |
8fd333 |
Build and Test Status page. The Release Notes for each
|
|
Packit |
8fd333 |
release
|
|
Packit |
8fd333 |
(pegasus/ReleaseNotes.htm) provide additional details
|
|
Packit |
8fd333 |
regarding the platforms, compilers, etc. for the current release.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
We have worked to minimize the dependence of OpenPegasus on other
|
|
Packit |
8fd333 |
software
|
|
Packit |
8fd333 |
packages and tools. Currently OpenPegasus has the following
|
|
Packit |
8fd333 |
dependencies. Note that all of the dependencis listed below are
|
|
Packit |
8fd333 |
required only if selected options are enabled except for GNUMAKE which
|
|
Packit |
8fd333 |
is the required make tool:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
GNUMAKE - To simplify the building of
|
|
Packit |
8fd333 |
OpenPegasus across
|
|
Packit |
8fd333 |
multiple platforms we
|
|
Packit |
8fd333 |
have standardized on a set of build tools including: GNUMAKE. We are
|
|
Packit |
8fd333 |
using GNUMAKE 3.79.1 successfully both in Windows and Linux
|
|
Packit |
8fd333 |
environments. It is available from http://www.gnu.org.
|
|
Packit |
8fd333 |
The windows version of GNUMAKE is available on the Pegasus
|
|
Packit |
8fd333 |
web site
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pb/protected/index.tpl?CALLER=index.tpl">
|
|
Packit |
8fd333 |
tools page.
|
|
Packit |
8fd333 |
FLEX and BISON -
|
|
Packit |
8fd333 |
These tools were used to develop the MOF
|
|
Packit |
8fd333 |
compiler and WQL and CQL parsers. These tools are required ONLY
|
|
Packit |
8fd333 |
for
|
|
Packit |
8fd333 |
development of the parsers, not for building OpenPegasus.
|
|
Packit |
8fd333 |
Bison
|
|
Packit |
8fd333 |
version 2.3 or later and flex version 2.5.4 or later are required.
|
|
Packit |
8fd333 |
Doxygen - The OpenPegasus documentation
|
|
Packit |
8fd333 |
is taken from a combination of text files and header files themselves.
|
|
Packit |
8fd333 |
This documentation is formatted with Doxygen and GAWK. This
|
|
Packit |
8fd333 |
is required ONLY if you want to build documentation
|
|
Packit |
8fd333 |
from the source tree.
|
|
Packit |
8fd333 |
style="color: rgb(0, 0, 0);">These tools are required to
|
|
Packit |
8fd333 |
build the
|
|
Packit |
8fd333 |
interface documentation set.</font>
|
|
Packit |
8fd333 |
ICU Internationalization libraries -
|
|
Packit |
8fd333 |
These libraries are
|
|
Packit |
8fd333 |
used as the basis for message catalogs for message
|
|
Packit |
8fd333 |
internationalization. See the ICU website
|
|
Packit |
8fd333 |
(http://icu.sourceforge.net)
|
|
Packit |
8fd333 |
for more information on these
|
|
Packit |
8fd333 |
libraries. These
|
|
Packit |
8fd333 |
libraries are used ONLY if you set the requisite environment variable (
|
|
Packit |
8fd333 |
PEGASUS_HAS_ICU) to use ICU
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenSSL
|
|
Packit |
8fd333 |
- If it
|
|
Packit |
8fd333 |
is intended to use SSL on the
|
|
Packit |
8fd333 |
communication protocol, the OpenSSL libraries are required (
|
|
Packit |
8fd333 |
href="http://www.openssl.org">http://www.openssl.org).
|
|
Packit |
8fd333 |
OpenSLP
|
|
Packit |
8fd333 |
- If you choose
|
|
Packit |
8fd333 |
to use
|
|
Packit |
8fd333 |
OpenSLP as your choice of SLP implementations, then it will need to be
|
|
Packit |
8fd333 |
installed and available to OpenPegasus. Refer to the
|
|
Packit |
8fd333 |
PEGASUS_USE_OPENSLP and PEGASUS_OPENSLP_HOME build variables in the
|
|
Packit |
8fd333 |
doc/BuildAndReleaseOptions.html file, and the OpenSLP web site (
|
|
Packit |
8fd333 |
href="http://www.openslp.org">http://www.openslp.org).
|
|
Packit |
8fd333 |
zlib
|
|
Packit |
8fd333 |
- If you choose to
|
|
Packit |
8fd333 |
enable the compressed repository feature with the
|
|
Packit |
8fd333 |
PEGASUS_ENABLE_COMPRESSED_REPOSITORY build variable, you will need to
|
|
Packit |
8fd333 |
install the gzip (GNU zip) compression utility. Refer to
|
|
Packit |
8fd333 |
readme.compressed_repository in OpenPegasus source tree, and the gzip
|
|
Packit |
8fd333 |
web site (
|
|
Packit |
8fd333 |
href="http://www.gzip.org">http://www.gzip.org).
|
|
Packit |
8fd333 |
sqlite
|
|
Packit |
8fd333 |
- If you choose to enable the use of sqlite for the repository, refer
|
|
Packit |
8fd333 |
to the doc/BuildAndReleaseOptions.html file for the defintion of the
|
|
Packit |
8fd333 |
build variables and the sqlite implementation which may be obtained
|
|
Packit |
8fd333 |
either as part of a standard distribution or from
|
|
Packit |
8fd333 |
href="http://www.sqlite.org">http://www.sqlite.org.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
NOTE:
|
|
Packit |
8fd333 |
A set of the required
|
|
Packit |
8fd333 |
tools for building on the Windows platform is available on the
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools
|
|
Packit |
8fd333 |
web page.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Pegasus includes the server which can be controlled from the command
|
|
Packit |
8fd333 |
line and a
|
|
Packit |
8fd333 |
set of clients that provide adminstrative functions
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
The manpages for each of the commands are in the pegasus/rpm/manLinux/
|
|
Packit |
8fd333 |
directory (from CVS).
|
|
Packit |
8fd333 |
To see simple help for each
|
|
Packit |
8fd333 |
command,
|
|
Packit |
8fd333 |
invoke it with the "--help" option.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Some
|
|
Packit |
8fd333 |
of
|
|
Packit |
8fd333 |
the basic commands:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
cimserver
|
|
Packit |
8fd333 |
(Start the server
|
|
Packit |
8fd333 |
cimserver)
|
|
Packit |
8fd333 |
cimserver
|
|
Packit |
8fd333 |
-s (Shuts down the cimserver)
|
|
Packit |
8fd333 |
cimserver
|
|
Packit |
8fd333 |
traceLevel=4 traceComponents=ALL
|
|
Packit |
8fd333 |
(Starts server
|
|
Packit |
8fd333 |
with
|
|
Packit |
8fd333 |
config flags)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
cimprovider
|
|
Packit |
8fd333 |
-l -s (Lists providers and their
|
|
Packit |
8fd333 |
status)
|
|
Packit |
8fd333 |
cimprovider
|
|
Packit |
8fd333 |
-e -m OperatingSystemModule
|
|
Packit |
8fd333 |
(Enables the
|
|
Packit |
8fd333 |
OperatingSystem provider)
|
|
Packit |
8fd333 |
cimuser
|
|
Packit |
8fd333 |
-a -u guest -w <ThePassword> (Adds
|
|
Packit |
8fd333 |
the user guest
|
|
Packit |
8fd333 |
with specified password)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
cimuser
|
|
Packit |
8fd333 |
-l (Lists the users )
|
|
Packit |
8fd333 |
cimconfig
|
|
Packit |
8fd333 |
-l -c (Lists the
|
|
Packit |
8fd333 |
current config options and their current values)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
NOTES:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Refer to the admin guide in
|
|
Packit |
8fd333 |
pegasus/doc/Admin_Guide_Release.pdf
|
|
Packit |
8fd333 |
for
|
|
Packit |
8fd333 |
more information about administering the OpenPegasus CIM Server.
|
|
Packit |
8fd333 |
There are differences between Windows and other
|
|
Packit |
8fd333 |
platforms in
|
|
Packit |
8fd333 |
starting the CIMserver as a daemon/service. Whereas most supported
|
|
Packit |
8fd333 |
platforms use
|
|
Packit |
8fd333 |
the OpenPegasus daemon
|
|
Packit |
8fd333 |
configuration option to start the CIM Server as a daemon, on
|
|
Packit |
8fd333 |
Windows it
|
|
Packit |
8fd333 |
must be specifically installed as a service (ex. cimserver -install)
|
|
Packit |
8fd333 |
and then
|
|
Packit |
8fd333 |
started as a service (cimserver -start). The cimserver --help option
|
|
Packit |
8fd333 |
explains the
|
|
Packit |
8fd333 |
exact format of the start and stop options.
|
|
Packit |
8fd333 |
The cimuser command is used to manage OpenPegasus users
|
|
Packit |
8fd333 |
only when
|
|
Packit |
8fd333 |
the CIM Server is compiled without the PEGASUS_PAM_AUTHENTICATION
|
|
Packit |
8fd333 |
environment variable defined. See
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pp/uploads/40/16781/PEP308_RecommendedReleaseOptions.htm">
|
|
Packit |
8fd333 |
PEP 308 for more information on these configuration options.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Documentation
|
|
Packit |
8fd333 |
Much
|
|
Packit |
8fd333 |
of
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
is documented in the
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pp/index.tpl?CALLER=index.tpl">Pegasus
|
|
Packit |
8fd333 |
Enhancement Process (PEPs) which are the basis for approval
|
|
Packit |
8fd333 |
of
|
|
Packit |
8fd333 |
OpenPegasus functionality, changes, plans, etc. The approved
|
|
Packit |
8fd333 |
PEPs
|
|
Packit |
8fd333 |
are publicly available on the OpenPegasus web site.
|
|
Packit |
8fd333 |
style="color: rgb(255, 0, 0);">
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Other
|
|
Packit |
8fd333 |
documentation available
|
|
Packit |
8fd333 |
is an api document (creatable
|
|
Packit |
8fd333 |
from the
|
|
Packit |
8fd333 |
source tree, see pegasus/doc/apidoc) and other miscellaneous
|
|
Packit |
8fd333 |
documentation
|
|
Packit |
8fd333 |
in the CVS doc directory and the pegasus CVS root as readme files.
|
|
Packit |
8fd333 |
Also, there is a set of Release Notes for each
|
|
Packit |
8fd333 |
release in the OpenPegasus root
|
|
Packit |
8fd333 |
source directory of CVS and as a Pegasus PEP.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
<font style="color: rgb(0, 0, 0);">Contributors
|
|
Packit |
8fd333 |
are welcome to participate in the OpenPegasus development effort. Join
|
|
Packit |
8fd333 |
the mailing list by going to the
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/mailinglists.tpl?CALLER=index.tpl">Mailing
|
|
Packit |
8fd333 |
Lists web page from the OpenPegasus site.</font>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Installing OpenPegasus
|
|
Packit |
8fd333 |
Download or Checkout
|
|
Packit |
8fd333 |
Refer to the Availability
|
|
Packit |
8fd333 |
section for instructions on obtaining source code.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
If you want to install
|
|
Packit |
8fd333 |
pre-built Pegasus
|
|
Packit |
8fd333 |
executables instead of building from source code, then refer to the
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pr/">RPM installation
|
|
Packit |
8fd333 |
instructions.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Verify
|
|
Packit |
8fd333 |
Dependencies
|
|
Packit |
8fd333 |
style="font-weight: normal;">
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
style="font-weight: normal;">Before
|
|
Packit |
8fd333 |
you build, install, or run OpenPegasus, be sure you have the proper set
|
|
Packit |
8fd333 |
of software
|
|
Packit |
8fd333 |
it depends on. Refer to the section Dependencies
|
|
Packit |
8fd333 |
for
|
|
Packit |
8fd333 |
the complete list.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Environment
|
|
Packit |
8fd333 |
Variables
|
|
Packit |
8fd333 |
Before building, installing,
|
|
Packit |
8fd333 |
or running
|
|
Packit |
8fd333 |
OpenPegasus, some environment variables may
|
|
Packit |
8fd333 |
have to be defined or updated. See PEP 292 for the full list
|
|
Packit |
8fd333 |
of
|
|
Packit |
8fd333 |
environment variables and configuration options for OpenPegasus. The
|
|
Packit |
8fd333 |
minimum set is:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
PEGASUS_ROOT -- The directory
|
|
Packit |
8fd333 |
containing the OpenPegasus root directory from CVS.
|
|
Packit |
8fd333 |
PEGASUS_HOME -- The directory
|
|
Packit |
8fd333 |
that will contain all output from building and running OpenPegasus, it
|
|
Packit |
8fd333 |
can be the same as PEGASUS_ROOT if desired.
|
|
Packit |
8fd333 |
PEGASUS_PLATFORM -- The
|
|
Packit |
8fd333 |
platform on which OpenPegasus is being built.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
There are a significant number of
|
|
Packit |
8fd333 |
environment variables that control the compile and test of features in
|
|
Packit |
8fd333 |
the OpenPegasus package in addition to the 3 variables described above.
|
|
Packit |
8fd333 |
These variables are documented in the Pegasus documentation in CVS (see
|
|
Packit |
8fd333 |
the pegasus/doc directory).
|
|
Packit |
8fd333 |
Build the Executables
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
is compiled and linked using a make structure that recurses through
|
|
Packit |
8fd333 |
the OpenPegasus source tree.
|
|
Packit |
8fd333 |
<font><font color="RED">
|
|
Packit |
8fd333 |
style="color: rgb(0, 0, 0); font-weight: bold;">
|
|
Packit |
8fd333 |
Makefile commands
|
|
Packit |
8fd333 |
</font></font>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
includes several Makefiles that enable
|
|
Packit |
8fd333 |
you to quickly build or
|
|
Packit |
8fd333 |
refresh files for the server, clients, providers, test cases, and
|
|
Packit |
8fd333 |
repository. To use these Makefiles, type "make" followed by one of the
|
|
Packit |
8fd333 |
supplied targets.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
For more information on the
|
|
Packit |
8fd333 |
available make targets, enter "make usage" from the PEGASUS_ROOT
|
|
Packit |
8fd333 |
directory. A recommended minimum set
|
|
Packit |
8fd333 |
to know are:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
usage -- Explains the
|
|
Packit |
8fd333 |
available make targets in some detail.
|
|
Packit |
8fd333 |
new -- Clean out all
|
|
Packit |
8fd333 |
objects, libs, executables, and the repository.
|
|
Packit |
8fd333 |
build -- Builds
|
|
Packit |
8fd333 |
dependencies, compiles, links, and installs the server. After this
|
|
Packit |
8fd333 |
OpenPegasus is ready to run.
|
|
Packit |
8fd333 |
alltests - Builds the
|
|
Packit |
8fd333 |
repository entries and other resources required by the tests, and then
|
|
Packit |
8fd333 |
executes all automated tests.
|
|
Packit |
8fd333 |
world - Builds the complete environment and runs the test suite.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
For a comprehensive
|
|
Packit |
8fd333 |
list of the
|
|
Packit |
8fd333 |
make targets, refer to <big>
|
|
Packit |
8fd333 |
style="font-family: Courier New,Courier,monospace;">pegasus/Makefile</big>
|
|
Packit |
8fd333 |
at the top of the OpenPegasus source directory.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Before using OpenPegasus you must populate the repository. Typically,
|
|
Packit |
8fd333 |
this
|
|
Packit |
8fd333 |
is done during the build process by the 'make repository' target.
|
|
Packit |
8fd333 |
However,
|
|
Packit |
8fd333 |
you
|
|
Packit |
8fd333 |
can also compile MOF (Managed Object Format) code manually with the
|
|
Packit |
8fd333 |
cimmof compiler.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
The 'make repository' target
|
|
Packit |
8fd333 |
in the makefile <big>
|
|
Packit |
8fd333 |
style="font-family: Courier New,Courier,monospace;">pegasus/Makefile</big>
|
|
Packit |
8fd333 |
performs several functions including:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Removes
|
|
Packit |
8fd333 |
the existing
|
|
Packit |
8fd333 |
repository (if one exists).
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Generates the default
|
|
Packit |
8fd333 |
CIM Schema (defined in pegasus/mak/config.mak)
|
|
Packit |
8fd333 |
in the repository (skeleton of CIM
|
|
Packit |
8fd333 |
objects). Refer to PEGASUS_CIM_SCHEMA environment
|
|
Packit |
8fd333 |
variable in Pegasus PEP 308 to
|
|
Packit |
8fd333 |
set alternate schema versions.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Loads
|
|
Packit |
8fd333 |
schema for CIM Server functions (shutdown, add users, etc) and
|
|
Packit |
8fd333 |
CIM indications
|
|
Packit |
8fd333 |
(SNMP, Events, Alert, Threshold, etc)
|
|
Packit |
8fd333 |
internal to Pegasus.
|
|
Packit |
8fd333 |
Registers included CIM Providers (libOSProvider.so,
|
|
Packit |
8fd333 |
libDNSProvider.so, … ) in OpenPegasus (which are located in
|
|
Packit |
8fd333 |
src/Providers)
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Providers
|
|
Packit |
8fd333 |
OpenPegasus registers
|
|
Packit |
8fd333 |
Providers using a
|
|
Packit |
8fd333 |
set of provider registration classes
|
|
Packit |
8fd333 |
encoded in MOF. This classes are proprietary to OpenPegasus
|
|
Packit |
8fd333 |
today.
|
|
Packit |
8fd333 |
Registration
|
|
Packit |
8fd333 |
is performed by creating instances of the
|
|
Packit |
8fd333 |
registration classes that represent the provider module, providers,
|
|
Packit |
8fd333 |
capabilities, etc. to be
|
|
Packit |
8fd333 |
registered. The easiest way to create a new
|
|
Packit |
8fd333 |
registration today is to copy from one of the existing registration
|
|
Packit |
8fd333 |
MOFs. See the <big>
|
|
Packit |
8fd333 |
style="font-family: Courier New,Courier,monospace;">pegasus/src/Providers/sample/Load</big>
|
|
Packit |
8fd333 |
directory for examples of
|
|
Packit |
8fd333 |
several registration instance implementations that do work with
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
today.
|
|
Packit |
8fd333 |
Registration may be performed by creating
|
|
Packit |
8fd333 |
compiling the registration mof with either the on-line or off-line
|
|
Packit |
8fd333 |
Pegasus mof compiler. It is recommended that providers be
|
|
Packit |
8fd333 |
registered with the on-line compiler because this allows pegasus to
|
|
Packit |
8fd333 |
validate the registration information.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Building on Linux
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
To build OpenPegasus on Linux, ensure that you you have the necessary
|
|
Packit |
8fd333 |
environment
|
|
Packit |
8fd333 |
variables set (eg. PEGASUS_HOME, PEGASUS_ROOT,
|
|
Packit |
8fd333 |
PEGASUS_PLATFORM).
|
|
Packit |
8fd333 |
For
|
|
Packit |
8fd333 |
32 bit Linux, the definition of PEGASUS_PLATFORM is normally
|
|
Packit |
8fd333 |
LINUX_IX86_GNU. For 64 bit IX86 Linux the
|
|
Packit |
8fd333 |
definition
|
|
Packit |
8fd333 |
of
|
|
Packit |
8fd333 |
PEGASUS_PLATFORM is normally LINUX_IX86_64_GNU. Use the g++
|
|
Packit |
8fd333 |
compiler to compile and link the executables. All of the supported
|
|
Packit |
8fd333 |
platform
|
|
Packit |
8fd333 |
definitions are defined in <big>
|
|
Packit |
8fd333 |
style="font-family: Courier New,Courier,monospace;">pegasus/mak</big>
|
|
Packit |
8fd333 |
as make files with the
|
|
Packit |
8fd333 |
definition:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
style="font-family: monospace;">
|
|
Packit |
8fd333 |
platform_<operatingSystem>_<architecture>_<compiler>
|
|
Packit |
8fd333 |
The
|
|
Packit |
8fd333 |
<operatingSystem>_<architecture>_<compiler>
|
|
Packit |
8fd333 |
component is what forms the PEGASUS_PLATFORM environment variable so
|
|
Packit |
8fd333 |
that the
|
|
Packit |
8fd333 |
appropriate platform make file can be found during the build process.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
about Building on Windows
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Use of Windows 2000 SP3 or later is recommended. OpenPegasus
|
|
Packit |
8fd333 |
is
|
|
Packit |
8fd333 |
regularly tested on mulitple windows platforms.
|
|
Packit |
8fd333 |
We build OpenPegasus
|
|
Packit |
8fd333 |
on Windows
|
|
Packit |
8fd333 |
using a set of Makefiles
|
|
Packit |
8fd333 |
contained
|
|
Packit |
8fd333 |
in the source distribution, the Microsoft compilers (DevStudio 5.x is
|
|
Packit |
8fd333 |
not supported, Visual Studio 6.0 (SP5) or later is supported) and the
|
|
Packit |
8fd333 |
GNUMAKE
|
|
Packit |
8fd333 |
make utility. Note that you MUST have the OpenPegasus
|
|
Packit |
8fd333 |
href="#mu_utility">mu.exe utility compiled and
|
|
Packit |
8fd333 |
available
|
|
Packit |
8fd333 |
before trying to compile OpenPegasus on the normal windows platform
|
|
Packit |
8fd333 |
(This utility allows use of unix command line semantics for certain
|
|
Packit |
8fd333 |
operations in windows).
|
|
Packit |
8fd333 |
The
|
|
Packit |
8fd333 |
following is the basic setup steps for the environment.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Setup the environment
|
|
Packit |
8fd333 |
variables and path
|
|
Packit |
8fd333 |
for the Micrososft Visual C
|
|
Packit |
8fd333 |
compiler.
|
|
Packit |
8fd333 |
Typically this can be done by running the VCVARS32.BAT file supplied
|
|
Packit |
8fd333 |
with Microsoft Visual C++. (contained in the same directory as cl.exe).
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
For Windows, try the
|
|
Packit |
8fd333 |
following for an
|
|
Packit |
8fd333 |
example environment:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
REM call the standard Microsoft .bat for VC 6 setup.
|
|
Packit |
8fd333 |
style="font-family: monospace;">call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat'
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM Set debug to something if you want to compile in debug mode
|
|
Packit |
8fd333 |
style="font-family: monospace;">set PEGASUS_DEBUG=true
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM set PEGASUS_ROOT to top of source tree
|
|
Packit |
8fd333 |
style="font-family: monospace;">set PEGASUS_ROOT=C:/cimom/pegasus
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM (Note:
|
|
Packit |
8fd333 |
style="font-family: monospace;" class="norm">The '/' characters are intentional and required by the OpenPegasus build system). REM Also the disk designator (C:) is required for at least some newer versions of the Microsoft REM compilers to avoid confusion between options and paths
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM set PEGASUS_HOME to where you want repository and executables, it can be the same as PEGASUS_ROOT
|
|
Packit |
8fd333 |
style="font-family: monospace;">set PEGASUS_HOME=%PEGASUS_ROOT%
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM set PEGASUS_PLATFORM for Windows
|
|
Packit |
8fd333 |
style="color: rgb(255, 0, 0); font-family: monospace;">
|
|
Packit |
8fd333 |
style="font-family: monospace;">set PEGASUS_PLATFORM=WIN32_IX86_MSVC
|
|
Packit |
8fd333 |
style="font-family: monospace;">REM setup the path to the runtime files.
|
|
Packit |
8fd333 |
style="font-family: monospace;">set path=%path%;%PEGASUS_HOME%\bin
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
The MU Utility
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
In order to provide a consistent build structure across multiple
|
|
Packit |
8fd333 |
platforms, we
|
|
Packit |
8fd333 |
developed a utility to provide a consistent set of functions across
|
|
Packit |
8fd333 |
these platforms. The MU utility is a simple utility that
|
|
Packit |
8fd333 |
contains
|
|
Packit |
8fd333 |
many
|
|
Packit |
8fd333 |
commands. For example:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
<font face="Courier New">
|
|
Packit |
8fd333 |
</font>C:\>
|
|
Packit |
8fd333 |
mu rm myfile.cpp yourfile.cpp
|
|
Packit |
8fd333 |
You may type "mu" to get a
|
|
Packit |
8fd333 |
list of valid
|
|
Packit |
8fd333 |
commands. Here are some
|
|
Packit |
8fd333 |
of them:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
The MU utility supports
|
|
Packit |
8fd333 |
globing
|
|
Packit |
8fd333 |
(expansion of wildcards) so
|
|
Packit |
8fd333 |
you can do things like this:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
<font face="Courier New"> </font>
|
|
Packit |
8fd333 |
style="font-family: monospace;">
|
|
Packit |
8fd333 |
C:\> mu rm *.obj *.exe
|
|
Packit |
8fd333 |
MU is required to build
|
|
Packit |
8fd333 |
under the Windows
|
|
Packit |
8fd333 |
environment. MU is
|
|
Packit |
8fd333 |
available as part
|
|
Packit |
8fd333 |
of the distribution of OpenPegasus.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
NOTE:
|
|
Packit |
8fd333 |
The binary for
|
|
Packit |
8fd333 |
MU.EXE is not
|
|
Packit |
8fd333 |
distributed in the OpenPegasus bin
|
|
Packit |
8fd333 |
directory.
|
|
Packit |
8fd333 |
You must build it separately. MU source code is part of the
|
|
Packit |
8fd333 |
distribution
|
|
Packit |
8fd333 |
in the directory src/utils/MU with its own make file. You must compile
|
|
Packit |
8fd333 |
MU
|
|
Packit |
8fd333 |
before you initiate the OpenPegasus make. A copy of the binary is made
|
|
Packit |
8fd333 |
available as a zip file on the OpenPegasus
|
|
Packit |
8fd333 |
href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools
|
|
Packit |
8fd333 |
web page.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Building with SSL
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
To build with SSL you need the OpenSSL libraries and header files. They
|
|
Packit |
8fd333 |
are NOT distributed with OpenPegasus. Make sure you have them in a
|
|
Packit |
8fd333 |
standard
|
|
Packit |
8fd333 |
directory so OpenPegasus can find them. If that's not
|
|
Packit |
8fd333 |
the case, set the environment variable OPENSSL_HOME= to point where
|
|
Packit |
8fd333 |
your OpenSSL
|
|
Packit |
8fd333 |
installation is (refer to PEP 292
|
|
Packit |
8fd333 |
for more details on build variables).
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
You
|
|
Packit |
8fd333 |
must also have the PEGASUS_HAS_SSL environment variable defined. Then
|
|
Packit |
8fd333 |
when you
|
|
Packit |
8fd333 |
build
|
|
Packit |
8fd333 |
OpenPegasus, it
|
|
Packit |
8fd333 |
will include the SSL support.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Refer to the OpenPegasus
|
|
Packit |
8fd333 |
SSL Guide
|
|
Packit |
8fd333 |
(found in doc/PegasusSSLGuidelines.htm)
|
|
Packit |
8fd333 |
for details on
|
|
Packit |
8fd333 |
using OpenPegasus with SSL,
|
|
Packit |
8fd333 |
creating SSL certificates, etc.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Testing an OpenPegasus Installation
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
OpenPegasus includes an extensive set of test facilities as part of the
|
|
Packit |
8fd333 |
CVS
|
|
Packit |
8fd333 |
environment, including:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Test Clients - There are several
|
|
Packit |
8fd333 |
clients that have been
|
|
Packit |
8fd333 |
built specifically to test OpenPegasus, or parts of OpenPegasus,
|
|
Packit |
8fd333 |
including
|
|
Packit |
8fd333 |
TestClient, Client, cimcli, ipinfo,
|
|
Packit |
8fd333 |
osinfo, wbemexec,
|
|
Packit |
8fd333 |
etc. See the
|
|
Packit |
8fd333 |
src/Clients directory for more information. These programs require a
|
|
Packit |
8fd333 |
running CIM Server with a
|
|
Packit |
8fd333 |
complete repository. Note that some of
|
|
Packit |
8fd333 |
these tests use classes and instances that are only installed with the
|
|
Packit |
8fd333 |
"make testrepository" target including: test namespaces, extra
|
|
Packit |
8fd333 |
classes and instances in those namespaces, and additional sample and
|
|
Packit |
8fd333 |
test providers.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Sample and Test Providers -
|
|
Packit |
8fd333 |
Test providers exist
|
|
Packit |
8fd333 |
for
|
|
Packit |
8fd333 |
the major provider types in the src/Providers/sample
|
|
Packit |
8fd333 |
and src/Providers/TestProviders directories.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Unit Tests - Most OpenPegasus
|
|
Packit |
8fd333 |
functions include unit
|
|
Packit |
8fd333 |
tests
|
|
Packit |
8fd333 |
for
|
|
Packit |
8fd333 |
the functions. These are normally executed with the "make
|
|
Packit |
8fd333 |
unittests"
|
|
Packit |
8fd333 |
top-level target, or "make tests"
|
|
Packit |
8fd333 |
which can be executed at many different levels of the source
|
|
Packit |
8fd333 |
tree. Usually the unit test functions can be found
|
|
Packit |
8fd333 |
in test
|
|
Packit |
8fd333 |
directories immediately below their corresponding source code
|
|
Packit |
8fd333 |
(i.e Common/tests contains the unit test
|
|
Packit |
8fd333 |
functions for the Common
|
|
Packit |
8fd333 |
directory). Unit tests are executed with the CIM Server shutdown and
|
|
Packit |
8fd333 |
normally do not require the existence of class definitions in the
|
|
Packit |
8fd333 |
repository.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
End-to-end Test Suite - the directory
|
|
Packit |
8fd333 |
"test" contains
|
|
Packit |
8fd333 |
a
|
|
Packit |
8fd333 |
set of operation
|
|
Packit |
8fd333 |
tests that cover the major CIM Operations. See
|
|
Packit |
8fd333 |
TestMakefile in the PEGASUS_ROOT directory to execute
|
|
Packit |
8fd333 |
these tests. This set of tests executes an extensive set of
|
|
Packit |
8fd333 |
fixed
|
|
Packit |
8fd333 |
tests and compares the results against predefined results.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Once OpenPegasus is
|
|
Packit |
8fd333 |
successfully built, the tests can be executed through the
|
|
Packit |
8fd333 |
root Makefile
|
|
Packit |
8fd333 |
with targets such as:
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
make unittests - Execute the unit
|
|
Packit |
8fd333 |
tests. These do not depend on having a running server or repository
|
|
Packit |
8fd333 |
installed. They test components of the OpenPegasus code.
|
|
Packit |
8fd333 |
These tests run to completion if successful but normally stop on the
|
|
Packit |
8fd333 |
first error found by a test program.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
make servertests - Executes the
|
|
Packit |
8fd333 |
OpenPegasus end-to-end test suite against a running OpenPegasus server
|
|
Packit |
8fd333 |
starting and stopping the server as required to modify configuration
|
|
Packit |
8fd333 |
parameters. The repository must be installed for these tests to execute
|
|
Packit |
8fd333 |
and they are tested against the default repository as part of regular
|
|
Packit |
8fd333 |
OpenPegasus development and release testing. These tests will run to
|
|
Packit |
8fd333 |
successful completion if there are not errors detected but will
|
|
Packit |
8fd333 |
normally stop on the first error. There is a subset of these
|
|
Packit |
8fd333 |
tests that can be run in an environment that does not have root
|
|
Packit |
8fd333 |
privileges but root privileges are required to run the complete suite.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
make alltests - execute both the
|
|
Packit |
8fd333 |
unit and end-to-end tests.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
ICU (International
|
|
Packit |
8fd333 |
Components for
|
|
Packit |
8fd333 |
Unicode) refers to the set of
|
|
Packit |
8fd333 |
libraries that OpenPegasus uses to run with globalization support. For
|
|
Packit |
8fd333 |
example, these
|
|
Packit |
8fd333 |
libraries are used
|
|
Packit |
8fd333 |
to
|
|
Packit |
8fd333 |
load messages in different languages, format currency and numbers
|
|
Packit |
8fd333 |
according to
|
|
Packit |
8fd333 |
a specific locale etc. In order to enable globalization, OpenPegasus
|
|
Packit |
8fd333 |
must be built with ICU enabled, ie. the right environment variables
|
|
Packit |
8fd333 |
must be
|
|
Packit |
8fd333 |
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
|
|
Packit |
8fd333 |
pegasus/docs
|
|
Packit |
8fd333 |
directory for details.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
When users run "make
|
|
Packit |
8fd333 |
servertests"
|
|
Packit |
8fd333 |
to verify the integrity of an OpenPegasus download, a series of tests
|
|
Packit |
8fd333 |
are
|
|
Packit |
8fd333 |
run that
|
|
Packit |
8fd333 |
require the CIM Server to be running. These tests currently depend on
|
|
Packit |
8fd333 |
specific
|
|
Packit |
8fd333 |
messages returned from the CIM Server. When ICU is enabled, all
|
|
Packit |
8fd333 |
messages
|
|
Packit |
8fd333 |
come from the resource bundles and these usually do not match the
|
|
Packit |
8fd333 |
hardcoded default messages within OpenPegasus. These hardcoded default
|
|
Packit |
8fd333 |
messages are what the various test programs expect in order to complete
|
|
Packit |
8fd333 |
successfully. If the ICU-enabled CIM Server is started without
|
|
Packit |
8fd333 |
disabling message loading from the bundles, "make servertests"
|
|
Packit |
8fd333 |
will
|
|
Packit |
8fd333 |
fail.
|
|
Packit |
8fd333 |
In order to run "make servertests"
|
|
Packit |
8fd333 |
successfully with ICU enabled, an
|
|
Packit |
8fd333 |
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must be
|
|
Packit |
8fd333 |
defined
|
|
Packit |
8fd333 |
prior to
|
|
Packit |
8fd333 |
starting OpenPegasus. Once
|
|
Packit |
8fd333 |
this is defined, when OpenPegasus starts,
|
|
Packit |
8fd333 |
all
|
|
Packit |
8fd333 |
messages generated will be the default hardcoded messages. This will
|
|
Packit |
8fd333 |
enable
|
|
Packit |
8fd333 |
"make servertests"
|
|
Packit |
8fd333 |
to complete successfully. Once "make
|
|
Packit |
8fd333 |
servertests"
|
|
Packit |
8fd333 |
is
|
|
Packit |
8fd333 |
complete, you should stop OpenPegasus and
|
|
Packit |
8fd333 |
then undefine
|
|
Packit |
8fd333 |
PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
|
|
Packit |
8fd333 |
OpenPegasus
|
|
Packit |
8fd333 |
will not be able to load messages
|
|
Packit |
8fd333 |
using ICU resource bundles.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
When
|
|
Packit |
8fd333 |
running the "make unittests"
|
|
Packit |
8fd333 |
command with ICU enabled, the PEGASUS_MSG_HOME
|
|
Packit |
8fd333 |
environment variable must be set to the home directory where the ICU
|
|
Packit |
8fd333 |
resource bundles are built. By default the resource bundles are built
|
|
Packit |
8fd333 |
into directories below PEGASUS_HOME/msg, so that should be the setting
|
|
Packit |
8fd333 |
for PEGASUS_MSG_HOME.<font style="color: rgb(0, 0, 0);">
|
|
Packit |
8fd333 |
</font>
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
Licensed to The Open Group (TOG) under one or more contributor
|
|
Packit |
8fd333 |
license
|
|
Packit |
8fd333 |
agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
|
Packit |
8fd333 |
this work for additional information regarding copyright ownership.
|
|
Packit |
8fd333 |
Each contributor licenses this file to you under the OpenPegasus Open
|
|
Packit |
8fd333 |
Source License; you may not use this file except in compliance with the
|
|
Packit |
8fd333 |
License.
|
|
Packit |
8fd333 |
Permission is hereby granted, free of charge, to any person
|
|
Packit |
8fd333 |
obtaining a
|
|
Packit |
8fd333 |
copy of this software and associated documentation files (the
|
|
Packit |
8fd333 |
"Software"),
|
|
Packit |
8fd333 |
to deal in the Software without restriction, including without
|
|
Packit |
8fd333 |
limitation
|
|
Packit |
8fd333 |
the rights to use, copy, modify, merge, publish, distribute,
|
|
Packit |
8fd333 |
sublicense,
|
|
Packit |
8fd333 |
and/or sell copies of the Software, and to permit persons to whom the
|
|
Packit |
8fd333 |
Software is furnished to do so, subject to the following conditions:
|
|
Packit |
8fd333 |
The above copyright notice and this permission notice shall be
|
|
Packit |
8fd333 |
included
|
|
Packit |
8fd333 |
in all copies or substantial portions of the Software.
|
|
Packit |
8fd333 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
|
Packit |
8fd333 |
KIND, EXPRESS
|
|
Packit |
8fd333 |
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
Packit |
8fd333 |
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
Packit |
8fd333 |
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
Packit |
8fd333 |
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
Packit |
8fd333 |
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
Packit |
8fd333 |
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Packit |
8fd333 |
|
|
Packit |
8fd333 |
</body>
|
|
Packit |
8fd333 |
</html>
|