[Openstack] [Swift] API changes in v2 vs v1

John Dickinson me at not.mn
Thu Jul 24 04:05:03 UTC 2014


Although there is an integrated release of OpenStack twice a year, that release is the aggregate of different projects and different code repositories that are managed by different subsets of the overall developer community. And there are new projects added all the time. I don't think it's a technical problem to figure out how to do a unified API--I think it's a social problem.

But that being said, being able to isolate different parts of the overall cumulative "OpenStack API" and version them independently does offer some advantages. Swift is and has always been at v1. This means that you know that if you have Swift clients written years ago, they still work. Keystone has a v2 in wide deployment and is working on a v3. This has allowed them to iterate and improve independently of the other thousands of developers in the ecosystem. Likewise for all the rest of the projects in OpenStack, and this is very important, I think, to the overall ability for us, as an open source community, to make forward progress. In general, no one project can hold back or is held back by another group in the community. 

Some good news is that there is an openstack-sdk effort underway. My understanding is that it will provide a unified CLI and SDK for all openstack projects. Perhaps this will give your customers the comfort they need for a "single API" perspective.

--John




On Jul 23, 2014, at 8:13 PM, Adam Lawson <alawson at aqorn.com> wrote:

> Well, please don't mistake my question as a personal resistance to how things are currently done. I am however curious if standardizing things across the ecosystem is possible so the perceived message is consistent. Versioning of the programs themselves is different since folks seem to be picking up that different programs are at different stages of development. But API versions are causing a lot of discussion around "why are we only using v2 in Swift but v3 in Keystone? For instance.
> 
> The versioning doesn't bother ME one bit personally. But clients talking of adopting Openstack are seeing, from my perspective, different API versions as though certain API's are inferior to others. One client recently asked "why can't we use v3 with all of the API's?" I explained and they had an "aha" moment, but that dialog just happens over and over again.
> 
> 
> Adam Lawson
> AQORN, Inc.
> 427 North Tatnall Street
> Ste. 58461
> Wilmington, Delaware 19801-2230
> Toll-free: (844) 4-AQORN-NOW ext. 101
> International: +1 302-387-4660
> Direct: +1 916-246-2072
> 
> 
> 
> On Wed, Jul 23, 2014 at 11:52 AM, John Dickinson <me at not.mn> wrote:
> Adam, that sounds you're talking about the API versions. So a user is consuming eg Keystone v2, Nova v3, and Swift v1 (not to mention all the other projects). Are you asking for a singular "OpenStack API"? Or maybe a common API version number across projects (similar to how the requirements are managed)?
> 
> 
> On Jul 23, 2014, at 11:40 AM, Adam Lawson <alawson at aqorn.com> wrote:
> 
> > This makes perfect sense to me John. But consistency across the project would be a nice-to-have for those who design and communicate the platform to decision makers who don't understand why they're signing off v1 of this, v2 of that, v1 of this other one... It portrays a sense of program incongruity (perceived or otherwise) which adds to existing concerns about platform complexity. I spend more time explaining why than otherwise.
> >
> > Logical versioning vs "Nice to have". ; )
> >
> >
> > Adam Lawson
> > AQORN, Inc.
> > 427 North Tatnall Street
> > Ste. 58461
> > Wilmington, Delaware 19801-2230
> > Toll-free: (844) 4-AQORN-NOW ext. 702
> > Int'l: +1-302-268-6914 ext. 702
> > Cell: +1-916-990-1226
> >
> >
> >
> > On Tue, Jul 22, 2014 at 10:46 AM, Shrinand Javadekar <shrinand at maginatics.com> wrote:
> > > Hope this helps clear things up.
> >
> > This does. Thanks for the detailed explanation.
> >
> > -Shri
> >
> > >
> > > --John
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Jul 22, 2014, at 10:05 AM, Shrinand Javadekar <shrinand at maginatics.com> wrote:
> > >
> > >> This is confusing. So does this mean semantic versioning applies to
> > >> the API's and not the Swift product versions? If so how are the
> > >> product versions decided? And given a product version, how does one
> > >> know about what API version is in use? The /info endpoint does not
> > >> mention the API version.
> > >>
> > >> I had asked about versioning sometime ago [1] and I thought the
> > >> release version and API version are identical.
> > >>
> > >> -Shri
> > >>
> > >> [1] http://www.gossamer-threads.com/lists/openstack/dev/36042
> > >>
> > >>
> > >> On Tue, Jul 22, 2014 at 5:37 AM, Anne Gentle <anne at openstack.org> wrote:
> > >>> Hi Shri,
> > >>> The Object Storage API change is just to add a header called
> > >>> 'X-Storage-Policy: <name>' where name is set in the swift configuration
> > >>> files by the cloud provider.
> > >>>
> > >>> See http://docs.openstack.org/developer/swift/overview_policies.html
> > >>>
> > >>> We'll add it to the API docs next, no version change needed for the API
> > >>> itself.
> > >>> Anne
> > >>>
> > >>>
> > >>> On Tue, Jul 22, 2014 at 12:46 AM, Shrinand Javadekar
> > >>> <shrinand at maginatics.com> wrote:
> > >>>>
> > >>>> Hi,
> > >>>>
> > >>>> Swift has been following the semantic versioning scheme. The fact that
> > >>>> the product version changed from v1.x to v2.0 should suggest that the
> > >>>> Swift APIs changed in this release.
> > >>>>
> > >>>> I see that storage policies has been the biggest change in this
> > >>>> release. Has that impacted the APIs?
> > >>>>
> > >>>> Is there a document that lists exactly the API difference between v1.x and
> > >>>> v2.0?
> > >>>>
> > >>>> Thanks in advance.
> > >>>> -Shri
> > >>>>
> > >>>> _______________________________________________
> > >>>> Mailing list:
> > >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > >>>> Post to     : openstack at lists.openstack.org
> > >>>> Unsubscribe :
> > >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > >>>
> > >>>
> > >>
> > >> _______________________________________________
> > >> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > >> Post to     : openstack at lists.openstack.org
> > >> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > >
> >
> > _______________________________________________
> > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > Post to     : openstack at lists.openstack.org
> > Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> >
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140723/937d882f/attachment.sig>


More information about the Openstack mailing list