← Back to team overview

openstack team mailing list archive

Re: [NetStack] Quantum Service API extension proposal

 

Hi Jorge,

Thanks for the clarification.
This is quite aligned with what we thought about extensions.

Best,
Ying

> -----Original Message-----
> From: Jorge Williams [mailto:jorge.williams@xxxxxxxxxxxxx]
> Sent: Tuesday, June 14, 2011 11:06 AM
> To: Ying Liu (yinliu2)
> Cc: <openstack@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [Openstack] [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.



References