>I think the Antecedent property in Xen_HostedComputerSystem should
>remain of type Linux_ComputerSystem. Something needs to represent /
>implement the hosting computer system and we shouldn't use
>Xen_ComputerSystem provider since it represents the virtual system.
>Perhaps we can add any virtualization specific requirements to the
>existing Linux_ComputerSystem implementation. Another possibility is
>creating a new class Xen_HostingComputer system, in which case
>Xen_ComputerSystem should be renamed to Xen_HostedComputerSystem.
The DMTF model has all the lifecycle operations handled by the VirtualSystemManagementService class,
not the individual virtual ComputerSystem class (although there's no reason the latter cannot be added as a hypervisor specific extension...).
In terms of what/how to represent the hosting ComputerSystem, in terms of being DMTF comformant so long as the appropraite
associations are wired correctly - eg HostingComputerSystem - we can pretty much do as we like. The 'problem' (with the model) is that if a
client just goes in and enumerates "CIM_ComputerSystem" they will (indeed must!) get not only the host computer system but also all DomU's too.
Basically, as defined, the System Virtualization model requires a client (either real CIM client or our upcall) to enumerate CIM_ComputerSystem and then
filter out all virtualized system, either by their class (which in the upcall case we know), or by a special property tag (eg a "IsVirtualized" property added to
Xen_ComputerSystem, or by looking at which end of the HostedDependency association the instance occurs).
If we know precisely what host instrumentation will be implemented in the resident Xen system (eg distro specific) then putting a specific CIM_ComputerSystem
subclass as the target (eg IBM Director's IBMPSG_ComputerSystem, SBLIM's Linux_ComputerSystem, Xen_HostedComputerSystem, whatever) is OK, and simple
- that's exactly what I did for the IBM LTC internal providers. But in terms of cross-platform support and generality, if we want to exploit an upcall to populate the Xen_HostedComputerSystem association (rather than manually building it from scratch) then I think the enumerateall-and-filter approach will require the least rework in the long run.
>We should support the intrinsic RequestStateChange() method on
>Xen_ComputerSystem and remove the *VirtualSystem() methods currently
>defined there. The extrinsic methods could simply be mapped to
>RequestStateChange(). Looking at the latest System Virtualization
>Profile, the only methods now supported on
>VirtualSystemManagementService are CloneVirtualSystem(),
>DefineVirtualSystem(), DestroyVirtualSystem(),
>DestroyVirtualSystemConfiguration(), ModifyVirtualSystem(), and
>PlanVirtualSystem().
Correct. Most of the extrinsic lifecycle methods defined in Xen_ComputerSystem can for the most part just be reworked into a collected RequestStateChange() method instead. For simplicitly and to avoid unnecessary confusion,
I'd recommend removing the old extrinisic methods, even though iti s technically OK for them to be in there as a custom Xen extension...
>BTW, Xen_VirtualizationManagementService should be
>renamed to Xen_VirtualSystemManagementService.
yup.
>The VirtualSystemManagementService methods such as destroy, modify, and
>clone will receive a reference to Xen_ComputerSystem instance. The
>service can then perform the requested operation via libvirt, extracting
>any info it needs from the instance and its associated objects.
Exacltly. The target DomU info needed by libvirt can be obtained from the key properties in the Xen_ComputerSystem reference/objectpath
that is passed in, mostly likely Name. Failing that, the Xen_VirtualSystemManagementService provider can do a GetInstance() call
on the reference to obtain all the properties of the DomU (eg to get the Id). It rather depends on what we define the key Name property string to
contain.
- Gareth
Dr. Gareth S. Bestor
IBM Linux Technology Center
M/S DES2-01
15300 SW Koll Parkway, Beaverton, OR 97006
503-578-3186, T/L 775-3186, Fax 503-578-3186
Jim Fehlig <jfehlig@xxxxxxxxxx>
Subrahmanian, Raj wrote:
> This (minor) patch fixes the following
> - XenComputerSystem derives from CIM_VirtualComputerSystem
> - Some occurences of Linux_XXXX occurrences changed to CIM_XXXX
> occurrences.
I think the Antecedent property in Xen_HostedComputerSystem should
remain of type Linux_ComputerSystem. Something needs to represent /
implement the hosting computer system and we shouldn't use
Xen_ComputerSystem provider since it represents the virtual system.
Perhaps we can add any virtualization specific requirements to the
existing Linux_ComputerSystem implementation. Another possibility is
creating a new class Xen_HostingComputer system, in which case
Xen_ComputerSystem should be renamed to Xen_HostedComputerSystem.
>
> After seeing some of the code and browsing through the documentation,
> I have a few questions. I have not yet had the opportunity to
> thoroughly study the System Virtualization Profile Document, so please
> bear with me if I am asking something that's already answered elsewhere.
> - Is our goal to have our provider ultimately follow the model
> described in the DMTF System Virtualization Profile Document?
Yes.
> - I am having trouble imagining how the whole thing is going to be
> orchestrated, for instance, I can see how the Xen_ComputerSystem
> provider can control the lifecycle of its VM, but how does the
> VirtualSystemManagementService talk to it or tell it what to do?
We should support the intrinsic RequestStateChange() method on
Xen_ComputerSystem and remove the *VirtualSystem() methods currently
defined there. The extrinsic methods could simply be mapped to
RequestStateChange(). Looking at the latest System Virtualization
Profile, the only methods now supported on
VirtualSystemManagementService are CloneVirtualSystem(),
DefineVirtualSystem(), DestroyVirtualSystem(),
DestroyVirtualSystemConfiguration(), ModifyVirtualSystem(), and
PlanVirtualSystem(). BTW, Xen_VirtualizationManagementService should be
renamed to Xen_VirtualSystemManagementService.
The VirtualSystemManagementService methods such as destroy, modify, and
clone will receive a reference to Xen_ComputerSystem instance. The
service can then perform the requested operation via libvirt, extracting
any info it needs from the instance and its associated objects.
Regards,
Jim
_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim
_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim
|