[Openstack] Multiple Versions in Openstack API

Eric Day eday at oddments.org
Thu Mar 3 22:21:09 UTC 2011


Sounds good to me. Share as much as we can, but also keep the code
readable. We'll deal with specifics once the code is proposed for
merge.

-Eric

On Thu, Mar 03, 2011 at 04:33:22PM -0500, Brian Waldon wrote:
>    So I also think it is great to support multiple apis (and major versions).
>    Right now I am more concerned with how we should accomplish this in the
>    code. Does anyone have any objection to creating a different directory
>    under nova/api per api and major version with a common set of code shared
>    between them?
> 
>    A 
> 
>    -----Original Message-----
>    From: "Ewan Mellor" <Ewan.Mellor at eu.citrix.com>
>    Sent: Thursday, March 3, 2011 4:29pm
>    To: "Eric Day" <eday at oddments.org>
>    Cc: "Brian Waldon" <brian.waldon at rackspace.com>,
>    "openstack at lists.launchpad.net" <openstack at lists.launchpad.net>
>    Subject: RE: [Openstack] Multiple Versions in Openstack API
> 
>    That's fine by me. If you've got reasons to keep it, and upgrade from
>    CloudServers 1.0 is a great one, then let's keep it.
> 
>    Ewan.
> 
>    > -----Original Message-----
>    > From: Eric Day [mailto:eday at oddments.org]
>    > Sent: 03 March 2011 19:35
>    > To: Ewan Mellor
>    > Cc: Brian Waldon; openstack at lists.launchpad.net
>    > Subject: Re: [Openstack] Multiple Versions in Openstack API
>    >
>    > If we are supporting ec2, we should support CloudServers 1.0 since
>    > there are tools for that. Rackspace needs to do it for their upgrade
>    > path, why not keep in in Nova trunk so others can use? It will be
>    > legacy just like the ec2 interface, but I see no harm in keeping
>    > it there.
>    >
>    > If the underlying service changes enough that we can't (or would need
>    > to jump through too many hoops), we can discuss specifics then and
>    > possibly remove it.
>    >
>    > -Eric
>    >
>    > On Thu, Mar 03, 2011 at 07:19:58PM +0000, Ewan Mellor wrote:
>    > > I agree with you in general, Eric.
>    > >
>    > > For this particular transition (API 1.0 to 1.1) are there any
>    > important client tools that would break? I don't imagine that there
>    > are many people who've written against Bexar and wouldn't be able to
>    > redo their stuff against Cactus, so the question is really whether
>    > there are Cloud Servers clients that we expect to retarget against
>    > Cactus without change.
>    > >
>    > > The reason I'm asking is that this particular transition seems to be
>    > much less incremental than others may be in the future, and if we can
>    > shed the burden now, we may as well. We certainly won't be able to
>    > shed the burden in the future.
>    > >
>    > > Thanks,
>    > >
>    > > Ewan.
>    > >
>    > > > -----Original Message-----
>    > > > From: openstack-bounces+ewan.mellor=citrix.com at lists.launchpad.net
>    > > > [mailto:openstack-
>    > bounces+ewan.mellor=citrix.com at lists.launchpad.net]
>    > > > On Behalf Of Eric Day
>    > > > Sent: 03 March 2011 17:21
>    > > > To: Brian Waldon
>    > > > Cc: openstack at lists.launchpad.net
>    > > > Subject: Re: [Openstack] Multiple Versions in Openstack API
>    > > >
>    > > > We should support old versions. The API layers should be a very
>    > thin
>    > > > layer over what the Nova internal API provides, so even if we have
>    > > > v1.0, v1.1, etc. subdirectories in the API and do full code
>    > copying,
>    > > > it should be a fairly minimal mapping. We can of course share as
>    > > > much common code (like serialization) between them to keep code
>    > > > duplication down. Think of all the tools that folks will write that
>    > > > won't get the immediate attention when we decide to change. I'm not
>    > > > going to propose how to deprecate really old versions, we'll tackle
>    > > > that when we get there (probably years away).
>    > > >
>    > > > -Eric
>    > > >
>    > > > On Wed, Mar 02, 2011 at 05:42:41PM -0500, Brian Waldon wrote:
>    > > > > Currently, the Openstack API includes a Versions WSGI
>    > application.
>    > > > The
>    > > > > intended purpose is to detail all versions of the API that are
>    > > > reachable
>    > > > > by a client. Currently, it only supports "v1.0." As we move
>    > > > towards the
>    > > > > Cactus release, we need to add support for the new "v1.1"
>    > > > specification.
>    > > > > The intention of the Versions app seems to be to deploy
>    > multiple
>    > > > versions
>    > > > > of the OS API within the same codebase. Since these two
>    > versions
>    > > > have
>    > > > > significant differences, having to support each in the same
>    > code
>    > > > seems
>    > > > > unnatural.
>    > > > >
>    > > > > A
>    > > > >
>    > > > > With the existing approach, versioning could be accomplished
>    > > > multiple
>    > > > > ways: version-specific "if" statements, version-specific class
>    > > > > hierarchies, etc. I feel this is inelegant and could be
>    > > > accomplished a
>    > > > > much cleaner way. I propose we move the responsibilities of
>    > the
>    > > > Versions
>    > > > > app out of the nova codebase and into the hands of the
>    > operator of
>    > > > the api
>    > > > > endpoints. With this approach, the code would not
>    > unnecessarily
>    > > > increase
>    > > > > in complexity as more versions of the api are released. The
>    > major
>    > > > drawback
>    > > > > of this strategy is that each release of Openstack Compute
>    > could
>    > > > support a
>    > > > > single OS API version.
>    > > > >
>    > > > > A
>    > > > >
>    > > > > As we are slated to have our first multi-version OS API
>    > release in
>    > > > Cactus,
>    > > > > I would like to see us reach a consensus as soon as posible.
>    > Any
>    > > > and all
>    > > > > feedback is welcome!
>    > > > >
>    > > > > A
>    > > > >
>    > > > > Brian Waldon
>    > > >
>    > > > > _______________________________________________
>    > > > > Mailing list: https://launchpad.net/~openstack
>    > > > > Post to : openstack at lists.launchpad.net
>    > > > > Unsubscribe : https://launchpad.net/~openstack
>    > > > > More help : https://help.launchpad.net/ListHelp
>    > > >
>    > > >
>    > > > _______________________________________________
>    > > > Mailing list: https://launchpad.net/~openstack
>    > > > Post to : openstack at lists.launchpad.net
>    > > > Unsubscribe : https://launchpad.net/~openstack
>    > > > More help : https://help.launchpad.net/ListHelp




More information about the Openstack mailing list