(file) Return to README.html CVS log (file) (dir) Up to [Pegasus] / pegasus

  1 dave.sudlik 1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2                 <html>
  3                 <head>
  4                   <meta http-equiv="Content-Language" content="en-us">
  5                   <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
  6                   <meta name="ProgId" content="FrontPage.Editor.Document">
  7                   <meta http-equiv="Content-Type"
  8                  content="text/html; charset=windows-1252">
  9                   <title>OpenPegasus 2.6 README</title>
 10                   <link rel="stylesheet"
 11                  href="http://www.opengroup.org/stylesheets/info1+margins.css">
 12 karl        1.3 	<style>
 13                 <!--
 14                  table.MsoNormalTable
 15                 	{mso-style-parent:"";
 16                 	font-size:10.0pt;
 17                 	font-family:"Times New Roman"}
 18                 -->
 19                 </style>
 20 dave.sudlik 1.1 </head>
 21                 <body>
 22                 <hr>
 23                 <p><b>Abstract:</b>&nbsp; Installation, build, and operation
 24                 information on
 25 karl        1.3 the OpenPegasus Version 2.8.0
 26 dave.sudlik 1.1 Release. Note that if this readme
 27                 conflicts with the documentation in the release notes or interface
 28                 definition documents for a particular release, those documents should
 29                 be considered authoritative. This is a simplified
 30                 overview to act as an
 31                 introduction to OpenPegasus.</p>
 32 karl        1.3 
 33 dave.sudlik 1.1 <hr>
 34                 <p align="center"><b><font size="5">OpenPegasus - A Manageability
 35                 Services Broker for the DMTF CIM/WBEM Standards
 36                 </font></b></p>
 37                 <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
 38                 DMTF CIM objects written in C++
 39                 and hosted by The Open Group </p>
 40                 <a href="#Overview">OpenPegasus Overview</a>
 41                 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 42                  href="#avail_of_peg">Availability</a><br>
 43                   <a href="#peg_sup_plat">Supported Platforms</a><br>
 44                   <a href="#peg_dep">Dependencies</a><br>
 45                   <a href="#cmnd">Commands</a><br>
 46                   <a href="#docs">Documentation</a><br>
 47                   <a href="#part">How to Participate</a><br>
 48                 </blockquote>
 49                 <a href="#inst_peg">Installing OpenPegasus</a>
 50                 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a
 51                  href="#download">Download or Checkout</a><br>
 52                   <a href="#vfy_req_sw">Verify Dependencies</a><br>
 53                   <a href="#set_envt_var">Set the Environment Variables</a><br>
 54 dave.sudlik 1.1   <a href="#bld_peg">Build the Executables</a><br>
 55                   <a href="#pop_peg_rep">Populate the Repository</a><br>
 56                   <a href="#reg_prov">Register Providers</a><br>
 57                   <a href="#note_bld_peg_lnx">Notes
 58                 about Building on Linux</a><br>
 59                   <a href="#bld_peg_win">Notes about Building
 60                 on Windows</a><br>
 61                   <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 62                  href="#mu_utility">The MU Utility</a><br>
 63                   </blockquote>
 64                   <a href="#note_bld_peg_ssl">Notes about
 65                 Building with SSL</a><br>
 66                 </blockquote>
 67                 <a href="#test">Testing an OpenPegasus installation</a><br>
 68                 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 69                  href="#test_icu">Testing with ICU enabled</a><br>
 70                 </blockquote>
 71                 <hr>
 72                 <h1><a name="Overview">OpenPegasus Overview</a> </h1>
 73                 <div style="margin-left: 40px;"><b>OpenPegasus </b>(also referred to
 74                 as <b>Pegasus</b>) is an open-source CIM Server for DMTF CIM objects.
 75 dave.sudlik 1.1 It is
 76                 written
 77                 in C++ and includes the Object manager (CIMOM), a set of defined
 78                 interfaces, an implementation of the CIM Operations over HTTP
 79                 operations
 80                 and their cimxml HTTP encodings, and Interface libraries
 81                 for both clients and providers. It is maintained
 82                 to be compliant with
 83                 the DMTF CIM and WBEM specifications with
 84                 exceptions
 85                 noted in the documentation.<br>
 86                 <br>
 87                 <span class="norm"></span>OpenPegasus includes components for: <br>
 88                 </div>
 89 karl        1.3 <blockquote>
 90                 	<ol style="margin-left: 40px;">
 91                 		<li>A DMTF compliant CIM Server that processes CIM operations, CIM
 92 dave.sudlik 1.1 Indications, and
 93                 includes class and instance repositories and interfaces for creating
 94                 CIM
 95                 Providers and CIM Clients.</li>
 96 karl        1.3 		<li>Provider interfaces so that providers may be build in multiple
 97 dave.sudlik 1.1 languages (i.e.
 98                 C++, C, Java).</li>
 99 karl        1.3 		<li>A number of CIM Providers.</li>
100                 		<li>A MOF compiler.</li>
101                 		<li>A number of CIM Clients to provide usage examples, CIM Server
102 dave.sudlik 1.1 test functions,
103                 and administrative
104                 functions.</li>
105 karl        1.3 		<li>More complete information on the exact functions
106 kumpf       1.2 and their functional state is available from the Release Notes
107 karl        1.3 (pegasus/ReleaseNotes.htm) and the OpenPegasus
108                 		<a
109 dave.sudlik 1.1  href="http://www.openpegasus.org/page.tpl?CALLER=index.tpl&amp;ggid=799">Feature
110                 Status Page</a>.</li>
111 karl        1.3 	</ol>
112                 </blockquote>
113 dave.sudlik 1.1 <div style="margin-left: 40px;">OpenPegasus is open source and is
114                 covered under the MIT open-source
115                 license.
116                 </div>
117                 <p style="margin-left: 40px;">OpenPegasus is being developed and
118                 maintained under the auspices of
119                 The
120                 Open
121                 Group.&nbsp; OpenPegasus is maintained under the license defined in the
122                 doc
123                 directory of this release.&nbsp; The specific file is: <font
124                  style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
125                 This licensing is intended to support as
126                 wide a
127                 distribution as possible with minimal demands on the users.
128                 </p>
129                 <p style="margin-left: 40px;">More information on this project, access
130                 to the CVS, and
131                 documentation<span style="color: rgb(255, 0, 0);"><span
132                  style="text-decoration: line-through;"></span></span> is available
133                 from the Ope<span style="color: rgb(255, 0, 0);"><span
134 dave.sudlik 1.1  style="text-decoration: line-through;"></span></span>nPegasus web
135                 site.
136                 </p>
137                 <p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; <a target="blank"
138                  href="http://www.openpegasus.org/">http://www.openpegasus.org</a><br>
139                 </p>
140                 <p style="margin-left: 40px;">Note
141                 that all references in this readme to files in the OpenPegasus source
142                 tree are of the form pegasus/..., where "pegasus" is the top-level
143 kumpf       1.4 directory and also the name of the OpenPegasus module in the Pegasus CVS
144                 repository. There are also&nbsp; other CVS modules for the OpenPegasus Java client (pegasus-JavaCIMClient)
145                 and for unsupported components and utilities for Pegasus that may be checked out
146 karl        1.3 separately.&nbsp; You can use
147 kumpf       1.4 <a href="http://cvs.opengroup.org/cgi-bin/viewcvs.cgi/">viewCVS</a> to view the
148 karl        1.3 Pegasus CVS tree<br>
149 dave.sudlik 1.1 </p>
150                 <h2><a name="avail_of_peg">Availability</a></h2>
151                 <div style="margin-left: 40px;">OpenPegasus is distributed as open
152                 source under the MIT open-source
153                 license. The distribution is available via CVS, and as snapshot images
154                 in
155                 tar, zip, and (self-extracting) exe
156                 file
157                 formats on the OpenPegasus web site.</div>
158                 <ol style="color: rgb(0, 0, 0);">
159                 OpenPegasus can be obtained via any of the following:<br>
160                   <ol>
161                     <li>Released tarballs (see <a
162                  href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&amp;ggid=392">ZIP/GZ/EXE
163                 link for this release</a>)</li>
164                     <li>CVS (See <a
165                  href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">CVS
166                 code repository</a> for
167                 more information)</li>
168                     <li>Linux RPMs
169                 (see <a
170 dave.sudlik 1.1  href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&amp;ggid=392">RPM
171                 link for this release</a>)</li>
172                   </ol>
173                 </ol>
174                 <p style="margin-left: 40px;"><span class="norm"></span><font
175                  style="color: rgb(0, 0, 0);">CVS
176                 write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
177                 (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
178                 </p>
179                 <h2><a name="peg_sup_plat">Supported Platforms</a></h2>
180                 <p style="margin-left: 40px;">OpenPegasus is regularly tested against a
181                 variety of platforms by the
182                 development group.&nbsp; The results of the nightly tests can be found
183                 here on our <a
184                  href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
185 kumpf       1.2 Build and Test Status</a> page.&nbsp; The Release Notes
186                 (pegasus/ReleaseNotes.htm) provide additional details
187 karl        1.3 regarding the platforms for the current release.<br>
188 dave.sudlik 1.1 </p>
189                 <h2><a name="peg_dep">Dependencies</a></h2>
190                 <p style="margin-left: 40px;">
191                 We have worked to minimize the dependence of OpenPegasus on other
192                 software
193                 packages and tools. Currently OpenPegasus has the following
194                 dependencies:
195                 </p>
196                 <ol style="margin-left: 40px;">
197                   <li><b>GNUMAKE</b> - To simplify the building of OpenPegasus across
198                 multiple platforms we
199                 have standardized on a set of build tools including: GNUMAKE. We are
200                 using GNUMAKE 3.79.1 successfully both in Windows and Linux
201                 environments. It is available from <a href="http://www.gnu.org">http://www.gnu.org</a>.
202 karl        1.3   The windows version&nbsp; of GNUMAKE is available on the Pegasus web site
203                 	<a href="http://www.openpegasus.org/pb/protected/index.tpl?CALLER=index.tpl">
204                 	tools page</a>.</li>
205 kumpf       1.2   <li><b>FLEX</b> and <b>BISON</b> - These tools were used to develop the MOF
206 karl        1.3 compiler and WQL and CQL parsers.&nbsp; These tools are required <b>ONLY</b> for
207 kumpf       1.2 development of the parsers, not for building OpenPegasus.&nbsp; Bison
208                 version 2.3 or later and flex version 2.5.4 or later are required.</li>
209 kumpf       1.4   <li><b>Doxygen </b>- The OpenPegasus documentation is taken from a combination
210                 	of text files and header files themselves. This documentation is formatted
211                 	with Doxygen and GAWK.&nbsp; This is required <b>ONLY</b> if you want to
212 karl        1.3 	build documentation from the source tree.&nbsp; <span class="norm"></span><font
213 dave.sudlik 1.1  style="color: rgb(0, 0, 0);">These tools are required to build the
214                 interface documentation set.</font> </li>
215                   <li><b>ICU Internationalization libraries</b> - These libraries are
216                 used as the basis for message catalogs for message
217                 internationalization. See the ICU website
218                 (<a href="http://icu.sourceforge.net/">http://icu.sourceforge.net</a>)
219                 for more information on these
220 kumpf       1.4 libraries.<span style="color: rgb(255, 0, 0);"> These libraries are use ONLY if
221 karl        1.3 	you set the requisite environment variable ( PEGASUS_HAS_ICU) to use ICU</span><br>
222 dave.sudlik 1.1   </li>
223                   <li><span style="font-weight: bold;"></span><b>OpenSSL </b>- If it
224                 is intended to use SSL on the
225                 communication protocol, the OpenSSL libraries are required (<a
226                  href="http://www.openssl.org">http://www.openssl.org</a>).</li>
227                   <li><span style="font-weight: bold;">OpenSLP</span> - If you choose
228                 to use
229                 OpenSLP as your choice of SLP implementations, then it will need to be
230                 installed and available to OpenPegasus. Refer to the
231                 PEGASUS_USE_OPENSLP and PEGASUS_OPENSLP_HOME build variables in PEP
232 kumpf       1.2 292, and the OpenSLP web site (<a href="http://www.openslp.org">http://www.openslp.org</a>).</li>
233 dave.sudlik 1.1   <li><span style="font-weight: bold;">zlib</span> - If you choose to
234                 enable the compressed repository feature with the
235                 PEGASUS_ENABLE_COMPRESSED_REPOSITORY build variable, you will need to
236                 install the gzip (GNU zip) compression utility. Refer to
237                 readme.compressed_repository in OpenPegasus source tree, and the gzip
238                 web site (<a style="color: rgb(204, 51, 204);"
239                  href="http://www.gzip.org">http://www.gzip.org</a>).<br>
240                   </li>
241                 </ol>
242                 <p style="margin-left: 40px;"><span style="font-weight: bold;">NOTE</span>:
243                 A set of the required
244                 tools for building on the Windows platform is available on the
245                 OpenPegasus <a
246                  href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools</a>
247                 web page.<br>
248                 </p>
249                 <h2><a name="cmnd">Commands</a></h2>
250                 <p style="margin-left: 40px;">
251 kumpf       1.4 Pegasus includes the server which can be controlled from the command line and a
252 karl        1.3 set of clients that provide adminstrative functions</p>
253                 <p style="margin-left: 40px;">
254 dave.sudlik 1.1 The manpages for each of the commands are in the pegasus/rpm/manLinux/
255                 directory (from CVS). </p>
256                 <p style="margin-left: 40px;">To see simple help for each command,
257                 invoke it with the "--help" option.<br>
258                 </p>
259                 <div style="margin-left: 40px;"><span
260                  style="font-family: times new roman;"></span><span
261                  style="font-weight: bold;" class="norm"></span><span
262                  style="font-family: times new roman; font-weight: bold;"><span
263                  class="norm"></span></span><span style="font-weight: bold;">Some of
264                 the basic commands:</span>
265                 <br>
266                 </div>
267                 <ul>
268                   <ul>
269                     <li>cimserver (Start the server
270                 cimserver)</li>
271                     <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
272                     <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
273                 with
274                 config flags)</li>
275 karl        1.3   </ul>
276                 	<ul>
277                 		<li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
278                 		<li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
279 dave.sudlik 1.1 OperatingSystem provider)</li>
280 karl        1.3 		<li>cimuser -a -u guest _w &lt;ThePassword&gt; (Adds the user
281                 		<span
282                  style="font-style: italic;">guest</span> with specified password)<br></li>
283                 		<li>cimuser -l&nbsp; (Lists the users )</li>
284                 		<li>cimconfig -l -c (Lists the
285                 current config options and their current values)<br></li>
286                 	</ul>
287 dave.sudlik 1.1 </ul>
288 karl        1.3 <div style="margin-left: 40px;"><span style="font-weight: bold;">NOTES</span>:
289 dave.sudlik 1.1 <br>
290                 </div>
291 karl        1.3 <blockquote>
292                 	<ol style="margin-left: 40px;">
293                 		<li>Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
294 dave.sudlik 1.1 for
295                 more information about administering the OpenPegasus CIM Server.</li>
296 karl        1.3 		<li>There are some differences between Windows and other
297 dave.sudlik 1.1 platforms in
298                 starting the server as a daemon/service. Whereas most supported
299                 platforms use
300                 the OpenPegasus <span style="font-weight: bold;">daemon</span>
301                 configuration option to start the CIM Server as a daemon, on
302                 Windows it
303                 must be specifically installed as a service (ex. cimserver -install)
304                 and then
305                 started as a service (cimserver -start). The cimserver --help option
306                 explains the
307                 exact format of the start and stop options.</li>
308 karl        1.3 		<li>The cimuser command is used to manage OpenPegasus users only when
309 kumpf       1.4 the CIM Server is compiled without the PEGASUS_PAM_AUTHENTICATION environment
310 karl        1.3 		variable defined. See
311                 		<a href="http://www.openpegasus.org/pp/uploads/40/16781/PEP308_RecommendedReleaseOptions.htm">
312                 		PEP 308</a> for more information on these configuration options.<br></li>
313                 	</ol>
314                 </blockquote>
315 dave.sudlik 1.1 <font><font color="RED"><span style="color: rgb(0, 0, 0);"></span></font></font><span
316                  style="font-family: monospace;"></span>
317                 <h2><a name="docs">Documentation</a></h2>
318                 <p style="margin-left: 40px;"><span
319                  style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>Much
320                 of
321                 OpenPegasus
322                 is documented in the <a
323                  href="http://www.openpegasus.org/pp/index.tpl?CALLER=index.tpl">Pegasus
324                 Enhancement Process (PEPs)</a> which are the basis for approval of
325                 OpenPegasus functionality, changes, plans, etc.&nbsp; The approved PEPs
326                 are publicly available on the OpenPegasus web site.<span
327                  style="color: rgb(255, 0, 0);"><br>
328                 </span></p>
329                 <p style="margin-left: 40px;">Other
330                 documentation available
331                 is an api document (creatable
332                 from the
333                 source tree, see pegasus/doc/apidoc) and other miscellaneous
334                 documentation
335                 in the doc directory. Also, there is a set of Release Notes for each
336 karl        1.3 release in the OpenPegasus root
337 dave.sudlik 1.1 source directory of CVS.</p>
338 karl        1.3 <p style="margin-left: 40px;">The <a
339 dave.sudlik 1.1  href="http://www.openpegasus.org/">OpenPegasus web
340                 site</a> will be the source
341                 of most
342                 documentation in the future, and today is the source of most discussion
343                 and
344                 design documentation. </p>
345                 <h2><a name="part">How to Participate</a></h2>
346                 <p style="margin-left: 40px;"><span class="norm"></span><font
347                  style="color: rgb(0, 0, 0);">Contributors
348                 are welcome to participate in the OpenPegasus development effort. Join
349                 the mailing list by going to the <a
350                  href="http://www.openpegasus.org/mailinglists.tpl?CALLER=index.tpl">Mailing
351                 Lists</a> web page from the OpenPegasus site.</font></p>
352                 <h1>
353                 <a name="inst_peg">Installing OpenPegasus</a> </h1>
354                 <h2><a name="download"></a>Download or Checkout</h2>
355                 <p style="margin-left: 40px;">Refer to the <a href="#avail_of_peg">Availability</a>
356                 section for instructions on obtaining source code.<br>
357                 </p>
358                 <p style="margin-left: 40px;">If you want to install pre-built Pegasus
359                 executables instead of building from source code, then refer to the <a
360 dave.sudlik 1.1  href="http://www.openpegasus.org/pr/">RPM installation instructions</a>.<br>
361                 </p>
362                 <h2><strong><strong><a name="vfy_req_sw"></a>Verify Dependencies</strong></strong><strong><strong><span
363                  style="font-weight: normal;"></span></strong></strong></h2>
364                 <p style="margin-left: 40px;"><strong><strong><span
365                  style="font-weight: normal;">Be</span></strong></strong>fore
366                 you build, install, or run OpenPegasus, be sure you have the proper set
367                 of software
368                 it depends on.&nbsp; Refer to the section <a href="#peg_dep">Dependencies</a>
369                 for
370                 the complete list.<br>
371                 </p>
372                 <strong></strong>
373                 <h2><a name="set_envt_var"><strong>Set the Environment
374                 Variables</strong></a></h2>
375                 <p style="margin-left: 40px;">Before building, installing, or running
376                 OpenPegasus, some environment variables may
377 kumpf       1.2 have to be defined or updated.&nbsp; See PEP 292 for the full list of
378 dave.sudlik 1.1 environment variables and configuration options for OpenPegasus. The
379                 minimum set is:<br>
380                 </p>
381                 <ul>
382                   <ul>
383                     <li>PEGASUS_ROOT -- The directory
384 karl        1.3 containing the OpenPegasus root directory from CVS.</li>
385 dave.sudlik 1.1     <li>PEGASUS_HOME -- The directory
386                 that will contain all output from building and running OpenPegasus, it
387                 can be the same as PEGASUS_ROOT if desired.</li>
388                     <li>PEGASUS_PLATFORM -- The
389                 platform on which OpenPegasus is being built.<br>
390                     </li>
391                   </ul>
392                 </ul>
393                 <h2><a name="bld_peg"></a>Build the Executables<br>
394                 </h2>
395                 <div style="margin-left: 40px;">OpenPegasus
396 kumpf       1.4 is compiled and linked using a make structure that recurses through the&nbsp;
397 karl        1.3 	OpenPegasus source tree.<br>
398 dave.sudlik 1.1 <font><font color="RED"><span
399                  style="color: rgb(0, 0, 0); font-weight: bold;"><br>
400                 Makefile commands
401                 </span></font></font><br>
402                 <div style="margin-left: 40px;"><font><font color="RED"><span
403                  style="color: rgb(0, 0, 0); font-weight: bold;"></span></font></font></div>
404                 <br>
405                 Open<font><font color="RED"><span
406                  style="color: rgb(0, 0, 0); font-weight: bold;"></span></font></font>Pegasus
407                 includes several Makefiles that enable
408                 you to quickly build or
409                 refresh files for the server, clients, providers, test cases, and
410                 repository. To use these Makefiles, type "make" followed by one of the
411                 supplied targets.&nbsp; <br>
412                 <br>
413                 For more information on the
414                 available make targets, enter "make usage" from the PEGASUS_ROOT
415                 directory. A recommended minimum set
416                 to know are:
417                 <br>
418                 <ul>
419 dave.sudlik 1.1   <li>usage -- Explains the
420                 available make targets in some detail.</li>
421                   <li>new -- Clean out all
422                 objects, libs, executables, and the repository.</li>
423                   <li>build -- Builds
424                 dependencies, compiles, links, and installs the server. After this
425                 OpenPegasus is ready to run.</li>
426                   <li>alltests - Builds the
427                 repository entries and other resources required by the tests, and then
428                 executes all automated tests.</li>
429                 </ul>
430                 <font><font color="RED"><span
431                  style="color: rgb(0, 0, 0); font-weight: bold;"></span><span
432                  style="color: rgb(0, 0, 0);">For a comprehensive</span></font></font>
433                 list of&nbsp; the
434                 make targets, refer to pegasus/Makefile
435                 at the top of the OpenPegasus source directory.<font><font color="RED"><span
436                  style="color: rgb(0, 0, 0);"></span></font></font><font
437                  style="text-decoration: line-through; color: rgb(204, 51, 204);"><span
438                  style="font-weight: bold;"></span></font><br>
439                 </div>
440 dave.sudlik 1.1 <ul>
441                 </ul>
442                 <h2><a name="pop_peg_rep">Populate the Repository</a> </h2>
443                 <p style="margin-left: 40px;">
444                 Before using OpenPegasus you must populate the repository. Typically,
445                 this
446                 is done during the build process by the 'make repository' target<span
447                  style="color: rgb(255, 0, 0);"><span
448                  style="text-decoration: line-through;"></span></span>. However,
449                 you
450                 can also compile MOF (Managed Object Format) code manually with the
451                 cimmof compiler.<br>
452                 </p>
453                 <p style="margin-left: 40px;">The 'make repository' target in pegasus<span
454                  style="color: rgb(255, 0, 0);"><span
455                  style="text-decoration: line-through;"></span></span>/Makefile doe<span
456                  style="color: rgb(255, 0, 0);"><span
457                  style="text-decoration: line-through;"></span></span>s several things:
458                 </p>
459                 <ul>
460                   <ul>
461 dave.sudlik 1.1     <li><span style="color: rgb(0, 0, 0);">Removes the existing
462                 repository (if one exists).</span><br>
463                     </li>
464                     <li>Generates the default
465 karl        1.3 CIM Schema (defined in pegasus/mak/config.mak)
466 dave.sudlik 1.1 in the repository (skeleton of CIM
467 kumpf       1.4 objects).&nbsp; Refer to PEGASUS_CIM_SCHEMA environment variable&nbsp; in&nbsp;
468 karl        1.3 	Pegasus PEP 308&nbsp; to set&nbsp; alternate schema versions.<br>
469 dave.sudlik 1.1     </li>
470                     <li>Loads
471                 schema for CIM Server functions (shutdown, add users, etc) and
472                 CIM indications
473                 (SNMP, Events, Alert, Threshold, etc)
474                 internal to Pegasus. </li>
475                     <li>Registers included CIM Providers (libOSProvider.so,
476                 libDNSProvider.so, … ) in OpenPegasus (which are located in
477                 src/Providers) <br>
478                     </li>
479                   </ul>
480                 </ul>
481                 <h2><a name="reg_prov">Register
482                 Providers</a></h2>
483                 <p style="margin-left: 40px;">OpenPegasus registers Providers using a
484                 set of provider registration classes
485                 encoded in MOF. This set of classes is close
486                 to, but not
487                 exactly the same as, the experimental DMTF definition (See the DMTF
488                 Interop
489                 schema, experimental versions starting with 2.6). This will be
490 dave.sudlik 1.1 harmonized in the future when the DMTF schema is moved to final
491                 status.&nbsp; </p>
492                 <p style="margin-left: 40px;">Registration
493                 is performed by creating instances of the
494                 registration classes that represent the provider module, providers,
495                 capabilities, etc. to be
496                 registered.&nbsp; The easiest way to create a new
497                 registration today is to copy from one of the existing registration
498                 MOFs.&nbsp; See the src/Providers/sample/Load directory for examples of
499                 several registration instance implementations that do work with
500                 OpenPegasus
501                 today.</p>
502                 <h2><a name="note_bld_peg_lnx">Notes about
503                 Building on Linux </a></h2>
504                 <p style="margin-left: 40px;">
505                 To build OpenPegasus on Linux, ensure that you you have the necessary
506                 environment
507                 variables set (eg. PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM).&nbsp;
508                 For
509 karl        1.3 32 bit Linux, the definition of PEGASUS_PLATFORM is normally
510 kumpf       1.4 LINUX_IX86_GNU.&nbsp;&nbsp; For 64 bit IX86&nbsp; Linux the definition of
511 karl        1.3 PEGASUS_PLATFORM is normally LINUX_IX86_64_GNU.&nbsp; Use the g++
512 kumpf       1.4 compiler to compile and link the executables. All of the supported platform
513                 definitions are defined in pegasus/mak as&nbsp; make files with the definition
514                 platform_&lt;operatingSystem&gt;_&lt;architecture&gt;_&lt;compiler&gt;. The &lt;operatingSystem&gt;_&lt;architecture&gt;_&lt;compiler&gt;
515                 component is what forms the PEGASUS_PLATFORM environment variable so that the
516 karl        1.3 appropriate platform make file can be found during the build process.<br>
517 dave.sudlik 1.1 </p>
518                 <h2><a name="bld_peg_win">Notes
519                 about Building on Windows </a></h2>
520                 <p style="margin-left: 40px;">
521                 Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
522                 regularly tested on both Windows 2000 and Windows XP using the
523                 Microsoft Visual C++ compilers.</p>
524                 <p style="margin-left: 40px;">Today we build OpenPegasus on Windows
525                 using a set of Makefiles
526                 contained
527                 in the source distribution, the Microsoft compilers (DevStudio 5.x is
528                 not supported, Visual Studio 6.0 (SP5) or later is supported) and the
529                 GNUMAKE
530                 make utility.&nbsp; Note that you MUST have the OpenPegasus <a
531                  href="#mu_utility">mu.exe </a>utility compiled and available
532                 before trying to compile OpenPegasus on the normal windows platform.
533                 The
534                 following is the basic setup steps for the environment.
535                 </p>
536                 <p style="margin-left: 40px;">Setup the environment variables and path
537                 for the Micrososft Visual C
538 dave.sudlik 1.1 compiler.
539                 Typically this can be done by running the VCVARS32.BAT file supplied
540                 with Microsoft Visual C++. (contained in the same directory as cl.exe).
541                 </p>
542                 <p style="margin-left: 40px;">For Windows, try the following for an
543                 example environment: </p>
544                 <blockquote>
545                   <pre style="margin-left: 40px;">REM call the standard Microsoft .bat for VC 6 setup. <br>call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' <br>REM Set debug to something if you want to compile in debug mode <br>set PEGASUS_DEBUG=true <br>REM set PEGASUS_ROOT to top of source tree <br>set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span
546                  class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables, it can be the same as PEGASUS_ROOT<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM set PEGASUS_PLATFORM for Windows<br
547                  style="color: rgb(255, 0, 0);">set PEGASUS_PLATFORM=WIN32_IX86_MSVC<br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre>
548                 </blockquote>
549                 <h3>
550                 <a name="mu_utility">The MU Utility </a></h3>
551                 <p style="margin-left: 40px;">
552                 In order to provide a consistent build structure across multiple
553                 platforms, we
554                 developed a utility to provide a consistent set of functions across
555                 these platforms. The MU utility is a simple utility that
556                 contains
557                 many
558                 commands. For example:
559 dave.sudlik 1.1 </p>
560                 <p style="margin-left: 40px;"><font face="Courier New">&nbsp;&nbsp;&nbsp;
561                 C:\&gt; mu rm myfile.cpp yourfile.cpp </font>
562                 </p>
563                 <p style="margin-left: 40px;">You may type "mu" to get a list of valid
564                 commands. Here are some
565                 of them:
566                 </p>
567                 <p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp;
568                 rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
569                 </p>
570                 <p style="margin-left: 40px;">The MU utility supports globing
571                 (expansion of wildcards) so
572                 you can do things like this:
573                 </p>
574                 <p style="margin-left: 40px;"><font face="Courier New">&nbsp;&nbsp;&nbsp;
575                 C:\&gt; mu rm *.obj *.exe </font>
576                 </p>
577                 <p style="margin-left: 40px;">MU is required to build under the Windows
578                 environment. MU is
579                 available as part
580 dave.sudlik 1.1 of the distribution of OpenPegasus.<br>
581                 </p>
582                 <div style="margin-left: 40px;">NOTE: The binary for MU.EXE is not
583                 distributed in the OpenPegasus bin
584                 directory.
585                 You must build it separately. MU source code is part of the
586                 distribution
587                 in the directory src/utils/MU with its own make file. You must compile
588                 MU
589                 before you initiate the OpenPegasus make. A copy of the binary is made
590                 available as a zip file on the OpenPegasus <a
591                  href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools</a>
592                 web page.<br>
593                 </div>
594                 <h2><a name="note_bld_peg_ssl">Notes about
595                 Building with SSL
596                 </a></h2>
597                 <p style="margin-left: 40px;">
598                 To build with SSL you need the OpenSSL libraries and header files. They
599                 are NOT distributed with OpenPegasus. Make sure you have them in a
600                 standard
601 dave.sudlik 1.1 directory so OpenPegasus can find them. If that's not
602                 the case, set the environment variable OPENSSL_HOME= to point where
603                 your OpenSSL
604 kumpf       1.2 installation is (refer to PEP 292
605 dave.sudlik 1.1 for more details on build variables).<br>
606                 </p>
607                 <p style="margin-left: 40px;">You
608 karl        1.3 must also have the PEGASUS_HAS_SSL environment variable defined. Then when you
609 dave.sudlik 1.1 build
610                 OpenPegasus, it
611                 will include the SSL support.
612                 </p>
613                 <div style="margin-left: 40px;">Refer to the OpenPegasus SSL Guide
614                 (found in doc/PegasusSSLGuidelines.htm)
615                 for details on
616                 using OpenPegasus with SSL,
617                 creating SSL certificates, etc.<br>
618                 </div>
619                 <h1>
620                 <a name="test">Testing an OpenPegasus Installation</a></h1>
621                 <p style="margin-left: 40px;">
622                 OpenPegasus includes an extensive set of test facilities as part of the
623                 CVS
624                 environment, including:
625                 </p>
626                 <ul>
627                   <ul>
628                     <li><b>Test Clients</b> - There are several clients that have been
629                 built specifically to test OpenPegasus, or parts of OpenPegasus,
630 dave.sudlik 1.1 including
631                 TestClient, Client, cimcli, ipinfo,
632                 osinfo, wbemexec,
633                 etc. See the
634                 src/Clients directory for more information. These programs require a
635                 running CIM Server with a
636                 complete repository.&nbsp; Note that some of
637                 these tests use classes and instances that are only installed with the
638                 "make testrepository" target including: test namespaces, extra
639                 classes and instances in those namespaces, and additional sample and
640                 test providers.<span
641                  style="color: rgb(255, 0, 0); text-decoration: line-through;"></span> </li>
642                     <li><b>Sample and Test Providers</b> -&nbsp; Test providers exist
643                 for
644                 the major provider types in the src/Providers/sample
645                 and src/Providers/TestProviders directories. </li>
646                     <li><b>Unit Tests</b> - Most OpenPegasus functions include unit
647                 tests
648                 for
649                 the functions.&nbsp; These are normally executed with the "make
650                 unittests"
651 dave.sudlik 1.1 top-level target, or "make tests"
652                 which can be executed at many different levels of the source
653                 tree.&nbsp; Usually the unit test functions can be found
654                 in test
655                 directories immediately below their corresponding source code
656                 (i.e&nbsp; Common/tests contains the unit test
657                 functions for the Common
658                 directory). Unit tests are executed with the CIM Server shutdown and
659                 normally do not require the existence of class definitions in the
660                 repository. </li>
661 karl        1.3     <li><b>End-to-end Test Suite</b> - the directory "test" contains
662 dave.sudlik 1.1 a
663                 set of operatio<span
664                  style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>n
665                 tests that cover the major CIM Operations.&nbsp; See<span
666                  style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>
667                 TestMakefile in the PEGASUS_ROOT directory to execute
668                 these tests.&nbsp; This set of tests executes an extensive set of fixed
669                 tests and compares the results against predefined results.</li>
670                   </ul>
671                 </ul>
672 kumpf       1.4 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Once OpenPegasus is
673                 successfully built, the&nbsp; tests can be executed through the root Makefile
674 karl        1.3 with targets such as:</p>
675                 <blockquote>
676                 	<blockquote>
677                 		<ul>
678 kumpf       1.4 			<li><b>make unittests </b>- Execute the unit tests. These do not depend
679                 			on having a running server or repository installed.&nbsp; They test
680                 			components of the OpenPegasus code. These tests run to completion if
681                 			successful but normally stop on the first error found by a test
682 karl        1.3 			program.</li>
683 kumpf       1.4 			<li><b>make servertests</b> - Executes the OpenPegasus end-to-end test
684                 			suite against a running OpenPegasus server starting and stopping the
685                 			server as required to modify configuration parameters. The
686                 			repository must be installed for these tests to execute and they are
687                 			tested against the default repository as part of regular OpenPegasus
688                 			development and release testing. These tests will run to successful
689                 			completion if there are not errors detected but will normally stop
690                 			on the first error.&nbsp; There is a subset of these tests that can
691                 			be run in an environment that does not have root privileges but root
692 karl        1.3 			privileges are required to run the complete suite.</li>
693                 			<li><b>make alltests</b> - execute both the unit and end-to-end tests.</li>
694                 		</ul>
695                 	</blockquote>
696                 </blockquote>
697 dave.sudlik 1.1 <h2><a name="test_icu">Testing with ICU enabled</a></h2>
698                 <p style="margin-left: 40px;">ICU (International Components for
699                 Unicode) refers to the set of
700                 libraries that OpenPegasus uses to run with globalization support. For
701                 example, these
702                 libraries are used
703                 to
704                 load messages in different languages, format currency and numbers
705                 according to
706                 a specific locale etc. In order to enable globalization, OpenPegasus
707                 must be built with ICU enabled, ie. the right environment variables
708                 must be
709                 set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
710                 pegasus/docs
711                 directory for details.<br>
712                 </p>
713                 <p style="margin-left: 40px;">When users run "make servertests"
714                 to verify the integrity of an OpenPegasus download, a series of tests
715                 are
716                 run that
717                 require the CIM Server to be running. These tests currently depend on
718 dave.sudlik 1.1 specific
719                 messages returned from the CIM Server. When ICU is enabled, all
720                 messages
721                 come from the resource bundles and these usually do not match the
722                 hardcoded default messages within OpenPegasus. These hardcoded default
723                 messages are what the various test programs expect in order to complete
724                 successfully. If the ICU-enabled CIM Server is started without
725                 disabling message loading from the bundles, "make servertests"
726                 will
727                 fail.
728                 In order to run "make servertests"
729                 successfully with ICU enabled, an
730                 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must be
731                 defined
732                 prior to
733                 starting OpenPegasus. Once
734                 this is defined, when OpenPegasus starts,
735                 all
736                 messages generated will be the default hardcoded messages. This will
737                 enable
738                 "make servertests"
739 dave.sudlik 1.1 to complete successfully. Once "make
740                 servertests"
741                 is
742                 complete, you should stop OpenPegasus and
743                 then undefine
744                 PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
745                 OpenPegasus
746                 will not be able to load messages
747                 using ICU resource bundles.<br>
748                 </p>
749                 <p style="margin-left: 40px;">When
750                 running the "make unittests"
751                 command with ICU enabled, the PEGASUS_MSG_HOME
752                 environment variable must be set to the home directory where the ICU
753                 resource bundles are built. By default the resource bundles are built
754                 into directories below PEGASUS_HOME/msg, so that should be the setting
755                 for PEGASUS_MSG_HOME.<font style="color: rgb(0, 0, 0);"><br>
756                 </font></p>
757                 <hr>
758 martin      1.5 <p>Licensed to The Open Group (TOG) under one or more contributor license
759                 agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
760                 this work for additional information regarding copyright ownership.
761                 Each contributor licenses this file to you under the OpenPegasus Open
762                 Source License; you may not use this file except in compliance with the
763                 License.</p>
764                 <p>Permission is hereby granted, free of charge, to any person obtaining a
765                 copy of this software and associated documentation files (the "Software"),
766                 to deal in the Software without restriction, including without limitation
767                 the rights to use, copy, modify, merge, publish, distribute, sublicense,
768                 and/or sell copies of the Software, and to permit persons to whom the
769                 Software is furnished to do so, subject to the following conditions:</p>
770                 <p>The above copyright notice and this permission notice shall be included
771                 in all copies or substantial portions of the Software.</p>
772                 <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
773                 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
774                 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
775                 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
776                 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
777                 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
778                 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
779 dave.sudlik 1.1 <hr>
780                 </body>
781                 </html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2