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

  1 h.sterling 1.9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 karl       1.11.2.1 <html><head>
  3                     
  4                     
  5 karl       1.11.2.3 
  6                     
  7 karl       1.11.2.1 <link rel="stylesheet" href="PEP_251_Draft_251_Readme_Version_1_2_files/info1margins.css">
  8                     
  9 karl       1.11.2.3   <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
 10 dave.sudlik 1.10       <meta name="ProgId" content="FrontPage.Editor.Document">
 11 karl        1.11.2.1   <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>OpenPegasus</title>
 12                      
 13 karl        1.11.2.3 			<script language="javascript" src="PEP_251_Draft_251_Readme_Version_1_2_files/js.htm"></script></head><body>
 14 h.sterling  1.9      <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
 15 karl        1.11.2.3 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b></b><br>
 16 dave.sudlik 1.10     </p>
 17 karl        1.11.2.1 <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 18                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus 
 19 karl        1.11.2.3 Release 2.5.1 and subsequent 2.5 minor releases Readme file</p>
 20 karl        1.11.2.1 <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 21                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span style="color: rgb(0, 0, 0);">
 22 karl        1.11.2.3 1.3<br>
 23 dave.sudlik 1.10     </span></p>
 24 karl        1.11.2.1 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 20th March 2006</p>
 25                      <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 26                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Martin Kirk<br>
 27                      </p>
 28                      <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 29                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>Draft</p>
 30                      <p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
 31 h.sterling  1.9      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
 32 karl        1.11.2.1 <table bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;" border="1" cellspacing="1" width="100%">
 33 dave.sudlik 1.10       <tbody>
 34                          <tr>
 35                            <th bgcolor="#cae6ca">Version</th>
 36                            <th bgcolor="#cae6ca">Date</th>
 37                            <th bgcolor="#cae6ca">Author</th>
 38                            <th bgcolor="#cae6ca">Change Description</th>
 39                          </tr>
 40                          <tr>
 41                            <td align="center">1.0</td>
 42 karl        1.11.2.1       <td align="center">March 20th 2006</td>
 43                            <td align="center">Martin Kirk</td>
 44                            <td>First draft, basically unchanged from 2.5 ReadMe except for version 
 45                      		numbers and typos</td>
 46 dave.sudlik 1.10         </tr>
 47                          <tr>
 48 karl        1.11.2.1       <td style="vertical-align: top;" align="center">1.1</td>
 49                            <td style="vertical-align: top; text-align: center;">March 23rd 2006</td>
 50                            <td style="vertical-align: top; text-align: center;">Martin Kirk</td>
 51                            <td style="vertical-align: top; text-align: center;">
 52                      		<p style="text-align: left;">Draft for ballot incorporating draft 1.0 
 53                      		comments.</p></td>
 54 dave.sudlik 1.10         </tr>
 55                          <tr>
 56 karl        1.11.2.1       <td style="vertical-align: top;" align="center">1.2</td>
 57                            <td style="vertical-align: top;" align="center">March 26th 2006</td>
 58                            <td style="vertical-align: top;" align="center">Martin Kirk</td>
 59 karl        1.11.2.3       <td style="vertical-align: top;">Draft for Steering Committee approval. 
 60                            Approved</td>
 61 dave.sudlik 1.10         </tr>
 62                          <tr>
 63 karl        1.11.2.3       <td style="vertical-align: top; color: rgb(0, 0, 0);" align="center">1.3</td>
 64                            <td style="vertical-align: top; color: rgb(0, 0, 0);">
 65                            <p align="center">July 12th 2006</td>
 66                            <td style="vertical-align: top; color: rgb(0, 0, 0);">
 67                            <p align="center">Karl Schopmeyer</td>
 68                            <td style="vertical-align: top; color: rgb(0, 0, 0);">Update to Reflect 
 69                            that it applies to subsequent 2.5 minor releases. <font color="#FF0000">
 70                            (Note Approved)</font></td>
 71 dave.sudlik 1.10         </tr>
 72                          <tr>
 73 karl        1.11.2.1       <td style="vertical-align: top;" align="center">&nbsp;</td>
 74                            <td style="vertical-align: top;">&nbsp;</td>
 75                            <td style="vertical-align: top;">&nbsp;</td>
 76                            <td style="vertical-align: top;">&nbsp;</td>
 77 dave.sudlik 1.10         </tr>
 78                        </tbody>
 79 h.sterling  1.9      </table>
 80                      <hr>
 81 dave.sudlik 1.10     <p><b>Abstract:</b>&nbsp; Installation, build, operation information on
 82 karl        1.11.2.3 the OpenPegasus Version 2.5.1 Release and subsequent minor releases. Note that if this readme
 83 dave.sudlik 1.10     conflicts with the documentation in the release notes or interface
 84                      definition documents for a particular release, those documents should
 85 karl        1.11.2.1 be considered authoritative. This is a simplified overview to act as an
 86 dave.sudlik 1.10     introduction to OpenPegasus.</p>
 87 h.sterling  1.9      <hr>
 88 dave.sudlik 1.10     <p align="center"><b><font size="5">OpenPegasus - A Manageability
 89                      Services Broker for the DMTF CIM/WBEM Standards
 90                      </font></b></p>
 91                      <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
 92                      DMTF CIM objects written in C++
 93                      and hosted by The Open Group </p>
 94                      <p align="left">
 95 karl        1.11.2.3 <b>STATUS:</b> Revised July 2006 for&nbsp; Pegasus release version 2.5.1 and 
 96                      subsequent releases&nbsp; - Draft<font color="#FF0000"> (Change to Architecture 
 97                      Team Approved)</font><br>
 98 dave.sudlik 1.10     </p>
 99                      <a href="#Overview">Overview</a>
100 karl        1.11.2.1 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> 
101 h.sterling  1.9        <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
102 karl        1.11.2.1   	<a href="#cmnd">Commands</a><br>
103 h.sterling  1.9        <a href="#docs">Documentation</a><br>
104 dave.sudlik 1.10       <a href="#part">How to Participate</a><br>
105 h.sterling  1.9      </blockquote>
106 karl        1.11.2.1 <a href="#inst_peg">Installing Pegasus</a>
107                      <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a href="#download">
108                      	Obtain Pegasus in Source Code or Binary Executable Format</a><br>
109                        	<a href="#peg_dep">Verify Dependencies</a><br>
110                        <a href="#set_envt_var">Set the environment variables</a></blockquote>
111                      <a href="#build_peg">Building Pegasus</a><blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
112                      <a href="#note_bld_peg_lnx">Building Pegasus on Linux</a><br>
113                      <a href="#note_bld_peg_ssl">Building Pegasus with SSL</a><br>
114                      <a href="#bld_peg_win">Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>
115                        <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a href="#mu_utility">The MU Utility</a><br>
116 dave.sudlik 1.10       </blockquote>
117 h.sterling  1.9      </blockquote>
118 karl        1.11.2.1 <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
119                      <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
120 dave.sudlik 1.10     <a href="#test">Test the Pegasus installation</a><br>
121 karl        1.11.2.1 <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a href="#test_icu">Testing with ICU enabled</a></blockquote>
122                      <a href="#sec0">Security Considerations</a><br>
123 h.sterling  1.9      <hr>
124                      <h1><a name="Overview">Overview</a> </h1>
125 dave.sudlik 1.10     <b>OpenPegasus (also referred to as Pegasus):</b>
126                      Pegasus is an open-source CIM Server for DMTF CIM objects. It is
127                      written
128                      in C++ and includes the Object manager (CIMOM), a set of defined
129                      interfaces, an implementation of the CIMOperations over HTTP operations
130                      and their cimxml HTTP encodings, and Interface libraries
131                      for both client and providers. It is maintained
132                      consistent with the DMTF CIM and WBEM specifications except for&nbsp;
133                      exceptions
134                      noted in the documentation.<br>
135                      <br>
136                      <span class="norm"></span>OpenPegasus includes components for: <br>
137                      <ol>
138                        <li>DMTF compliant CIMServer that processes CIM operations, CIM
139                      Indications, and
140                      includes class and instance repositories and interfaces for creating
141                      CIM
142                      Providers and CIM Clients.</li>
143 karl        1.11.2.1   <li>Provider interfaces so that providers may be developed in multiple
144 dave.sudlik 1.10     languages (i.e.
145                      C++, C, Java).</li>
146 karl        1.11.2.1   <li>A number of CIM clients and providers for basic instrumentation.</li>
147                      	<li>A number of CIM server administration commands.</li>
148                        <li>A MOF compiler.</li>
149                        <li>A number of sample CIM clients and providers to provide usage examples,</li>
150                      	<li>CIM server test functions providing both unit tests and end-to-end 
151                      	system tests.</li>
152 dave.sudlik 1.10       <li>More complete information on the exact functions
153                      and their functional state is available from the release notes for each
154                      OpenPegasus release.</li>
155                      </ol>
156                      OpenPegasus is open source and is covered under the MIT open-source
157                      license.
158 karl        1.11.2.1 OpenPegasus is being developed and maintained under the auspices of The Open 
159                      Group.&nbsp; OpenPegasus is maintained under the license defined in <font style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
160 dave.sudlik 1.10     This licensing is intended to support as
161                      wide a
162 karl        1.11.2.1 distribution as possible with minimal demands on the users.<br>
163 dave.sudlik 1.10     <br>
164 karl        1.11.2.1 More information on this project, access to the CVS, and
165                      documentation on
166                      Pegasus are available from the OpenGroup WEB site - &nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.openpegasus.org/">http://www.openpegasus.org</a><br>
167                      <h4><a name="peg_sup_plat">Pegasus Supported Platforms</a></h4>
168 dave.sudlik 1.10     <p>
169                      Pegasus is regularly tested against a variety of platforms by the
170                      development group.&nbsp; The results of the nightly tests can be found
171 karl        1.11.2.1 here: <a href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
172 dave.sudlik 1.10     test status</a> .&nbsp; The Release notes provides additional details
173 karl        1.11.2.1 regarding the platforms.&nbsp;
174 karl        1.11.2.3 PEP 249 is the Release Notes PEP for 2.5.x.<br>
175 dave.sudlik 1.10     </p>
176 karl        1.11.2.1 <h4><a name="cmnd">Commands</a></h4>
177                      <p></p>The manpages for each of the commands can be found in the Pegasus source
178                      tree in the pegasus/rpm/manLinux/ directory.<p></p>
179                      <p>To see simple help for a command, invoke it with the "--help" option.</p>
180                      <p><font face="Verdana">Here is a list of useful
181                      commands:</font></p>
182                      <span style="font-weight: bold;" class="norm"></span><span style="font-family: times new roman; font-weight: bold;"><span class="norm"></span></span><span style="font-weight: bold;">Some of
183 dave.sudlik 1.10     the basic commands:</span>
184 h.sterling  1.9      <br>
185 dave.sudlik 1.10     NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
186                      for
187                      more information about administering the Pegasus CIMServer.<br>
188 h.sterling  1.9      <ul>
189 dave.sudlik 1.10       <li>cimserver daemon=true&nbsp; (Start the server
190                      cimserver)</li>
191                        <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
192                        <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
193                      with
194                      config flags)</li>
195                        <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
196                        <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
197                      OperatingSystem provider)</li>
198 karl        1.11.2.1   <li>cimuser -a -u guest -w &lt;ThePassword&gt; (Adds the user <span style="font-style: italic;">guest</span> with specified password)<br>
199 h.sterling  1.9        </li>
200 dave.sudlik 1.10       <li>cimuser -l&nbsp; (Lists the users )<br>
201 h.sterling  1.9        </li>
202 dave.sudlik 1.10     </ul>
203                      Note:&nbsp; there are some differences between windows and other
204                      platforms in
205                      starting the server as a daemon/service. Whereas most supported
206                      platforms use
207                      the configuration option daemon to start the server as a service, on
208                      windows it
209                      must be specifically installed as a service (ex. cimserver -install)
210                      and then
211 karl        1.11.2.1 started as a service (cimserver -start). The cimserver --help option
212 dave.sudlik 1.10     explains the
213 karl        1.11.2.1 exact format of the start and stop options.<h4><a name="docs">Pegasus Documentation</a></h4>
214                      <p>Much of Pegasus
215 dave.sudlik 1.10     is documented in the PEGASUS PEPs which are the basis for approval of
216                      Pegasus functionality, changes, plans, etc.&nbsp; These documents are
217 karl        1.11.2.1 openly available on the PEGASUS web site.&nbsp;The current documentation is
218 dave.sudlik 1.10     maintained both as a manual created
219                      under the tool DOC++ in the runtime subdirectory manual/html (see
220                      doc/devManual to create), as an api document also creatable from the
221                      source tree (see doc/apidoc) and as other miscellaneous documentation
222                      in the doc directory. Also there is a set of release notes. Normally
223                      the release notes for the current release are available in the root
224                      source directory of CVS.</p>
225                      <p>Note that the Pegasus WEB site at The Open Group will be the source
226                      of most
227                      documentation in the future and today is the source of most discussion
228                      and
229                      design documentation. </p>
230 karl        1.11.2.1 <h4><a name="part">How to Participate</a></h4>
231 dave.sudlik 1.10     <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors
232                      are welcome to participate in the OpenPegasus development effort. Join
233 karl        1.11.2.1 the mailing list by visiting <a href="http://www.openpegasus.org/">http://www.openpegasus.org</a> and clicking on
234                      Mailing Lists. Joining the pegasus-l mailing list will provide a login/password 
235                      for the website.</font></p>
236 dave.sudlik 1.10     <h1>
237 karl        1.11.2.1 <a name="inst_peg">Installing Pegasus</a> </h1>
238                      <h4><a name="download">Obtain Pegasus in Source Code or Binary Executable Format</a></h4>
239                      <h2></h2>
240                      <h2></h2>
241 h.sterling  1.9      <ol>
242 karl        1.11.2.1 Pegasus can be obtained via any of the following:<br>
243                        <ol>
244                          <li>Released tarballs (see
245                      	<a href="http://www.openpegasus.org/page.tpl?ggid=392">Release
246                      tarballs link</a>)</li>
247                          <li>CVS (See <a href="http://www.openpegasus.org/page.tpl?ggid=667">CVS
248                      code repository</a> for
249                      more information.)</li>
250                          <li>Linux RPMs. See
251                      (<a href="http://www.openpegasus.org/pr">RPM
252                      link</a> for
253                      more information
254                      )</li>
255                        </ol>
256 h.sterling  1.9      </ol>
257 karl        1.11.2.1 <p>NOTE: Linux RPMs are only available for a limited set of releases.
258                      </p>
259                      <p>The distribution is available via CVS and snapshot images in
260                      tar and zip file formats on the web site.
261                      The source code from CVS can be found at the Open Group CVS server - 
262                      cvs.opengroup.org. The source can be checked out anonymously using the 
263                      instructions at <a href="http://www.openpegasus.org/protected/page.tpl?ggid=667">
264                      http://www.openpegasus.org/page.tpl?ggid=667</a></p>
265                      <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
266                      write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
267                      (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
268                      </p>
269                      <p>RPM installation instructions can be found here: <a href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
270                      </p>
271                      <strong></strong>
272 dave.sudlik 1.10     <p></p>
273 karl        1.11.2.1 <h4><a name="peg_dep">Verify Dependencies</a></h4>
274 dave.sudlik 1.10     <p>
275 karl        1.11.2.1 We have worked to minimize the dependence of Pegasus on other software
276                      packages and tools. Currently Pegasus has the following dependencies:
277 dave.sudlik 1.10     </p>
278 karl        1.11.2.1 <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
279                      multiple platforms we
280                      have standardized on a set of build tools including: GNUMAKE. We are
281                      using GNUMAKE 3.79.1 successfully both in Windows and Linux
282                      environments.
283 dave.sudlik 1.10     </p>
284 karl        1.11.2.1 <p>GNUMAKE is available from :</p>
285                      <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.gnu.org/">http://www.gnu.org</a>
286                      </p>
287                      <p><b>2. FLEX and BISON</b> - These tools were used to develop the
288                      MOF
289                      compiler and WQL
290                      parser.&nbsp; <span class="norm"></span><font style="color: rgb(0, 0, 0);">These tools are required only for
291                      development of the parsers, not for building Pegasus.</font></p>
292                      <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
293                      combination of text files
294                      and the Pegasus header files themselves. This documentation is
295                      formatted with DOC++ and GAWK.&nbsp;&nbsp; <span class="norm"></span><font style="color: rgb(0, 0, 0);">These tools are required to build the
296                      interface documentation set.</font>
297                      </p>
298                      <p><b>4. ICU Internationalization libraries</b> - These libraries are
299                      used as the basis for message catalogs for message
300                      internationalization. See the ICU website
301                      (http://oss.software.ibm.com/icu/) for more information on these
302                      libraries</p>
303                      <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
304                      is intended to use SSL on the
305 karl        1.11.2.1 communication protocol, the OpenSSL libraries are required.<br>
306                      </p>
307                      <p>&nbsp; NOTE: A set of the required
308                      tools for windows platforms is available on the openpegasus web
309                      site.&nbsp; <a href="http://www.openpegasus.org/pp/uploads/40/Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
310                      <h4><a name="set_envt_var"><strong>Set the Environment
311                      Variables</strong></a></h4>
312                      <p>Before installing or running OpenPegasus, environment variables may
313                      have to be defined or updated.&nbsp; <br>
314                      </p>
315                      <p>PEP 237 contains the list of environment variables and setup necessary
316                      to use OpenPegasus.</p>
317                      <p></p>At a minimum, the following need to be set:<p></p>
318                      <blockquote>
319                      PEGASUS_ROOT=&lt;location of your pegasus source tree&gt;
320                      <br>
321                      PEGASUS_HOME=&lt;location for the built executables, repository, etc&gt;
322                      		
323                      <br>
324                      PEGASUS_PLATFORM=&lt;your platform&gt;
325                      </blockquote>
326 karl        1.11.2.1 <p>For a list of valid 
327                      platforms, enter "make listplatforms" from the root of the Pegasus 
328                      		source tree. <br>
329                      </p>
330                      <h1><a name="build_peg">Building Pegasus</a></h1>
331                      <div>
332                      	<div>
333                      		To accept the default build options and get started quickly, use the</div>
334                      	<div>
335                      		following commands from the root of the Pegasus source tree:</div>
336                      	<br>
337                      &nbsp;<div>
338                      		&nbsp;&nbsp; make build</div>
339                      	<div>
340                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will build the dependencies, any utilities that are needed, 
341                      		all</div>
342                      	<div>
343                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Pegasus and test executable code, and do any necessary setup 
344                      		to</div>
345                      	<div>
346                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the CIM Server.</div>
347 karl        1.11.2.1 	<br>
348                      &nbsp;<div>
349                      		&nbsp;&nbsp; make alltests</div>
350                      	<div>
351                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will run the unit tests, create the repository by compiling 
352                      		in</div>
353                      	<div>
354 karl        1.11.2.3 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the MOF for the default CIM Schema (2.9 for Pegasus 2.5.1 
355                              and 2.5.2), 
356 karl        1.11.2.1 		compile</div>
357                      	<div>
358                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in the MOF for all Pegasus test cases, do any other configuration</div>
359                      	<div>
360                      		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; necessary to run the tests, and then run a large automated test 
361                      		suite</div>
362                      	<div>
363 karl        1.11.2.2 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to verify Pegasus CIM Server functionality.`<p>&nbsp;</p></div>
364 karl        1.11.2.1 	<div>
365                      		There are many variations possible. Refer to PEP 237 for possible build 
366                      		and</div>
367                      	<div>
368                      		run-time configuration options. Enter "make usage" for more information 
369                      		on</div>
370                      	<div>
371                      		make targets that are available for building and testing Pegasus.</div>
372                      </div>
373                      <h4><a name="note_bld_peg_lnx">Building OpenPegasus on Linux </a></h4>
374 dave.sudlik 1.10     <p>
375                      To build OpenPegasus on Linux, ensure that you you have the environment
376                      variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For
377                      32 bit linux, the definition of PEGASUS_PLATFORM is normally
378 karl        1.11.2.1 LINUX_IX86_GNU).<br>
379 dave.sudlik 1.10     </p>
380 karl        1.11.2.1 <h4><a name="note_bld_peg_ssl">Building OpenPegasus with SSL
381                      </a></h4>
382                      <p>
383                      To build with SSL you need the OpenSSL libraries and header files. They
384                      are NOT distributed with OpenPegasus. Make sure you have them in a
385                      standard
386                      directory so OpenPegasus can find them. If that's not
387                      the case, set the environment variable OPENSSL_HOME= to point where
388                      your OpenSSL
389                      installation is.
390                      </p>
391                      <p>Also have the PEGASUS_HAS_SSL=true variable set. Then just run 'make'
392                      in Pegasus
393                      directory and you will have OpenPegasus with SSL enabled. See "Creating
394                      SSL
395                      certificates" below for more information on how to use SSL.
396                      </p>
397                      Refer to the OpenPegasus SSL Guidelines guide found in the doc directory for details on
398                      using OpenPegasus with SSL.<br>
399                      <h4><a name="bld_peg_win">Building OpenPegasus on Windows 2k or Windows XP with Microsoft
400 dave.sudlik 1.10     Visual
401 karl        1.11.2.1 C++ </a></h4>
402 dave.sudlik 1.10     <p>
403                      Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
404                      regularly tested on both Windows 2000 and Windows XP using the
405                      Microsoft compilers.</p>
406                      <p>Today we build OpenPegasus on Windows using a set of make files
407                      contained
408                      in the source distribution, the Microsoft compilers (DevStudio 5.x is
409                      not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE
410 karl        1.11.2.1 make utility.&nbsp; Note that you MUST have the OpenPegasus <a href="#mu_utility">mu.exe </a>utility compiled and available
411 dave.sudlik 1.10     before trying to compile OpenPegasus on the normal windows platform.
412                      The
413                      following is the basic setup steps for the environment.
414                      </p>
415                      <p>Setup the environment variables and path for the Micrososft Visual C
416                      compiler.
417                      Typically this can be done by running the VCVARS32.BAT file supplied
418                      with Microsoft Visual C++. (contained in the same directory as cl.exe).
419                      </p>
420 h.sterling  1.9      <p>For Windows, try the following for an example environment: </p>
421                      <blockquote>
422 karl        1.11.2.1   <pre>REM call the standard Microsoft .bat for VC 6 setup. <br>call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' <br>REM Set debug to something if you want compile in debug mode <br>set PEGASUS_DEBUG=true <br>REM set PEGASUS_ROOT to top of source tree <br>set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre>
423 h.sterling  1.9      </blockquote>
424 karl        1.11.2.1 <h6>
425                      <a name="mu_utility">The MU Utility </a></h6>
426 dave.sudlik 1.10     <p>
427                      In order to provide a consistent build structure across multiple
428                      platforms, we
429                      developed a small utility to provide a consistent set of small
430                      utilities
431                      across these platforms. The MU utility is a simple utility that
432                      contains
433                      many
434                      commands. For example:
435                      </p>
436                      <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
437                      C:\&gt; mu rm myfile.cpp yourfile.cpp </font>
438                      </p>
439                      <p>You may type "mu" to get a list of valid commands. Here are some
440                      of them:
441                      </p>
442                      <p>&nbsp;&nbsp;&nbsp;
443                      rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
444                      </p>
445                      <p>The MU utility supports globing (expansion of wildcards) so
446                      you can do things like this:
447 dave.sudlik 1.10     </p>
448                      <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
449                      C:\&gt; mu rm *.obj *.exe </font>
450                      </p>
451                      <p>MU is required to build under the Windows environment. MU is
452                      available as part
453                      of the distribution of OpenPegasus.<br>
454                      </p>
455                      NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin
456                      directory.
457                      You must build it separately. MU source code is part of the
458                      distribution
459                      in the directory src/utils/MU with its own make file. You must compile
460                      MU
461                      before you initiate the OpenPegasus make.<br>
462                      A copy of the binary is made available as a zip file on the OpenPegasus
463                      WEB site.
464                      <p></p>
465 karl        1.11.2.1 <h1><a name="pop_peg_rep">Populate the Pegasus Repository</a> </h1>
466 dave.sudlik 1.10     <p>
467 karl        1.11.2.1 Before using Pegasus you must populate the repository. Typically, this
468                      is done during the build process when you run the makefile. However,
469                      you
470                      can also do it manually after the Pegasus has been built. </p>
471                      <ol>
472                        <li>Register the MOF (Managed Object Format) file describing the
473                      skeleton of the object. </li>
474                        <li>Register a second MOF which only points out which lib*.so file to
475                      be loaded when a specific object is activated. </li>
476                      </ol>
477                      <p></p>
478                      <p>
479                      The providers included with Pegasus are automatically entered into the
480                      repository
481                      by running the following command: <tt>make repository</tt>
482 dave.sudlik 1.10     </p>
483 karl        1.11.2.1 <p>
484                      The 'make repository' in the&nbsp; pegasus directory does three things:
485 dave.sudlik 1.10     </p>
486 karl        1.11.2.1 <ul>
487                        <li><span class="norm"></span> Removes the existing repository if one
488                      exists.</li>
489                        <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
490                      objects).&nbsp; </li>
491                        <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
492                      schema for CIM Server functions </font>(shutdown, add users, etc) and
493                      CIM indications
494                      (SNMP, Events, Alert, Threshold, etc)
495                      internal to the Pegasus. </li>
496                        <li>Registers included CIM Providers (libOSProvider.so,
497                      libDNSProvider.so, … ) in Pegasus (which are located in
498                      src/Providers)&nbsp; </li>
499                      </ul>
500                      <h1>
501                      <a name="reg_prov">Registering
502                      Providers in the Pegasus Environment</a></h1>
503                      <p>
504                      Pegasus registers providers with a set of provider registration
505                      classes, not using the provider qualifier as is done in most DMTF CIM
506                      CIMOM implementations today. This set of classes is close to but not
507 karl        1.11.2.1 exactly the same as the experimental DMTF definition (See the DMTF
508                      Interop
509                      schema, experimental versions starting with 2.6). This will be
510                      harmonized in the future when the DMTF scheme is moved to final
511                      status.&nbsp; </p>
512                      <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
513                      is performed by creating instances</font> of the
514                      registration classes that represent the provider module, providers,
515                      classes, etc. to be registered.&nbsp; The easiest way to create a new
516                      registration today is to copy from one of the existing registration
517                      MOFs.&nbsp; See the providers/sample/load directory for examples of
518                      several registration instance implementations that do work with
519                      OpenPegasus
520                      today.</p>
521 dave.sudlik 1.10     <h1>
522 karl        1.11.2.1 <a name="test">Testing an OpenPegasus Installation</a></h1>
523 dave.sudlik 1.10     <p>
524                      OpenPegasus includes an extensive set of test facilities as part of the
525                      CVS
526                      environment, including:
527                      </p>
528 h.sterling  1.9      <ul>
529 dave.sudlik 1.10       <li><b>Test Clients</b> - There are several clients that have been
530                      built specifically to test OpenPegasus, or parts of OpenPegasus,
531                      including
532 karl        1.11.2.1 TestClient, Client, CLI, ipinfo, osinfo, wbemexec, etc. See the
533                      	pegasus/src/Clients directory for more information. These programs require a
534 dave.sudlik 1.10     server complete with repository to be running.&nbsp; Note that some of
535                      these tests use classes and instances that are only installed with the
536                      "make testrepository" functions including test namespaces and extra
537                      classes and instances in those namespaces and additional providers from
538 karl        1.11.2.1 the pegasus/Providers/sample and pegasus/Providers/TestProviders directories. </li>
539 dave.sudlik 1.10       <li><b>Sample and test providers</b> -&nbsp; Test providers exist for
540 karl        1.11.2.1 the major provider types in the pegasus/Providers/sample directories and the 
541                      	pegasus/Providers/TestProviders directory </li>
542 dave.sudlik 1.10       <li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests
543                      for
544                      the functions.&nbsp; These are normally executed with the "make tests"
545                      command which can be executed at many different levels of the source
546                      tree from the top level to execute all of the unit tests to individual
547                      directories.&nbsp; Usually the unit test functions can be found in test
548                      directories immediately below their corresponding source code
549                      (i.e&nbsp; common/tests is the unit test functions for the common
550                      directory). Unit tests are executed without the server being
551                      operational and normally do not require the existence of a Class
552                      repository. </li>
553                        <li><b>An end-to-end Test Suite</b> - the directory "test" contains a
554                      set of operations tests that cover the major CIM operations.&nbsp; See
555                      the make file TestMakefile in the PEGASUS_ROOT directory to execute
556                      these tests.&nbsp; This set of tests executes an extensive set of fixed
557                      tests and compares the results against predefined results.</li>
558 h.sterling  1.9      </ul>
559 karl        1.11.2.1 <h4><a name="test_icu">Testing with ICU enabled</a></h4>
560 dave.sudlik 1.10     <p>ICU (International Components for Unicode) refers to the set of
561                      libraries that OpenPegasus uses to run globalized. For example: these
562                      libraries are used
563                      to
564                      load messages in different languages, format currency and numbers
565                      according to
566                      a specific locale etc. In order to enable globalization in OpenPegasus,
567                      OpenPegasus
568                      must be built with ICU enabled, ie. the right environment variables
569                      must be
570                      set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
571                      docs
572                      directory for details.<br>
573                      </p>
574                      <p>&nbsp;When users run "make poststarttests"
575                      to verify the integrity of a OpenPegasus download, a series of tests
576                      are
577                      run that
578                      require the cimserver to be running. These tests currently depend on
579                      specific
580                      messages returned from the server. When ICU is enabled, all messages
581 dave.sudlik 1.10     come from the resource bundles and these usually do not match the
582                      hardcoded default messages within OpenPegasus. These hardcoded default
583                      messages are what the various test programs expect in order to complete
584                      successfully. If the ICU enabled server is started without
585                      disabling message loading from the bundles, "make poststartests" will
586                      fail.
587                      In order to run "make poststarttests" successfully with ICU enabled, an
588                      environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
589                      prior to
590                      starting the server. Once this is defined, when the cimserver starts,
591                      all
592                      messages generated will be the default hardcoded messages. This will
593                      enable
594                      "make poststarttests" to complete successfully. Once "make
595                      poststarttests" is
596                      complete, you should stop the cimserver and then undefine
597                      PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
598                      OpenPegasus
599                      will not be able to load messages
600                      using ICU resource bundles.<br>
601                      </p>
602 dave.sudlik 1.10     <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When
603                      running the make tests command with ICU enabled, the PEGASUS_MSG_HOME
604                      environment variable must be set to the home directory where the ICU
605                      resource bundles are built. By default the resource bundles are built
606                      into directories below PEGASUS_HOME/msg, so that should be the setting
607 karl        1.11.2.1 for PEGASUS_MSG_HOME.</font></p>
608                      <p></p>
609                      <h1>
610                      <a name="sec0">Security Considerations</a></h1>
611                      <p>Some of the steps of installing and running Pegasus have 
612                      security properties that you should be aware of. If you plan to administer a 
613                      Pegasus server, see the 'security considerations' section of the administrators 
614                      guide <pointer>. If you plan to write clients or providers for integration into 
615                      Pegasus, see the developer's security guidance.<br>
616                      </pointer></p>
617                      <hr>
618                      <p><font size="2"><i>Copyright (c) 2006 Hewlett-Packard Development Company, 
619                      L.P.; IBM Corp.;<br>
620                      EMC Corporation; Symantec Corporation; The Open Group.<br>
621 h.sterling  1.9      <br>
622 karl        1.11.2.1 Permission is hereby granted, free of charge, to any person obtaining a copy<br>
623                      of this software and associated documentation files (the "Software"), to<br>
624                      deal in the Software without restriction, including without limitation the<br>
625                      rights to use, copy, modify, merge, publish, distribute, sublicense, and/or<br>
626                      sell copies of the Software, and to permit persons to whom the Software is<br>
627                      furnished to do so, subject to the following conditions:<br>
628                      <br>
629                      THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN<br>
630                      ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED<br>
631                      "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT<br>
632                      LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR<br>
633                      PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br>
634                      HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN<br>
635                      ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION<br>
636                      WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</i></font></p>
637                      <hr>
638                      <p><i><font size="1"><big><big><span style="font-family: arial;">End of Document<br>
639 h.sterling  1.9      </span></big></big></font></i></p>
640 dave.sudlik 1.10     <p><span style="color: rgb(0, 0, 0);"></span> </p>
641 karl        1.11.2.1 
642                      <script language="javascript">postamble();</script>
643                      </body></html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2