WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-cim

Re: VSManagmentService implementation discussion (was: [Xen-cim] Bridge)

To: Gareth S Bestor <bestor@xxxxxxxxxx>
Subject: Re: VSManagmentService implementation discussion (was: [Xen-cim] Bridge)
From: Jim Fehlig <jfehlig@xxxxxxxxxx>
Date: Wed, 24 May 2006 18:10:12 -0600
Cc: Xen-cim@xxxxxxxxxxxxxxxxxxx, Ron Goering <rgoering@xxxxxxxxxx>
Delivery-date: Wed, 24 May 2006 17:10:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <OF6B85F2DD.28C6DCA8-ON88257174.0075CA98-88257174.007A9F5E@xxxxxxxxxx>
List-help: <mailto:xen-cim-request@lists.xensource.com?subject=help>
List-id: xen-cim mailing list <xen-cim.lists.xensource.com>
List-post: <mailto:xen-cim@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-cim>, <mailto:xen-cim-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-cim>, <mailto:xen-cim-request@lists.xensource.com?subject=unsubscribe>
References: <OF6B85F2DD.28C6DCA8-ON88257174.0075CA98-88257174.007A9F5E@xxxxxxxxxx>
Sender: xen-cim-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)
Gareth S Bestor wrote:

>1. Should we support start/stop service?  Currently these methods
>start/stop xend - seems like suicide and not nice for other management
>tools :-).  I think we should mark these "not supported" for the time.

The CIM_Service superclass includes a StartService and StopService methods, to basically turn said service on and off. I dont have a strong opinion, but I guess if there is a way to turn a host system's Xen virtualization "on" or "off" then we should probably be thorough in implementing the CIM model and support it. Of course, starting/stopping xend will cause serious problems, so whilst it may be 'supported' it certainly wouldn't be 'recommended'....

I look at it this way - NFS is an exposed host's service too and being able to turn it on and off is a legitimate management function. Is Xen so different? [that's an honest question, not a statement].

Thoughts?


I think Xen is different. The hypervisor is not a service you can stop / start. Shutting down xend just disables management - currently running guests continue to operate with no way to manage them. I agree we should support start service, i.e. start xend if it is not running, but I'm a little uncomfortable with stopping xend on stop service. Perhaps we can implement stop service at a higher level if the need is there to support it at all, e.g. in the provider itself.

>3. We talked about implementing RequestStateChange() intrinsic method in
>Xen_ComputerSystem.  Should we implement the corresponding extrinsic
>methods in VirtualSystemManagementService or just map them to
>appropriate RequestStateChange?  For example, should
>PauseVirtualSystem() just call RequestStateChange("Paused") on the
>referenced Xen_ComputerSystem or provide an implementation?

I initially had the lifecycle operations - Start/Stop/Pause/Suspend/Resume - on the Xen_ComputerSystem itself early on in the development of the IBM LTC providers itself as a personal preference (fewer classes that had to be implemented) and the fact there was so much churn about this in the DMTF WG at the time :-) But in the formal DMTF model all the lifecycle stuff now officially lives in the VirtualSystemManagementService; duplicating support for it in Xen_ComputerSystem is optional (and not prescribed by the DMTF). Personally, I kinda like having to be able to control an object by methods on the object itself, rather than having to go off to a service somewhere, but for DMTF conformity we should probbaly just to the lifecycle ops in VirtualSystemManagementService and drop them from Xen_ComputerSystem just so that there is no confusion (and risk mgmt clients being built not using the one always guaranteed to be present).

As for RequestStateChange(), this does exist in the Xen_ComputerSystem. I need to check with Michael (DMTF VS lifecycle owner) if supporting this is method mandatory or optional, bust as described in section 9.3 of the "System Virtualizetion Profile" doc, the state changes supported by this extrinsic will map pretty much directly to the extroinsic lifecycle methods in VirtualSystemManagementService.

Also, we should consider whether or not to also implement the optional Server Power State profile; ie RequestPowerStateChange() in Xen_ComputerSystem too. Also from the "System Virtualizetion Profile" doc:

A virtual computer system can be in one of several states. The intrinsic RequestStateChange() operation may be used on an instance of CIM_ComputerSystem representing a virtual system to effect virtual system state changes. If the Server Power State Profile is implemented by a virtualization platform instrumentation, alternatively the RequestPowerStateChange() method of the CIM_PowerManagementService may be used.

As for the implementation question you asked, my personal preference would be to have the actual DomU lifecycle change code located in with the Xen_ComputerSystem provider code, and have VirtualSystemManagementService make upcalls as necessary to these methods, rather than have all this code located externally in the latter provider, or worse still, duplicated in both. But that's just a purely aesthetic preference of mine and implementation-wise is doesnt matter which provider is calling which to do the actual grunt work.


Looking at the latest System Virtualization Profile (posted by Michael today), we must support RequestStateChange() on the ComputerSystem object as this is the only mechanism for state transition. VirtualSystemManagementService only contains the following extrinsic methods: CloneVirtualSystem(), CreateVirtualSystemConfiguration(), DefineVirtualSystem(), DestroyVirtualSystem(), DestroyVirtualSystemConfiguration(), and ModifyVirtualSystem(). I agree, as you mentioned above, that it is preferable to invoke methods on the object itself. So this is good :-).

As far as Power State Profile goes, Novell SMASH project will have an implementation of this profile. Does it make sense to have that implementation virtualization aware? That is, if running on virt platform (Xen) do the right thing? From an implementation perspective it's not yet clear to me how these various profiles integrate.

Jim

_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim

<Prev in Thread] Current Thread [Next in Thread>