[Engine-devel] API design and plan
Adam Litke
agl at us.ibm.com
Tue Dec 6 14:46:57 UTC 2011
On Tue, Dec 06, 2011 at 02:58:59PM +0200, Dan Kenigsberg wrote:
> On Mon, Dec 05, 2011 at 11:34:18AM -0600, Adam Litke wrote:
> > Hi everyone. On today's VDSM call we discussed the requirements, design, and
> > plan for updating the API to include support for QMF and single-host REST API.
> > All members present arrived at a general consensus on the best way to design the
> > next-generation API. I have tried to capture this discussion in the oVirt wiki:
> >
> > http://ovirt.org/wiki/Vdsm_API
> >
> > Please take a look at this page and let's discuss any changes that may be needed
> > in order to adopt it as a working plan that we can begin to execute. Thanks!
> >
>
> Very nice, I've fixed two bullets about the future of the xml-rpc.
Thanks... Updates look good to me.
> I think that we are missing something here: how do we model Vdsm-to-Vdsm
> communication, in a binding-blind way? I'm less worried about the
> storage-based mailbox used for lvextend requests: my problem is with
> migration command.
Ok, interesting... Besides migration, are there other features (current or
planned) that would involve P2P communication? I want to ensure we consider the
full problem space.
> Currently, the implementation of the "migrate" verb includes contacting
> the remote Vdsm over xml-rpc before issuing the libvirt migrateToURI2
> command ('migrationCreate' verb).
>
> A Vdsm user who choose to use the REST binding, is likely to want this to
> be implemented this using a REST request to the destination. This means
> that the implementation of Vdsm depends on the chosen binding.
>
> The issue can be mitigating by requiring the binding level to provide a
> "callback" for migrationCreate (and any other future Vdsm->world requests).
> This would complicate the beautiful png at
> http://ovirt.org/wiki/Vdsm_API#Design ... Does anyone have another
> suggestion?
Actually, I think you are blending the external API with vdsm internals. As a
management server or ovirt-engine, I don't care about the protocol that vdsm
uses to contact the migration recipient. As far as I am concerned this is a
special case internal function call. For that purpose, I think xmlrpc is
perfectly well-suited to the task and should be used unconditionally, regardless
of the bindings used to initiate the migration.
So I would propose that we modify the design such that we keep an extremely thin
xmlrpc server active whose sole purpose is to service internal P2P requests.
--
Adam Litke <agl at us.ibm.com>
IBM Linux Technology Center
More information about the Engine-devel
mailing list