The first thing we need to decide is API supportabiliy. I'll list the questions
that need to be answered. The decision made here will have great effect on
transport selection (espscially API change process and versioning) so try and
think about this without going to specfic technicalities (eg. "X can't be done
on REST").

New API acceptance process
==========================
 - What is the process to suggest new API calls?
 - Who can ack such a change?
 - Does someone have veto rights?
 - Are there experimental APIs?

API deprecation process
=======================
 - Do we allow deprecation?
 - When can an API call be deprecated?
 - Who can ack such a change?
 - Does someone have veto rights?

API change process
==================
 - Can calls be modified or no symbol can ever repeat in a different form
 - When can an API call be deprecated?
 - Who can ack such a change?
 - Does someone have veto rights?

API versioning
==============
 - Is the API versioned as a whole, is it per subsystem (storage, networking,
   etc..) or is each call versioned by itself.
 - What happens when old clients connects to a newer server.
 - What happens when a new client connects to an older sever.
 - How will versioning be expressed in the bindings?
 - Do we retrict newer clients from using old APIs when talking with a new
   server?
_______________________________________________
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel

Reply via email to