[Libvirt-cim] [PATCH] Add cu_compare_ref()

Dan Smith danms at us.ibm.com
Tue Nov 6 01:54:56 UTC 2007


DS> I'm fine with either of the following three solutions:

DS>   1. Leaving it the way I have it, bending the spec intelligently
DS>   2. Modifying libcmpiutil to have a compile-time flag for relaxed key
DS>      checking (for testing, debug, etc)
DS>   3. Removing the feature altogether and making all keys checked all
DS>      the time

DS> Thoughts?

So, after some experimentation, I have determined that neither Pegasus
nor SFCB set the key properties in an ObjectPath if they are not set
by the client.  The following works on both:

  % wbemcli gi 'http://root:password@localhost/root/ibmsd:Xen_VirtualSystemManagementService.Name="Management Service"'

This means that Pegasus does not require all keys (as specified in the
schema for a given class) to be set.

If I loop through the keys in the GetInstance handler case of above,
only "Name" is set.  I don't get the other three keys of CIM_Service
set.

If this level of checking is required for strict adherence, I really
think the CIMOMs should be checking that the keys are specified and we
should be making sure that keys match properties.

So, my suggestion would be to either leave it the way it is, or remove
the properties paramter and just check that whatever keys were
specified match the associated properties.

Anyone else have an opinion, based on this updated information? :)

-- 
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms at us.ibm.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvirt-cim/attachments/20071105/e5c839e4/attachment.sig>


More information about the Libvirt-cim mailing list