Re: [Xen-API] Xen Management API draft
Ewan Mellor wrote:
Attached is a draft Xen Management API. This document presents our ideas in
terms of a data model, with an implied binding to XML-RPC calls. There are a
few examples in there too -- hopefully it's clear how the mapping between the
document and the wire protocol.
Ewan, I like the API a lot. The storage repository class needs some
additional thought. It really requires some dbms-like attributes. I will
try to get some more specific feedback on the storage repository class
to you in a different note.
here is some cursory feedback:
1.4.1 transport layer
We should also support bare xml which would enable file redirection
(stdin and stdout) and the use of ssh.
We should allow optional delegation of authentication to the transport
layer. For example, use ssh public key authentication instead of a
1.6 (to do)
Authorization schema that maps uids to operations on objects.
notification - need a notification class and a notification listener
on the client.
2.6.1 VM class
Need an addition field "profile" that allows the user to classify VMs
for particular purposes. For example, "web server," "sendmail switch,"
"dbms host," "devel workstation," etc.
This should be a list attribute. Might be good to supply some
enumerated values but also allow values that are not enumerated.
Clone method needs to have a customization parameter. Simply cloning a
VM is not sufficient - the clone at minimum needs a different host
name, network configuration, and changes to various config files.
One way to customize a cloned image is to patch the
filesystem. Another is to replace specific files with new versions
(usually works best for binary files).
VM needs a migrate method:
Bool migrate(session id s, vm ref vm, host ref current, host ref
destination, Bool test)
If test is true, then the migration method will not actually migrate
the VM, but it will qualify the destination.
2.8 Host class
Host needs additional attributes that will allow automated
determination that a given host is capable of hosting a given VM.
For example, a VM may need specific host characteristics beyond CPU: a
minimum amount of memory, TPM, network bandwidth, and so on.
If the host class has these attributes we can create an addition
method that automatically determines if a host can host a particular
Bool qualify(session id s, vm ref vm, host ref host)
2.9 Class Network
Network needs additional attributes that provide media
characteristics of the NIC.
RO bandwidth integer Bandwidth in mbps
RO latency integer time in ms for an icmp roundtrip to a host on the
xen-api mailing list