Prakash Narayanaswamy | 15 Jul 03:25 2014

Fwd: On PG_ProviderProfileCapabilities


To gain understanding of the modelling required to support SNIA's Array profile, I'm wondering if it's possible to model all the classes, instances and the associations statically in a mof and load it into OpenPegasus.

If this is possible, how can I register support for Array profile in OpenPegasus without writing a PG_ProviderModule and the associated PG_ProviderProfileCapabilities.


Cheng Yong CY Zhao | 12 May 04:36 2014



I set PEGASUS_INTEROP_NAMESPACE=interop PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT=true and PEGASUS_ENABLE_INTEROP_PROVIDER=true to enable indications support. I got following errors when trying to ei PG_ComputerSystem, CIM_ComputerSystem:

CLI CIMException:  Cmd= ei Object= PG_ComputerSystem

CLI CIMException:  Cmd= ei Object= CIM_ComputerSystem

do I set wrong build options? Thank you.

Sheng SH Liu | 9 May 08:46 2014

A question about comprovagt accessing storage nodes

Hi all:
we are using cimprovagt and get some error.
we check the log and see following:

type=AVC msg=audit(1394502919.480:2066713): avc:  denied  { getattr } for  pid=32761 comm="cimprovagt" path="/dev/dm-7" dev=devtmpfs ino=31093 scontext=system_u:system_r:pegasus_t:s0 tcontext=system_u:object_r:svirt_image_t:s0:c43,c115 tclass=blk_file
type=SYSCALL msg=audit(1394502919.480:2066713): arch=c000003e syscall=4 success=no exit=-13 a0=7f72b80186f0 a1=7f72f9a17040 a2=7f72f9a17040 a3=0 items=0 ppid=19642 pid=32761 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="cimprovagt" exe="/usr/sbin/cimprovagt" subj=system_u:system_r:pegasus_t:s0 key=(null)

here /dev/dm-7 is a guest storage nodes.
Should comprovagt legitimitely be accessing guest storage nodes?

Best Regards!

Manav | 2 May 20:38 2014

cimserver crash on Solaris

Hi All,

I am trying to build OpenPegasus 2.13 on Solaris.
I did the following:
export PEGASUS_HOME=/dev/pegasus/
export PEGASUS_ROOT=/dev/pegasus/


gmake repository


We are using /opt/SUWspro/bin/cc.
After some tweaks in the code, we were able to build it but when we run the
cimserver, get the following:
(dbx) run
Running: cimserver
(process id 2691)
t <at> 1 (l <at> 1) signal SEGV (no mapping at the fault address) in atomic_inc_32 at
0xfffffd7ffed43f54: atomic_inc_32+0x0004:    lock xaddl  %eax,(%rdi)
Current function is Pegasus::AtomicIntTemplate<Pegasus::AtomicType>::inc
 1031       atomic_inc_32(&_rep.n);
(dbx) where
current thread: t <at> 1
  [1] atomic_inc_32(0x10, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffed43f54
=>[2] Pegasus::AtomicIntTemplate<Pegasus::AtomicType>::inc(this = 0x10),
line 1031 in "AtomicInt.h"
  [3] Pegasus::AtomicIntTemplate<Pegasus::AtomicType>::operator++(this =
0x10, _ARG2 = 0), line 75 in "AtomicInt.h"
  [4] Pegasus::StringRep::ref(rep = (nil)), line 103 in "StringRep.h"
  [5] Pegasus::String::String(this = 0xfffffd7fd020b1c0, str = CLASS), line
90 in "StringInline.h"
  [6] Pegasus::CIMName::CIMName(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
  [7] __SLIP.INIT_B(), line 243 in "reg_table.cpp"
  [8] __STATIC_CONSTRUCTOR(), line 243 in "reg_table.cpp"
  [9] _init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fd01ab8f7
  [10] call_init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3c0588
  [11] is_dep_init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3c03a6
  [12] elf_bndr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d077e
  [13] elf_rtbndr(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3b13f3
  [14] 0xfffffd7fff150030(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
  [15] 0xfffffd7fff150030(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
  [16] __STATIC_CONSTRUCTOR(), line 37 in "CIMQualifierNames.cpp"
  [17] _init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fcf364c95
  [18] call_init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3c0588
  [19] setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3bf5f7
  [20] _setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d20f9
  [21] _rt_boot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3b1036
  [22] 0xfffffd7fffdffd10(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
(dbx) quit

What am I missing?

Thanks in advance,

rajeev verma | 2 May 02:22 2014

Open Pegasus 2.12 memory and thread pool tuning

Hi All,

 We have Open Pegasus 2.12 running on our array and I’m trying to understand the cimserver peak memory requirement under load.

  Is there a way to cap/tune the memory size of the cimserver?

If not directly, then is there a way to do it indirectly by adjusting the thread pool size or some such?

Please let me know…

Thanks & Regards,

-Rajeev Verma

Nimble Storage

Khushboo Sancheti | 15 Apr 20:47 2014

Building Open Pegasus 2.12 with OpenSLP v2



Are there any build time options – specifically where the appropriate CFLAGS and LDFLAGs can be put – to ensure that Open Pegasus picks up the open slp v2 stuff from a particular location rather than grabiing the defaults on the build machine? The build machine current has open slp v1.


We are using OP 2.12.




Khushboo Sancheti | 14 Apr 23:58 2014

Disabling Open pegasus log rotation of cimserver.trc



I’d like to have logrotate control the rotation of the cimserver.trc file and disable the automatic rotation policy of cimserver.trc as controlled by Open Pegasus. I could not find an environment variable or build time flag or cimconfig command to achieve this.


Any ideas on how to go about this? I am using version 2.12.




Karl Schopmeyer | 11 Apr 17:26 2014

Re: Cannot load library *.so undefined symbol error

We need more information here.  It is clear that, however you are building, the resulting shared library has symbol problems and cannot
resolve those symbols when it is loaded by OpenPegasus.  The errors themselves are probably coming from the loader when it
tries to load the shared library as a provider. Pegasus is largely just interpreting information that is being returned by the loader.

Obviously, at least the symbol CIMSoftwareIdentityBuldier is expected to be linked as part of the load and it does not exist

By the way, did you mean to have Builder mispelled as buldier???

Some questions:
1. OS your are building on
2. Tools you use to build your provider.
3. Language you are writing provider in and interface uses (C++, CMPI, etc.).
4. Compiler used and the cmd line options with which you are compiling the library.

It is hard to dig to deep without looking further are your code and exactly what the environment is.

There should be no problems in this are with OpenPegasus so lets leave that out.  Loading providers has been

In general, I suggest that restart with very basic provider version that copies some other providercode that uses same tools compiler, etc. but does almost nothing, just loads.  It could even just return NOT_SUPPORTED for every function.  This will confirm that you
can get the basics to load and with your provider name, etc.

So rather than try to debug this code itself, recreate just the very basics of the provider and make  that successfully load.  No matter
which of the above options you use, there should be an example you could borrow and create the basics in a couple of hours.

Then go back to your provider and fix it up to match what does load but with the full set of provider app.


On4/11/2014 06:34 AM, shubhra garg wrote:
_SUPPORTEHi Johnny/Jim/Schopmeyer,

I need an urgent help.
Since, my mail are not reaching open pegasus community, so I am writing it to you.

I don't know how to debug and fix the issue. So, Kindly help.

I have written a cpp code.
When I am deploying that code after doing "make clean" and "make".
I am facing the below mentioned error:

Ran command: where A/b is a directory and root/das is a namespace.
 ./cimcli -s -n root/das -l -u admin -p admin ei das_SoftwareIdentity
cimcli CIMException:  Cmd= ei Object= LHOS_SoftwareIdentity Code= 1
CIM_ERR_FAILED: PGS04201: Provider LHOS_SoftwareIdentity_Provider in file /A/B/data/debug/lib/ cannot load library.  Error: /A/B/data/debug/lib/ undefined symbol: _ZTV26CIMSoftwareIdentityBuldier.

I did a little debugging and found the below:

1 Step :
 objdump -T /A/B/data/debug/lib/ | grep _ZTV26CIMSoftwareIdentityBuilder
0000000000000000      D  *UND*  0000000000000000              _ZTV26CIMSoftwareIdentityBuilder

2. Step: I ran the command ---->  ldd -r /A/B/data/debug/lib/

undefined symbol: _ZTV26CIMSoftwareIdentityBuilder      (/A/B/data/debu                                             g/lib/
undefined symbol: _ZNK8LeftHand14CIMEnvironment9getCBLOpsEv     (/A/B/d                                             ata/debug/lib/
undefined symbol: _ZN8LeftHand14CIMEnvironmentD1Ev      (/A/B/data/debu                                             g/lib/
undefined symbol: _ZN8LeftHand14CIMEnvironmentC1Ev      (/A/B/data/debu                                             g/lib/
undefined symbol: _ZNK8LeftHand14CIMEnvironment19createCIMCBLContextERKSsS2_   (                                             /A/B/data/debug/lib/
undefined symbol: _ZN26CIMSoftwareIdentityBuilderC1EPN6cimple22Enum_Instances_Ha                                             ndlerINS0_21DAS_SoftwareIdentityEEER11ICIMContext      (/A/B/data/debu                                             g/lib/

Thanks and Regards,

Jan Safranek | 6 Mar 16:39 2014

Kerberos authentication

I've implemented SPNEGO-based authentication into Pegasus client and
server, as described in RFC 4559. This RFC is used in WS-MAN world,
especially on Microsoft Windows and it fits WBEM pretty nicely - it's
just HTTP, after all.

There already are some non-compilable leftovers of Kerberos
authentication spread across current Pegasus sources (look for #ifdef
PEGASUS_KERBEROS_AUTHENTICATION). Are these parts still used? Were they
ever working?

My implementation introduces PEGASUS_SPNEGO_AUTHENTICATION, so it can be
easily compared with PEGASUS_KERBEROS_AUTHENTICATION code. I've checked
that it works on Linux (Fedora 20) with MIT Kerberos, but any GSSAPI
implementation should work.

Still, there is lot of work to do:

1. If the old PEGASUS_KERBEROS_AUTHENTICATION code is not working/used,
it should be removed.

2. If I look at the old PEGASUS_KERBEROS_AUTHENTICATION code, I can see
that after the initial authentication, the actual HTTP data were
encrypted into WWW-Authenticate: and Authorize: headers using Kerberos.
Is it really needed? Pegasus already supports HTTPS for confidentiality,
in my opinion we do not need another style of encryption.

3. There should be probably some setting to set Kerberos service name
and set path to keytab file, currently it's taken from environment
variable. What is the process of introducing new configuration options?

4. The implementation uses GSSAPI, as described by RFC 2743. If there is
a platform, which uses different API for Kerberos,
Pegasus/Common/Kerberos.cpp should be split into platform-independent
part + implementations for each platform. Can someone check if all the
platform Pegasus supports have some sort of GSSAPI? Especially MS Windows.

5. I was not able to enable tracing in Pegasus Client library. How to do
it? It would be nice to have some debug logs to see how the
authentication proceeds on the client side.

See the preliminary version of my patch attached (apply to current CVS
HEAD). It is not final version, I will update it based on your feedback
and answers to 1. - 5.

Attachment (kerberos-1.patch): text/x-patch, 47 KiB
Andreas Maier | 6 Mar 15:15 2014

Doodle poll for selecting new time for weekly OpenPegasus architecture call

As discussed in today's OpenPegasus call, I have created a doodle link so
that we can get everyone's availability for the weekly OpenPegasus
architecture call.

If you are interested to participate in OpenPegasus, you are welcome on
this call, and then please indicate your availability in this doodle poll:

Note that doodle is timezone-aware, so somewhere on that page you can set
the timezone in which it displays the times for you. Double check that
timezone before you respond.

Note that the call is supposed to have a duration of 2h, as currently, and
in the doodle poll you should select only the starting times of the 2h


Andreas Maier
IBM Senior Technical Staff Member, Systems Management Architecture & Design
IBM Research & Development Laboratory Boeblingen, Germany
maiera <at>, +49-7031-16-3654
IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

Bruno Lauzé | 1 Mar 07:21 2014

Freebsd patches

Here's patches I realized to compile with FreeBSD-CURRENT and clang.
The Platform and config files have been copied mostly from Linux model with all required modification.


src/IndicationService/IndicationService.cpp have 2 unused declaration (included in patches)

Also src/Pegasus/Query/QueryCommon/QueryIdentifier.h expose QueryException.h which causes
problems when creating Provider with CIMInstanceQueryProvider, wrapping it around
PEGASUS_INTERNAL_ONLY fixes the problem. 		 	   		  
Attachment (patches-freebsd.tar.gz): application/x-gzip, 26 KiB