[Ovirt-devel] Managed Node qpid Modeling

Ian Main imain at redhat.com
Thu Jul 10 17:31:54 UTC 2008


On Thu, 10 Jul 2008 10:18:56 +0100
"Daniel P. Berrange" <berrange at redhat.com> wrote:

> On Wed, Jul 09, 2008 at 09:55:44PM -0700, Ian Main wrote:
> > So please take a look and feel free to post questions or comments.
> > 
> >     <method name="create_domain" desc="Start a new domain">
> >       <arg name="description" dir="I" type="sstr" desc="Domain description"/>
> >       <arg name="vcpus" dir="I" type="unit32" desc="Number of virtual CPUs"/>
> >       <arg name="max_memory" dir="I" type="unit32" desc="Maximum memory allocated in KB"/>
> >       <arg name="current_memory" dir="I" type="unit32" desc="Memory to use in KB"/>
> >       <arg name="boot_device" dir="I" type="sstr" desc="Boot device"/>
> > 
> >       <arg name="domain" dir="O" type="sstr" desc="Newly created domain object"/>
> >       <arg name="result" dir="O" type="ObjID" desc="Description of result.  'success' or 'failure: error msg'"/>
> >     </method>
> 
> This is a seriously bad direction to take. libvirt explicitly uses XML for
> passing domain creation information so that it is extendable without having
> to constantly change the API of the creation methods. IMHO any wire protocol
> between managed nodes and WUI should map pretty much 1-to-1 onto the libvirt
> APIs. 
> 
> In fact rather than defining an oVirt AMQP protocol I'd like this to be
> positioned as the canonical libvirt AMQP protocol.  This will enable good
> interoperability for any other applications using AMQP who also interact 
> with libvirt. For it to be a libvirt AMQP protocol it should be a pretty 
> much direct serialization of libvirt API onto the wire.
> 
> Sure you'll probably need some oVirt specific bits too for APIs outside the
> scope of libvirt, such as the broader monitoring  / stats stuff oVirt does.
> So we'll actually want 2 separate AMQP specifications - one for libvirt & 
> one for oVirt.

I agree with the idea of passing XML instead of defining each argument, very good point and I'll send out an update soon that mirrors the libvirt API. 

I'll keep the canonical libvirt amqp API part in mind as I work on it but for now I'm going to focus on getting this working in ovirt first.  When things mature a bit more we can look at fleshing it out and possibly splitting things out.. if that is even necessary.

	Ian




More information about the ovirt-devel mailing list