Kaitlin Rupert wrote:
>>
>> - params = { 'vssd' : vssd,
>> - 'rasd' : rasd_list - }
>> + return rasd_list
>> - return params +def verify_disk_path(ip, virt, addr, guest_name):
>> + inst = None
>> +
>> + try:
>> + drasd_cn = get_typed_class(virt,
>> 'DiskResourceAllocationSettingData')
>> + enum_list = EnumInstances(ip, drasd_cn)
>>
> GetInstance of the DiskRASD would be much more simpler than
> EnumInstances.
> Any reason behind using EnumInstances instead .
Using GetInstance() means that you have to know how the InstanceID of
the reference you're querying is formatted. The only reason we know how
the InstanceID is formatted is because we know how the providers work =)
The idea behind CIM is that you don't have to know how the underlying
implementation works in order to get information from the providers. So
a CIM client shouldn't need to know how we format our InstanceIDs in
order to use our providers.
I'm not sure how often CIM clients build their own references. In
reality, they should be using the references the providers return. They
shouldn't be building their own (like we do in cimtest's GetInstance()
call).
So I try to use EnumInstances() to avoid building my own reference. This
forces the providers to return the references for me.
cimtest's GetInstance() function really should only take a reference as
a parameter instead of taking keys and doing a call to CIMInstanceName().
But faking a reference can be useful in some situations. =) I'm
inclined to leave this as is unless you think it'd be easier to read /
maintain with GetInstance() in place of EnumInstances().
Deepti - is this patch ready to go? Or should I change EnumInstances()
to GetInstance()?
Thanks!
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com