8 messages in com.xensource.lists.xen-apiRe: [Xen-API] Xen-API Preview Tree
FromSent OnAttachments
Ewan Mellor08 Oct 2006 13:59 
Stefan Berger09 Oct 2006 07:42 
Ewan Mellor09 Oct 2006 09:37 
Stefan Berger09 Oct 2006 10:42 
Daniel P. Berrange09 Oct 2006 10:47 
Ewan Mellor09 Oct 2006 15:45 
Daniel P. Berrange10 Oct 2006 06:17 
Daniel P. Berrange03 Nov 2006 12:08 
Subject:Re: [Xen-API] Xen-API Preview Tree
From:Daniel P. Berrange (berr@redhat.com)
Date:10/09/2006 10:47:14 AM
List:com.xensource.lists.xen-api

On Sun, Oct 08, 2006 at 10:00:13PM +0100, Ewan Mellor wrote:

All,

I have put a tree on Xenbits containing our work-in-progress regarding a Xend that supports the new Xen-API. You may pull from this tree using

hg clone http://xenbits.xensource.com/ext/xen-api.hg

This tree contains the new lifecycle work (from the patches sent to xen-devel as an RFC a few months ago), and the major part of the work required to support the new API and new configuration file format.

Excellant, thanks for making this available.

Please note that there are a few instances where the old protocol is currently broken, or has subtly changed in semantics. The intention for Xen 3.0.4 is to preserve the existing XML-RPC protocol, and to support all the existing configuration file formats, so rest assured that if this tree shows any breakages at the moment, they will be fixed by the time Xen 3.0.4 is released. We would appreciate it if you let us know about any such breakages.

I've not tested your new tree directly yet, but here's some feedback on the lifecycle patches based on the last set which were sent to xen-devel (which I assume are same as those in your new tree)

With the lifecycle patches, 'xm list' and 'GET /xend/domains' will now include inactive domains as well as active domains. eg

# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 594 2 r----- 22.2 guest3 -1 400 1 ------ 14.7

This can cause a slight compatability problem because there has previously been the tacit assumption that "ID" is a unique way to refer to a domain running on a box. With all inactive domains now returning '-1' this is no longer valid. So I think that returning inactive domains by default for commands line 'xm list' or the raw 'GET /xend/domains' may well cause compatability problems for existing users of this command / API.

Libvirt at least would need to be modified to deal with this change off the /xend/domains request.

At the same time though, its clearly desirable to have a single API to list all domains. So I'd like to propose a very slight modification, thus:

1. /xend/domains - only returns active domains, as per current semantics 2. Add support for an optional parameter '?scope=XXXX' where XXX can be one of 'active', 'inactive', 'all'. eg, 'GET /xend/domains?scope=inactive'

If we follow this through to 'xm list' we could allow

xm list --scope=all xm list --scope=inactive xm list --scope=active

Or simplify a little further

xm list --all xm list --inactive xm list --active

In the actual listing of domains in XM, I think its probably more desirable to just have a '-' in the ID column for inactive domains, rather than -1,s since this indicates more clearly that there is no effective ID for inactive domains, eg

# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 594 2 r----- 22.2 guest3 - 400 1 ------ 14.7

Finally, I'd also like to see the 'xend_config_version' field for 'xm info' incremented from '2' to '3' to allow clients to easily detect that the XenD they're talking to has this new capability for configs.

There was one other issue, but I can't remember it right now & I don't think it was a compatability issue anyway.

So aside from the listing of domains stuff the lifecycle patches look pretty reasonable to me, thus far.

Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|