Is enumerateInstances guaranteed to be called exactly once?

Klaus Kaempf kkaempf at suse.de
Fri Feb 22 07:09:33 UTC 2013


* John Dennis <jdennis at redhat.com> [Feb 21. 2013 20:12]:
> I've been looking at the Konkret doc and the various OpenLMI
> providers and there seems to be an an inherent assumption that
> enumerateInstances will be called exactly once.

Huh ?

> There are no checks
> to see if an instance already exists during the enumeration. I went
> to the CMPI spec for a clarification, except it had nothing to say
> about this (at least as far I could find).

Well, CMPI only describes the API between the CIMOM and the provider.
The CIM and WBEM standards from dmtf.org should be consulted here.

> 
> My naive assumption for a function with the verb Enumerate in it's
> name followed by the noun Instance says you're suppose to return a
> list of existing Instances, not create them.

Yes, in principle.
Sometimes its practicable to actually create instances in order to get
their properties and names right. [1]


> Also you might be asked
> to enumerate those same Instances more than once (i.e. give me a
> list of what you've got).

Absolutely. EnumerateInstances should be idempotent.

> 
> But it seems like the actual semantics are "create your initial set
> of default instances and tell me what they are" Hence it has more to
> do with creation than enumeration. Is this correct or do I have a
> misunderstanding? Is this actually spelled out someplace? If so can
> you point me at that doc?

This is a misunderstanding. However some providers will actually
create instances on the initial call to enumerateInstances for
practical purposes as outlined above.

Hth,

Klaus

[1] http://martinfowler.com/bliki/TwoHardThings.html
-- 
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg)
Maxfeldstraße 5, 90409 Nürnberg, Germany


More information about the openlmi-devel mailing list