Tag Archives: CIM

When is foo == &foo?

The answer is “in the CMPI interface specification”. So, CMPI defines this massive union of every possible data type, called CMPIValue.  It looks something like this (but with many more types): union {    uint32_t uint32;    uint64_t uint64;    char *chars;    CMPIString … Continue reading

Posted in Codemonkeying Tagged

Debugging provider crashes on SFCB with gdb

I’ve never had to debug a multi-process program with GDB before.  Mostly because I do a lot of my debugging with printf() and elbow-grease.  However, a CIM provider is in an environment where a crash happen within the broker, which … Continue reading

Posted in Codemonkeying Tagged , ,

libvirt-cim in Fedora

Today the first build of libvirt-cim hit the Fedora development tree.  This means that by just running “yum install libvirt-cim“, you can have a working CIM provider for Xen on your Fedora 8 machine (assuming you have the development repository … Continue reading

Posted in Codemonkeying, Linux Tagged , ,

Testing with pywbem

Recently a colleague pointed out that our VirtualSystemManagementService’s RemoveResourceSettings method (in libvirt-cim) was marked with the wrong type.  This was done early on, and probably was just a mistake, given that AddResourceSettings and ModifyResourceSettings both took the same type: an … Continue reading

Posted in Codemonkeying Tagged ,

Easier association providers with libcmpiutil

In CIM, associations are the powerful links between instances that model relationships.  A particular association may relate any number of objects to any number of other objects.  This can make implementation of the association confusing, difficult, and error-prone. Take, for … Continue reading

Posted in Codemonkeying Tagged

SBLIM and their broken ABI

The CMPI standard defines the interface between a conforming provider and the CIMOM that loads it.  It’s a massive set of data structures, types, and functions that allow the CIM server to delegate requests to providers, and for providers to … Continue reading

Posted in Codemonkeying Tagged , ,

Easier method providers with libcmpiutil

While writing the libvirt-cim provider, I decided that the constant repetition of common tasks in CMPI CIM providers was getting old.  There were lots of things that get done over and over again that really should be generalized for the … Continue reading

Posted in Codemonkeying Tagged , ,