1 karl 1.11
2 OpenPegasus - A Manageability Services Broker for the DMTF CIM/WBEM Standards
|
3 karl 1.1
|
4 mike 1.3 Author: Mike Brasher, Karl Schopmeyer
5
|
6 karl 1.11 Tagline: OpenPegasus is an object manager for DMTF CIM objects written in C++
|
7 karl 1.5 and supported by The Open Group
|
8 karl 1.4
|
9 karl 1.14 STATUS: Revised October 2003 to match Pegasus release 2.3
|
10 karl 1.15
11 NOTE: Obsolete. See readme.html
|
12 karl 1.11 Contents:
|
13 mike 1.7 =========
14
|
15 karl 1.11 1. Overview
16 2. Availability of Pegasus
17 3. Pegasus major components
18 4. Pegasus Dependencies
19 5. The Pegasus Directory Structure
20 6. Installation
21 7. Building Pegasus
22 8. Populate the Repository
23 9. The MU Utility
24 10. Notes about Building Pegasus on Linux
25 11. Notes on building Pegasus with SSL
26 12. Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++
27 13. Installing the Pegasus HTML Test Client
28 14. Development with Pegasus and Pegasus Tools
29 15. Commands
30 16. Creating SSL certifications.
|
31 humberto 1.13 17. Testing with ICU enabled
32 18. Documentation
33 19. Participate
|
34 karl 1.11
35
36
37
38 1. Overview:
39 ============
40
41 OpenPegasus (also refered to as Pegasus):
42
|
43 karl 1.5 Pegasus is an open-source object manager for DMTF CIM objects. It is written
44 in C++ and includes the Object manager, a set of defined interfaces, and SDKs
45 for both client, providers, and services extensions. It is maintained
46 consistent with the DMTF CIM and WBEM specifications except for any exceptions
47 noted in the documentation.
|
48 karl 1.1
49 This distribution represents a work in progress towards building a Pegasus
|
50 mike 1.3 release. Pegasus is open source and is covered under the following license.
|
51 karl 1.1 This version is incomplete and is directed towards evaluators and developers
52 of the Pegasus Architecture.
53
54 Pegasus is being developed and maintained under the auspices of The Open
55 Group. Pegasus is maintained under the license defined in the doc directory
56 (LICENSE) of this release. This licensing is intended to support as wide a
57 distribution as possible with minimal demands on the users.
58
|
59 karl 1.11 This distribution represents a snapshot of the current work. Currently Pegasus
|
60 karl 1.1 is in phase 1 of a multiphase development project. This snapshot is primarily
61 for developers and for evaluation of the project.
62
|
63 mike 1.3 More information on this project, access to the CVS, and documentation on
64 Pegasus are available from the OpenGroup WEB site.
|
65 karl 1.1
66 There are separate files in the release for
67
|
68 karl 1.11 History of releases - HISTORY
69 What's new for this release - WHATSNEW
70 What's Broken - BUGS
|
71 karl 1.1
72 In addition, the roadmap for Pegasus and further information on the project is
73 available on The Opengroup Pegasus WEB Site.
74
|
75 karl 1.11 http://www.openpegasus.org
76
77
78 2. Availability of Pegasus:
79 ============================
80
81 Pegasus is distributed as open source. The distribution is available via
82 CVS and snapshot images in tar and zip file formats.
83
84 The source code from CVS can be found at the following Open Group CVS server;
85
86 cvs.opengroup.org:/cvs/MSB
87
88 using the password authenticating server option (pserve).
89
90 Anonymous access for read is with the name and password "anon" as follows:
91
92 %export CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB
93 %cvs login
94
95 When requested, enter the password "anon"
|
96 karl 1.1
|
97 karl 1.11 The source tree is in the directory pegasus. To check out the complete Pegasus
98 source tree just type:
|
99 karl 1.1
|
100 karl 1.11 cvs co pegasus
|
101 karl 1.1
|
102 karl 1.11 A Pegasus directory will be created under the current directory and populated
103 with the complete source tree and documentation. To get the latest updates
104 after a checkout just type this from Pegasus root:
|
105 karl 1.1
|
106 karl 1.11 cvs update -d
|
107 mike 1.3
108
|
109 karl 1.11 Active contributors to Pegasus have write access to the CVS repository.
110 If you are interested in contributing back to the Pegasus project,
111 (i.e. write (checkin) access to CVS) please request access from either
112 Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer (k.schopmeyer@opengroup.org).
|
113 karl 1.1
|
114 karl 1.11
115 3. Pegasus Major Components:
116 =============================
|
117 mike 1.3
|
118 karl 1.1 The major components of Pegasus are:
119
|
120 mike 1.3 Pegasus Server - WBEM/CIM Server with interfaces for providers and clients
|
121 karl 1.1
|
122 karl 1.5 Pegasus Repositories - Today Pegasus provides a defined class repository
123 interface and a simple file based class repository. It also includes
124 an instance repository. Note that these repository were created for
125 functionality, not efficieny. It is expected that they will be replaced
|
126 karl 1.11 with other implementations of the respository function as the need arises.
|
127 mike 1.3
|
128 karl 1.4 Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus
129 C++ interfaces and using the WBEM HTTP/XML protocols or directly
|
130 mike 1.3 interfacing with Pegasus.
131
|
132 karl 1.4 Pegasus Test Clients - Simple test clients being developed as part of the
|
133 mike 1.3 Pegasus development process
134
|
135 karl 1.4 Pegasus HTML Test Client - To aid in testing we created a test client for
136 Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and
137 HTML to allow the entry of Pegasus operations from a WEB browser as forms
|
138 karl 1.11 and the receipt of the response as WEB pages. This has proven useful as a
|
139 mike 1.3 test tool and can be used for a wide variety of demonstrations.
|
140 karl 1.1
|
141 karl 1.11 Pegasus Provider SDK - Tools for building Pegasus providers using the Pegasus
|
142 karl 1.5 C++ interfaces.
143
|
144 karl 1.11 Pegasus Providers - Providers to illustrate the use of Pegasus services including
145 providers for test and demonstration.
|
146 karl 1.1
|
147 karl 1.11 Pegasus Service Extensions - Common services for use by other Pegasus
148 components to extend Pegasus capabilites.
|
149 karl 1.1
|
150 karl 1.5 Pegasus MOF Compiler - FA standalone compiler for MOF files that can be used
|
151 karl 1.11 to install MOF into the Pegasus schema repository and also to check syntax.
152 There is also a tool to extract the MOF from the repository.
|
153 karl 1.1
|
154 karl 1.11
155 4. Pegasus Dependencies:
156 =========================
|
157 karl 1.1
158 We have worked to minimize the dependence of Pegasus on other software
|
159 karl 1.11 packages and tools. Currently Pegasus has the following dependencies:
|
160 karl 1.1
|
161 mike 1.7 1. GNUMAKE - To simplify the building of Pegasus across multiple platforms we
162 have standardized on a set of build tools including: GNUMAKE. We are using
|
163 kumpf 1.12 GNUMAKE 3.79.1 successfully both in Windows and Linux environments.
|
164 karl 1.1
|
165 mike 1.7 GNUMAKE is available from
|
166 karl 1.1
167 http://www.gnu.org
168
|
169 mike 1.7
|
170 karl 1.11 2. MU.EXE - To minimize the difference between Linux and Windows for GNUMAKE,
|
171 mike 1.7 we have created a utility called MU.exe. This utility is required for
|
172 karl 1.11 Pegasus make with ONLY Windows environment. It is provided as an alternative to
|
173 mike 1.7 requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform
174 and effectively provides the functions of these utilities that GNUMAKE
175 needs. MU is not required on UNIX or LINUX platforms.
176
177 NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.
178 You must build it separately. MU source code is part of the distribution
179 in the directory src/utils/MU with its own make file. You must compile MU
180 before you initiate the Pegausu make.
181
|
182 karl 1.11 NOTE: A copy of the binary is made available as a zip file on the Pegasus
183 WEB site.
184
185 Again, MU is used ONLY if you are using Windows.
186
|
187 mike 1.7
|
188 karl 1.11 3. FLEX and BISON - These tools were used to develop the MOF compiler and WQL
189 parser. Anybody intending to recompile the compiler or parser from scratch
190 will be required to have these tools. They are only required if changes need
191 to be made to the files for parsing and compiling.
|
192 mike 1.7
193 4. DOC++ - The Pegasus documentation is taken from a combination of text files
194 and the Pegasus header files themselves. This documentation is formatted
195 with DOC++ and GAWK. These tools are required if the documentation is to
196 be recreated but we expect that only the core team will be recreating
197 documentaiton.
|
198 mike 1.3
|
199 karl 1.11
200 5. The Pegasus Directory Structure
201 ===================================
|
202 karl 1.1
|
203 karl 1.4 Pegasus is distributed as a complete directory structure that should be
|
204 mike 1.3 installed either from one of the snapshots or from CVS.
|
205 karl 1.1
206 This structure is generally as follows
|
207 mike 1.3
|
208 karl 1.4 Pegasus Pegasus Root directory
|
209 karl 1.5
210 cgi Source for the Pegasus WEB Based Test client
|
211 karl 1.11 cgi-bin CGI Directories for WEB demonstration.
212 This directory is normally empty but can
213 be populated from the runtime with the make
214 from cgi.
215 htdocs HTML Pages for Pegasus WEB emonstration
|
216 karl 1.5 doc Miscellaneous Pegasus Documents.
|
217 karl 1.11 DevManual Source and build files for developers' manual
|
218 karl 1.4 mak General make files (used by other makes)
|
219 karl 1.1 src All Pegasus Source Files
|
220 karl 1.14 ACEExample Test directrory with examples of the use of ACE (obsolete).
|
221 karl 1.11 Clients Source for various test clients and client SDK
|
222 karl 1.4 CGICLIENT Pegasus test client that uses a WEB browser
|
223 karl 1.14 JAVA Java Client support modules
|
224 karl 1.1 Pegasus
|
225 karl 1.4 Client Pegasus Client API Tests
|
226 karl 1.1 depends
227 tests
228 Common Pegasus Common Functions (C++ source and headers
229 tests Test programs for the common functions
|
230 karl 1.14 Compiler Pegasus MOF compiler
231 Config TBD
232 Consumer TBD
233 ControlProvidersImplementation of Pegasus internal providers
234 ExportClient TBD
235 ExportServer TBD
236 Handler TBD
237 HandlerService TBD
238 IndicationService TBD
239 Listener TBD
|
240 karl 1.1 Protocol Pegasus Client HTTP/XML Protocol Modules
241 depends
|
242 karl 1.11 Provider Pegasus Provider interface functions
|
243 karl 1.14 ProviderManager Provider Manager service that manages providers
244 ProviderManager2Pluggable Provider Manager service
|
245 karl 1.11 Repository Pegasus Repository Interfaces and Simple Repository
|
246 karl 1.1 tests Tests for Repository Functions
|
247 karl 1.14 Security TBD
|
248 karl 1.1 Server Pegasus Server Modules
|
249 karl 1.14 WQL TBD
|
250 karl 1.11 Providers Pegasus test and required providers
|
251 karl 1.14 generic TBD this and following
252 IndicationConsumer
253 Linux
254 ManaedSystem
255 slp
256 statistic
257 sample
258 testproviders
259
260 Server Pegasus executable build
261 slp
262 StandardIncludes
263 tools MU and other utilities written for Pegasus support
264 Unsupported Code that is made available but is not supported or included
265 in the normal make.
266 WMIMapper Pegasus implementation that implements mapping to Microsoft
267 WMI objects.
|
268 karl 1.5
269 Runtime Directories
|
270 karl 1.11 $PEGASUS_HOME$ Home directory for runtime. All compiler, linker
|
271 karl 1.5 documentation creation, etc. is put here.
|
272 karl 1.11 bin Destination for executable and DLL modules from
273 Pegasus build
274 Manual HTML output of the Pegasus Manual
275 lib Destination for Pegasus LIB modules
276 obj Destination for object modules
277 repository This Directory contains the created repository
|
278 karl 1.5
|
279 karl 1.1
|
280 karl 1.11 6. Installation
281 ================
|
282 karl 1.1
|
283 karl 1.11 Pegasus today is provided only as a source distribution.
|
284 karl 1.1
|
285 karl 1.11 To install Pegasus, you must check it out using CVS (Common Version System)
286 or download the snapshot. You download, compile, and use it.
287
288 For the snapshot, the installation of Pegasus involves expanding the snapshot
289 distribution files, building the runtime, the test files and test clients, and
290 building the repository.
|
291 karl 1.1
|
292 karl 1.4
|
293 karl 1.11 7. Building Pegasus
294 =====================
|
295 mike 1.7
296 1. Check that you have requisite programs (listed in Pegasus Dependencies).
297
|
298 karl 1.11 These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex
299 and Bison only required if changes will be made to the MOF compiler or WQL
300 parser).
|
301 mike 1.7
302 Be sure these are on your path.
303
|
304 karl 1.11
305 2. Define the following three environment variables:
306
307 PEGASUS_ROOT - this should be the "pegasus" directory you've pulled from CVS
|
308 mike 1.7
309 PEGASUS_HOME - to point to a directory to contain output binary files
|
310 karl 1.11 (e.g., set it to $HOME/pegasus_home). Then the output will go into
311 $HOME/pegasus_home/bin and $HOME/pegasus_home/lib
|
312 mike 1.7
313 PEGASUS_PLATFORM - this must be set to a supported platform identifier.
314
|
315 karl 1.11 This identifier has the following form:
316
317 <Operating-System>_<Architecture>_<Compiler>
|
318 mike 1.7
|
319 karl 1.11 For example (Linux on IA32 platform using the GNU Compiler):
320 LINUX_IX86_GNU
321
322 For a complete list, refer to the platform_ make files found in directory
323 pegasus/mak
|
324 mike 1.7
325
326 Note: if you plan on doing parallel builds, you might consider setting
327 PEGASUS_HOME to something like this:
328
|
329 karl 1.11 $HOME/pegasus_home_LINUX_IX86_GNU
|
330 mike 1.7
331 That way, the output of each build will be placed in its own directory.
332
333 3. Now place $PEGASUS_HOME/bin on your path
334
335 and
336
|
337 karl 1.11 Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).
338 For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib
|
339 mike 1.7
|
340 karl 1.11 4. Change to the root of the Pegasus distrubution and type "make"
341 (where make refers to GNU make).
|
342 karl 1.1
|
343 karl 1.11 5. Then create the repository, which is needed to serve data.
|
344 mike 1.9 "make repository"
345
346 6. To test the build type "make tests".
|
347 karl 1.1
|
348 mike 1.7 The following make targets are supported:
|
349 karl 1.1
|
350 mike 1.7 <default> - Build everything.
351 clean - Clean out all objects, libs, and executables.
352 depend - Create the dependencies.
|
353 mike 1.9 repository - Create the repository in $PEGASUS_HOME/repository
|
354 mike 1.7 tests - Execute all tests (except client server tests).
355 rebuild - clean, depend, <default>
356 world - depend, <default>
|
357 karl 1.1
|
358 karl 1.4 The Pegasus Client server tests are executed separately from the above because
359 they require the initiation of separate process for the Pegasus server and
|
360 karl 1.11 Pegasus client. To execute these tests please refer to the scripts in
361 pegasus/mak/BuildMakefile - refer to the prestarttests and poststarttests.
|
362 karl 1.1
|
363 karl 1.4 For information on particular installation characteristics, tools, etc. for
|
364 karl 1.6 each platform see the appropriate sections below:
|
365 karl 1.1
366 Generally the build commands are as follows:
367
|
368 karl 1.6 1. There is a Makefile in the Pegasus root directory. Simply executing
|
369 karl 1.11 make in the Pegasus root directory will make everything. "make rebuild"
|
370 karl 1.6 will clean and rebuild everything. The "make rebuild" will also populate
371 the repository with the current CIM Schemas.
|
372 karl 1.1
|
373 karl 1.6 2. To test a fresh release, go to the pegasus root and type
|
374 karl 1.1
|
375 karl 1.11 "make world".
|
376 karl 1.1
377
|
378 karl 1.6 This will build dependencies, build binaries, and then run all
|
379 karl 1.4 tests except the Client/Server tests.
|
380 karl 1.1
|
381 karl 1.6 3. To execute the basic test suite that is shipped with pegasus type
|
382 karl 1.1
|
383 karl 1.11 "make tests". This also reintalls the repository.
|
384 karl 1.1
|
385 karl 1.4 Running "make -s tests" suppresses extraneous output such as the
386 enter/leave directory messages.
|
387 karl 1.1
|
388 karl 1.11 4. "make clean" removes all object and library files from the structure.
389
390
391 5. A new build system has been added to Pegasus where a new CVS checkout is done,
392 built, and tests are run. Do it by: "make -f mak/BuildMakefile cleanbuild"
393
394
395 8. Populate the Repository
396 ===========================
397
398 Before using Pegasus you must populate the repository with the providers. The makefile
399 does it all for you, but in case you are wondering what it does or how to do it
400 manually:
401
402 1. Register the MOF (Managed Object Format) file describing the skeleton of the object.
403 2. Register a second MOF which only points out which lib*.so file to be loaded when a
404 specific object is activated.
405
406 This is done automatically for the providers included in Pegasus by doing:
407 make repository.
408
409 karl 1.11 The 'make repository' in pegasus/Schemas does three things
410 Runs MOF compiler (cimmofl) on:
411 -Schema v2.7
412 Generates the CIM Schema v2.7 in the repository (skeleton of CIM objects)
413 -PG_InterOp
414 Internal to Pegasus schema for operating (shutdown, add users, etc)
415 CIM_Indication’s (SNMP, Events, Alert, Threshold, etc)
416 -PG_ManagedSystem
417 Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … )
418 in Pegasus (which are located in src/Providers)
419
420 For more information about using the MOF compiler, refer to user's manual on the
421 openpegasus.org.
|
422 karl 1.1
|
423 karl 1.11
424 9. The MU Utility
425 ===================
|
426 karl 1.1
|
427 karl 1.4 In order to provide a consistent build structure across multiple platforms, we
428 developed a small utility to provide a consistent set of small utilities
429 across these platforms. The MU utilityis a simple utility that contains many
430 commands. For example:
|
431 karl 1.1
432
433 C:\> mu rm myfile.cpp yourfile.cpp
434
435
436 You may type "mu" to get a list of valid commands. Here are some
437 of them:
438
439
|
440 karl 1.2 rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
|
441 karl 1.1
442
443 The MU utility supports globing (expansion of wildcards) so
444 you can do things like this:
445
446
447 C:\> mu rm *.obj *.exe
448
|
449 karl 1.4 MU is required to build under the Windows environment.MU is available as part
450 of the distribution of Pegasus.
|
451 karl 1.1
452
|
453 karl 1.11 10. Notes about Building Pegasus on Linux
454 ===========================================
455
456 No problem. Just make sure you have the environment variables set.
457
|
458 karl 1.1
|
459 karl 1.11 11. Notes about Building Pegasus with SSL
460 ==========================================
|
461 karl 1.1
|
462 karl 1.11 To build with SSL you need the OpenSSL libraries and header files. Make sure
463 you have them in a standard directory so Pegasus can find them. If that's not
464 the case, set the environment varialble OPENSSL_HOME= to point where your OpenSSL
465 installation is.
466
467 Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' in Pegasus
468 directory and you will have Pegasus with SSL enabled. See section "Creating SSL
469 certificates" for more information of how to use SSL.
470
471
472 12. Building Pegasus on Windows 2000 (SP3 or later recommended) or Windows XP
473 With Microsoft Visual C++
474 ======================================================================
475
476 Today we build Pegasus on Windows using a set of make files contained
477 in the source distribution, the Microsoft compilers (DevStudio 5.x is not
478 supported, Visual Studio 6.0, SP5 supported) and the GNUMAKE make utility.The
479 following is the basic setup steps for the environment.
480
481
482 Setup the environment variables and path for the Micrososft Visual C compiler.
483 karl 1.11 Typically this can be done by running the VCVARS32.BAT file supplied with
484 Microsoft Visual C++. (contained in the same directory as cl.exe).
485
486 For Windows, try the following for an example environment:
487
488 REM call the standard Microsoft .bat for VC 6 setup.
489 call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat'
490 REM Set debug to something if you want compile in debug mode
491 set PEGASUS_DEBUG=true
492 REM set PEGASUS_ROOT to top of source tree
493 set PEGASUS_ROOT=C:/cimom/pegasus
494 REM set PEGASUS_HOME to where you want repository and executables
495 set PEGASUS_HOME=%PEGASUS_ROOT%
496 REM setup the path to the runtime files.
497 set path=%path%;%PEGASUS_HOME%/bin
|
498 karl 1.1
|
499 karl 1.11 13. Installing the Pegasus HTML Test Client:
500 =============================================
|
501 karl 1.1
|
502 karl 1.4 This is a separate test tool that allows Pegasus requests to be initiated from
503 any WEB browser and that uses a WEB browser, CGI scritps and HTML pages for
504 the formating and connections. It requires a WEB server, etc. The
505 instructions for setting up this environment are maintained in a separate
506 readme in the CGI directory.
|
507 karl 1.1
|
508 karl 1.11
509 14. Development with Pegasus and Pegasus Tools:
510 ================================================
|
511 karl 1.1
512 ATTN: This section needs to be completed. It should reference the more
513 complete documentation
|
514 karl 1.11 ATTN: Write about providers?
|
515 karl 1.1
|
516 karl 1.11
517 15. Commands:
518 =============
519
520 The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on CVS)
521
522 To see simple help for each of the commands, use the "-h" flag.
523 Examples:
524 bin/cimserver –s (Shuts it down)
525 bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)
526 bin/cimprovider –l –s (lists providers and their status)
527 bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)
528 bin/cimuser –a –u guest –w ThePassword
529 bin/cimuser –l (lists the users)
530 bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)
531
532
533 16. Creating SSL certifications
534 ================================
535
536 Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT
537 karl 1.11 and PEGASUS_HOME have to be set to your respective installation and source directory.
538
539 CN="Common Name"
540 EMAIL="test@email.address"
541 HOSTNAME=`uname -n`
542 sed -e "s/$CN/$HOSTNAME/" \
|
543 konrad.r 1.16 -e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/src/Server/ssl.cnf \
|
544 karl 1.11 > $PEGASUS_HOME/ssl.cnf
545 chmod 644 $PEGASUS_HOME/ssl.cnf
546 chown bin $PEGASUS_HOME/ssl.cnf
547 chgrp bin $PEGASUS_HOME/ssl.cnf
548
549 /usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \
550 -nodes -config $PEGASUS_HOME/ssl.cnf \
551 -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem
552
553 cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem
|
554 konrad.r 1.16 cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem
|
555 karl 1.11 rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem
556
|
557 humberto 1.13 17. Testing with ICU enabled:
558 ==============================
|
559 karl 1.11
|
560 humberto 1.13 ICU (International Compoments for Unicode) refers to the set of libraries that
561 Pegasus uses to run globalized. For example: these libraries are used to
562 load messages in different languages, format currency and numbers according to
563 a specific locale etc. In order to enable globalization in Pegasus, Pegasus
564 must be built with ICU enabled, ie. the right environment variables must be
565 set prior to running "make". Refer to the GlobalizationHOWTO.htm in the docs
566 directory for details. That said, when users run "make poststarttests"
567 to verify the integrity of a Pegasus download, a series of tests are run that
568 require the cimserver to be running. These tests currently depend on specific
569 messages returned from the server. When ICU is enabled, all messages come
570 from the resource bundles and these usually do not match the hardcoded
571 default messages within Pegasus. These hardcoded default messages
572 are what the various test programs expect in order to complete
573 successfully. If the ICU enabled server is started without
574 disabling message loading from the bundles, "make poststartests" will fail.
575 In order to run "make poststarttests" successfully with ICU enabled, an
576 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to
577 starting the server. Once this is defined, when the cimserver starts, all
578 messages generated will be the default hardcoded messages. This will enable
579 "make poststarttests" to complete successfully. Once "make poststarttests" is
580 complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES.
581 humberto 1.13 If this variable is left defined, Pegasus will not be able to load messages
582 using ICU resource bundles.
583
584 18. Documentation:
|
585 karl 1.11 ===================
|
586 karl 1.1
|
587 karl 1.4 The documentation is currently in preperation. The preliminary documentation
588 is not provided with this snapshot but is avialable from the OpenGroup Pegasus
589 WEB pages. The current documentation is maintained both as a manual created
|
590 karl 1.5 under the tool DOC++ in the runtime subdirectory manual/html and as other
591 miscelaneous documentation in the doc directory.
|
592 karl 1.4
593 Note that the Pegasus WEB site at The Open Group will be the source of most
594 documentation in the future and today is the source of most discussion and
595 design documentation.
|
596 karl 1.1
|
597 karl 1.11
|
598 humberto 1.13 19. Participate!
|
599 karl 1.11 =================
|
600 mike 1.7
|
601 karl 1.4 We are looking for people who want to join the Pegasus work group and
|
602 karl 1.11 contribute to effort of getting this Pegasus off the ground. Please join
603 the mailing list by visiting www.openpegasus.org, and click on Mailing Lists.
|