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