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 <
[email protected]> 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     : [email protected]
> 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
Mailing list: https://launchpad.net/~netstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to