[Libvirt-cim] [PATCH 1 of 2] Initialize libvirt early so that we avoid the backend register race

Heidi Eckhart heidieck at linux.vnet.ibm.com
Mon Nov 19 12:19:32 UTC 2007


Dan Smith wrote:
> HE> A CIMOM does not have the possibility to return different return
> HE> codes, meaning the error for Xen_ComputerSystem and the instances
> HE> for KVM_ComputerSystem. In the case where one request returned
> HE> with an error, this one is reported back to the client and all
> HE> returned instances are revoked. 
>
> Ah, okay.  It seems a little weird to solve this by not returning
> failure if you try to enumerate a class that can't possibly exist on a
> particular system.  
That's how the providers also behave with the lv_connect() approach.
> However, I'm not sure there is any reasonable way
> around this.
>   
The question a client is asking is - are there instances of 
Xen_ComputerSystems on this machine. If there are none, than a result of 
0 instances is valid. If the client is interested in the question "why 
there are none", then he has to ask the VirtualSystemManagementService, 
if Xen is running or not. If Xen is not running on this machine, then 
also here no instance for Xen is returned. Then the client knows, that 
Xen is not available on this machine and all requests against Xen 
classes will return 0 instances. If VirtualSystemManagementService 
returns an instance for Xen, then the client knows, that currently no 
Xen_ComputerSystems are defined, but he can work on this machine to 
create one/some Xen instances.
So the question for a provider is - are there instances of the class I'm 
responsible for or not ? This one is answered with yes (returning 
instances) or no (returning no instances). The reason why there are no 
instances, is resolved by the client itself with the evaluation of the 
model for existing and non-existing instances. This means for the 
provider programmer that he has to tolerate a - at a first view - 
light-weight error reporting. To answer your question - no, there is no 
reasonable way around this ;). Its the clients responsibility to 
traverse and interpret the model and instances.

-- 
Regards

Heidi Eckhart
Software Engineer
Linux Technology Center - Open Hypervisor

heidieck at linux.vnet.ibm.com

**************************************************
IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Herbert Kircher
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294




More information about the Libvirt-cim mailing list