openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #02877
Re: [NetStack] Quantum Service API extension proposal
Hi Ying,
Yes extensions that belong to one service will be grouped together. So quantum.foo.com/v1.0/extensions is fine.
No, they don't need to be independent services -- I'm expecting that the query to see what extensions are available should be an open all --- but at the end of the day I suppose that whether or not it is depends on the operator. Extensions just add functionality to the API, authentication should work as it normally does.
-jOrGe W.
On May 31, 2011, at 3:52 PM, Ying Liu (yinliu2) wrote:
> Hi Jorge,
>
> Thanks.
> From what you described, should we say that all the extensions belonging
> to one service will be grouped together?
> For example, <quantum.foo.com/v1.0/extensions> query will list all the
> extensions under the quantum service.
>
> Then what's the relationship between core and the extension? Are they
> independent web services? How will they share the authentication part
> (assuming the core API part has handled the authentication)?
>
> Best,
> Ying
>
>> -----Original Message-----
>> From: Jorge Williams [mailto:jorge.williams@xxxxxxxxxxxxx]
>> Sent: Thursday, May 26, 2011 7:48 PM
>> To: Ying Liu (yinliu2)
>> Cc: Rick Clark; <openstack@xxxxxxxxxxxxxxxxxxx>
>> Subject: Re: [Openstack] [NetStack] Quantum Service API extension
>> proposal
>>
>> Hi Ying,
>>
>> The query should look something like this:
>>
>> Openstack.foo.com/path/to/quantum/v1.0/extensions
>>
>> In most cases it may look like this
>>
>> quantum.foo.com/v1.0/extensions
>>
>> It's important to note that extensions are always interpreted in
>> relation to a particular version of a core API. That's because,
>> something that is an extension in v1.0 may be a core feature in v2.0.
>> Thus, /v1.0/extensions and /v2.0/extensions may return a different set
>> of extensions.
>>
>> As for additional pointers, I'm in the process of drafting a guide to
>> extensions. Since there is so much interest, I'll start publishing as
>> I write it -- expect the first couple of chapters soon.
>>
>> -jOrGe W.
>>
>> On May 26, 2011, at 6:44 PM, Ying Liu (yinliu2) wrote:
>>
>>> Hi Jorge,
>>>
>>> A quick question about the extension mechanisms you described at the
>>> summit.
>>> On page 19, the extension is queryable via /extensions. Could you
>> give
>>> an example of full URI for this query service?
>>> Is it something like:
>>> Openstack.foo.com/openstack/network/extensions
>>> Or
>>> Openstack.foo.com/openstack/extensions
>>> Or
>>> Openstack.foo.com/opentstack/network/quantum_service/extensions
>>>
>>> For the extension work with LB v1.1, if there is any related
>>> information, could you send me a pointer?
>>>
>>> Best,
>>> Ying
>>>
>>>
>>>> -----Original Message-----
>>>> From: openstack-bounces+yinliu2=cisco.com@xxxxxxxxxxxxxxxxxxx
>>>> [mailto:openstack-bounces+yinliu2=cisco.com@xxxxxxxxxxxxxxxxxxx] On
>>>> Behalf Of Jorge Williams
>>>> Sent: Sunday, May 22, 2011 8:39 AM
>>>> To: Rick Clark
>>>> Cc: <openstack@xxxxxxxxxxxxxxxxxxx>
>>>> Subject: Re: [Openstack] [NetStack] Quantum Service API extension
>>>> proposal
>>>>
>>>> Hi Rick,
>>>>
>>>> I'm in the process of putting together a formal proposal to
>> OpenStack
>>>> governance on extensions. I'll be submitting it for review very
> soon.
>>>>
>>>> Our goal is provide a system that is flexible and generic enough to
>>> add
>>>> extendability to any OpenStack API in a consistent manner. Of
>> course
>>>> we will need your input (and that of the community as a whole) to
>> make
>>>> sure that we can achieve this.
>>>>
>>>> To that end, I'd love to understand your use case a bit better. Is
>>>> there anything missing from the extension mechanism as I described
>> it
>>>> at the summit?
>>>>
>>>> (Slides
>>>>
>>>
>>
> http://wiki.openstack.org/JorgeWilliams?action=AttachFile&do=view&targe
>>>> t=Extensions.pdf)
>>>>
>>>> I should also note that you need not use the extension mechanism to
>>>> express capabilities in the API. It's okay and even desirable for
>> an
>>>> API to express capabilities in a manner that makes sense for that
>>>> particular service.
>>>>
>>>> For example, I'm working with the load balancer team on 1.1 of the
>> LB
>>>> API. Load Balancers may support many different algorithms (round
>>> robin,
>>>> random, etc.). The approach we took there is to have the core API
>>>> define a reasonable set of common algorithms and have an endpoint
>>> where
>>>> you can query what algorithms are available in a particular
>>> deployment.
>>>> Extensions don't come into play unless an implementation offers
>>> support
>>>> for an algorithm that's not in the common set. It's only in this
>> case
>>>> where we need to take care of conflicts between vendors and so on.
>>>>
>>>> -jOrGe W.
>>>>
>>>> On May 21, 2011, at 4:21 PM, Rick Clark wrote:
>>>>
>>>>> It is my understanding that we would use the standard Openstack
>>>> extension mechanism, though I don't believe jorge's proposal has
>> been
>>>> officially accepted yet.
>>>>> However our plugin model will require a complex way of expressing
>>>> capability that might not be a part of jorge's proposal.
>>>>>
>>>>> T-Mobile. America's First Nationwide 4G Network
>>>>>
>>>>> Dan Wendlandt <dan@xxxxxxxxxx> wrote:
>>>>>
>>>>>> On Sat, May 21, 2011 at 11:51 AM, Ram Durairaj (radurair) <
>>>>>> radurair@xxxxxxxxx> wrote:
>>>>>>
>>>>>>> Hi Dan:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> As far as I remember, In Design summit, we've agreed to expose
>>>> "extra"
>>>>>>> attributes for Virtual networks and any other vendor specific
>>>> features using
>>>>>>> "API-Extensions" and possibly thru existing Openstack extension
>>>> mechanisms.
>>>>>>> Don't recall that we've concluded on Jorge's proposal.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Also I think it's better to follow a consistent model across the
>>>> Openstack
>>>>>>> , provided the current Jorge's proposal is generic enough and
>>>> flexible
>>>>>>> enough for what we are trying to do in our NetStack side. I
> think
>>>> we should
>>>>>>> take a look at Jorge's and Ying model and as a team we decide.
>>>>>>>
>>>>>>
>>>>>> Hi Ram,
>>>>>>
>>>>>> Apologies if I have misinterpreted the consensus here, but I seem
>>> to
>>>>>> remember widespread verbal agreement during the summit on basing
>>> the
>>>> API and
>>>>>> its extensions off of the standard OpenStack mechanisms. Also,
>> the
>>>> main
>>>>>> Quantum Diablo Etherpad: http://etherpad.openstack.org/6LJFVsQAL7
>>>> (specific
>>>>>> text pasted below) seems to show you and Salvatore agreeing to
>>>> Erik's
>>>>>> comment that we should use the standard OpenStack API and it
>>>> includes a link
>>>>>> to Jorge's doc on OpenStack Extensions.
>>>>>>
>>>>>> Jorge's proposal for extensions includes things like extension
>>>>>> querying/discovery, a mechanism for preventing conflicts between
>>>> extension
>>>>>> fields from different vendors, etc. that I think are pretty
>>>> fundamental to
>>>>>> the what we'll need to make Quantum successful. As a result, I
> am
>>>>>> personally still strongly in favor of using the standard
> OpenStack
>>>> extension
>>>>>> mechanism as the base of our API mechanism for Quantum.
>>>>>>
>>>>>> I think Jorge's work is still in progress (Jorge?) so there
> should
>>>> be an
>>>>>> opportunity to provide input on that front as well. If there are
>>>> types of
>>>>>> extensions that you are thinking about that won't work in the
>>>> standard
>>>>>> OpenStack model or if you simply think there is a better way to
> do
>>>> it, that
>>>>>> is something we should try to flush out ASAP.
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>> ======= Start From Etherpad ========
>>>>>>
>>>>>> *4. For EACH network service (could be one or more depending on
>>>> question
>>>>>> #3), should there be a single, canonical REST API or should there
>>> be
>>>>>> multiple APIs? By canonical, we mean the base API is the same
>>>> regardless of
>>>>>> the driver/plugin that is implementing it.* * How should API
>>>> extensibility
>>>>>> be handled? *
>>>>>>
>>>>>> POSSIBLE ANSWERS:
>>>>>>
>>>>>> EC - [8] We should strive for a single approach across all Open
>>>> Stack
>>>>>> services. To that end, we should follow the nova model and have
> a
>>>> single
>>>>>> "core" REST API that is applicable across all drivers/service
>>>> engines.
>>>>>> Where particular operations, headers, attributes, etc. are niche
>> or
>>>> vendor
>>>>>> specific, API extensions should be implemented that allow for
>> those
>>>>>> capabilities to be programatically exposed but not required to be
>>>> supported
>>>>>> by all drivers/service engines. If you are not familiar with the
>>>> concept of
>>>>>> OpenStack API extensions, there is a presentation here -
>>>>>>
>>>>
>>>
>>
> http://wiki.openstack.org/JorgeWilliams?action=AttachFile&do=get&target
>>>> =Extensions.pdf.
>>>>>> Jorge is also doing a talk about this on Tue, 2PM at the Diablo
>>>> summit.
>>>>>>
>>>>>> RamD[8] Completely agree. APIs should be OpenStack API model
>>>>>>
>>>>>> SO[8]: Agree with Erik and Ram.
>>>>>>
>>>>>> ======= End From Etherpad ========
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> As I informed our Netstack team during our Design Summit,
>>>> absolutely. we
>>>>>>> can take up the API extensions and Sure, Ying can lead and help
>>>> develop the
>>>>>>> workstream and the related code contributions as part of overall
>>>> Quantum.
>>>>>>> I'll let Ying add more here .
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>>
>>>>>>> Ram
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *From:* openstack-bounces+radurair=cisco.com@xxxxxxxxxxxxxxxxxxx
>>>> [mailto:
>>>>>>> openstack-bounces+radurair=cisco.com@xxxxxxxxxxxxxxxxxxx] *On
>>>> Behalf Of *Dan
>>>>>>> Wendlandt
>>>>>>> *Sent:* Saturday, May 21, 2011 11:05 AM
>>>>>>> *To:* Ying Liu (yinliu2)
>>>>>>>
>>>>>>> *Cc:* openstack@xxxxxxxxxxxxxxxxxxx
>>>>>>> *Subject:* Re: [Openstack] [NetStack] Quantum Service API
>>> extension
>>>>>>> proposal
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hi Ying,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks for sending this out. I think many of the capabilities
>> you
>>>> are
>>>>>>> looking to introduce (ability to configure ACLs, QoS, packet
>>>> statistics) are
>>>>>>> definitely things we will want Quantum to expose as API
>> extensions
>>>>>>> (and possibly in the future, as part of the base API if they are
>>>>>>> sufficiently general).
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> During the summit we had agreed that extensions to Quantum would
>>>> follow the
>>>>>>> "standard" openstack extension mechanisms proposed by Jorge
>>>> Williams, see:
>>>>>>> http://www.slideshare.net/RackerWilliams/openstack-extensions
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I've been trying to find someone to take a lead on building the
>>> API
>>>>>>> extension framework within quantum to provide plugins with the
>>>> ability to
>>>>>>> register such extensions in a way compatible with Jorge's
>>> proposal,
>>>> so
>>>>>>> perhaps you would like to take the lead on designing and coding
>>>> that? The
>>>>>>> blueprint is at:
>>>>>>>
>>> https://blueprints.launchpad.net/network-service/+spec/quantum-api-
>>>> extensions. Out plan from the summit was that all functionality
>>> except
>>>> the base
>>>>>>> "network connectivity" would initially be exposed as extensions,
>>>> with the
>>>>>>> ability for these extensions to be proposed as additions to the
>>>> base API in
>>>>>>> the future. Thanks,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Dan
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, May 21, 2011 at 10:09 AM, Ying Liu (yinliu2)
>>>> <yinliu2@xxxxxxxxx>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> We just posted a proposal for OpenStack Quantum Service API
>>>> extension on
>>>>>>> community wiki page at
>>>>>>>
>>>>
>>>
>>
> http://wiki.openstack.org/QuantumAPIExtensions?action=AttachFile&do=vie
>>>> w&target=quantum_api_extension.pdf
>>>>>>>
>>>>>>> or
>>>>>>>
>>>>>>>
>>>>>>>
>>>>
>>>
>>
> http://wiki.openstack.org/QuantumAPIExtensions?action=AttachFile&do=vie
>>>> w&target=quantum_api_extension.docx
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Please review and let us know your comments/suggestions. An
>>>> etherpad page
>>>>>>> is created for API extension discussion
>>>>>>> http://etherpad.openstack.org/uWXwqQNU4s
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Ying
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>> Post to : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>> 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/~openstack
>>>>>> Post to : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>> More help : https://help.launchpad.net/ListHelp
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~openstack
>>>>> Post to : openstack@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>> More help : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>>
>>>> Confidentiality Notice: This e-mail message (including any attached
>> or
>>>> embedded documents) is intended for the exclusive and confidential
>> use
>>>> of the
>>>> individual or entity to which this message is addressed, and unless
>>>> otherwise
>>>> expressly indicated, is confidential and privileged information of
>>>> Rackspace.
>>>> Any dissemination, distribution or copying of the enclosed material
>> is
>>>> prohibited.
>>>> If you receive this transmission in error, please notify us
>>> immediately
>>>> by e-mail
>>>> at abuse@xxxxxxxxxxxxx, and delete the original message.
>>>> Your cooperation is appreciated.
>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~openstack
>>>> Post to : openstack@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~openstack
>>>> More help : https://help.launchpad.net/ListHelp
>>
>>
>>
>> Confidentiality Notice: This e-mail message (including any attached or
>> embedded documents) is intended for the exclusive and confidential use
>> of the
>> individual or entity to which this message is addressed, and unless
>> otherwise
>> expressly indicated, is confidential and privileged information of
>> Rackspace.
>> Any dissemination, distribution or copying of the enclosed material is
>> prohibited.
>> If you receive this transmission in error, please notify us
> immediately
>> by e-mail
>> at abuse@xxxxxxxxxxxxx, and delete the original message.
>> Your cooperation is appreciated.
>
This email may include confidential information. If you received it in error, please delete it.
Follow ups
References