Ok, changed the name to refer to 1.0 API, and targeted for D-4 On Tue, Aug 2, 2011 at 2:20 PM, Salvatore Orlando < salvatore.orla...@eu.citrix.com> wrote:
> If we are planning to lock down our API v1.0 before Diablo-4, we can just > target the API blueprint to D-4.**** > > ** ** > > Salvatore**** > > ** ** > > *From:* Dan Wendlandt [mailto:d...@nicira.com] > *Sent:* 02 August 2011 22:15 > *To:* Salvatore Orlando > *Cc:* netstack@lists.launchpad.net > *Subject:* Re: [Netstack] Aligning API implementation with specification** > ** > > ** ** > > Great work Salvatore. I'd really like to have v1.0 of the API in Diablo-4, > so let's make sure we have a bug or blueprint targeted for that drop. **** > > ** ** > > Some thoughts inline below.**** > > ** ** > > Dan**** > > On Tue, Aug 2, 2011 at 9:39 AM, Salvatore Orlando < > salvatore.orla...@eu.citrix.com> wrote:**** > > Hi, **** > > **** > > In order to finalize a “v1.0” for the Quantum API we are currently > reviewing its specification and implementation. **** > > **** > > The reviewed API specification is much closer to the Openstack API. > However, there are a few “corner cases”: **** > > - Get Attached Resource operation: if no attachment is plugged > into a port should we raise an error?**** > > ** ** > > I would think that calling this might be done by a client to check whether > the interface has something attached or not, in which case returning a NULL > value would seem appropriate (this is easy to do in JSON, not sure about > XML). **** > > **** > > - Plugging an attachment in port whose state is ‘DOWN’. I think > this should be disallowed, and an exception raised. What’s your opinion?** > ** > > ** ** > > I think of the 'state' field as being similar to the 'admin status' of a > physical switch, in which case it would be valid to plug an interface into a > port that is admin down. Likewise, it is valid to put a port in admin down > even once it has something plugged into it (this can be simpler than > detaching and reattaching). **** > > **** > > **** > > The code currently diverges from the API. Realignment is being done in the > branch lp:~salvatore-orlando/quantum/quantum-api-aligment, linked to bug > #813433.**** > > Also two other branches contain code which will contribute to realign the > API impl with its spec. One removes the “PortCount” attribute, whereas the > other introduces the NetworkNameExists fault, which can be raised upon > network create/update operations.**** > > **** > > The next step will involve fixing accordingly unit tests and the client > library (which is going to hit trunk very soon). All of this will be done > within the api-alignment branch.**** > > **** > > The final step is to take a decision wrt synchronous vs asynchronous > behaviour of the API. **** > > I sent an email a couple of days ago on this topic. I thought a little bit > more about it, and I think it is reasonable that the actual behaviour > depends on the particular plugin implementation. It does not make a lot of > sense to force something which is inherently synchronous to be asynchronous. > **** > > However, a concept of “provisioning status” is probably need for Quantum > resources, and this status should be available through the API. **** > > Enumeration for resource statuses could be similar to the power_mapping > enumeration in Openstack API. **** > > In this way a synchronous plugin could return resource whose state is > typically “ACTIVE”, whereas an asynchronous plugin would return resources > whose state is usually “BUILD”. **** > > API users will be aware of this, as the status of an operation will be > clearly documented in the API specification. On the other hand, the API will > refuse to execute operations on resource whose provisioning state is not > “ACTIVE”.**** > > ** ** > > I like the idea of an enumerated status here. I want to think more about > whether the API should reject calls during a "build" phase. I was more > thinking that the API user could make whatever requests they want at any > point, but a status might indicate that the system has not yet been able to > actually provision the corresponding network behavior. **** > > **** > > I would be more than happy to discuss these item during today’s meeting. My > aim is to lock down the specification as soon as possible (end of the > week?), and then merge the alignment branch shortly after.**** > > ** ** > > Great. Given how long our meetings have been running, longer debates > should probably live on the mailing list, but I already have a spot on the > agenda to discuss the API spec. **** > > ** ** > > ** ** > > **** > > **** > > Regards, **** > > Salvatore**** > > **** > > > -- > Mailing list: https://launchpad.net/~netstack > Post to : netstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~netstack > More help : https://help.launchpad.net/ListHelp**** > > > > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Dan Wendlandt > Nicira Networks, Inc. > www.nicira.com | www.openvswitch.org > Sr. Product Manager > cell: 650-906-2650 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~**** > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dan Wendlandt Nicira Networks, Inc. www.nicira.com | www.openvswitch.org Sr. Product Manager cell: 650-906-2650 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Mailing list: https://launchpad.net/~netstack Post to : netstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~netstack More help : https://help.launchpad.net/ListHelp