openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #11237
[Swift] swift news and plans
TL;DR: removing code from swift, associated projects doc, swift 1.5.0
I want to let the openstack community know of some recent changes within swift
and how those changes will affect the next version of swift. Swift has a
growing developer community and a rapidly expanding deployed base. While this
growth is fantastic, it does come with new challenges, especially for the
swift core developers. As more and varied use cases are presented to swift,
patches are submitted that enhance swift's functionality either by offering
optional features or alternative APIs.
The challenge with this growth is that the core developers become responsible
for understanding and maintaining an ever-increasing codebase. This
responsibility becomes a timesink, both for reviews and for fixing regression
bugs as new core features are added. For non-core developers, the review
process for new code becomes slower, and changes that don't affect swift's
core functionality often fall to the bottom of the pile--sometimes even to the
point of expiring due to inactivity.
Our solution for these problems is to limit the scope of swift. Swift's core
functionality is to provide cheap, durable, and scalable object storage
exposed through its own API. Other functionality and alternative APIs should
be maintained separately from the swift codebase.
As a result of this focus in scope, we have begun removing some of the
optional parts of swift. Initially, this will include the tempurl, formpost,
staticweb, rate limiting, swift3, domain remap, and cname lookup middleware
modules. Proposed patches that offer alternative APIs (like CDMI) or include
optional functionality that can be implemented external to swift will be
encouraged to be developed separately from swift.
We have already begun the process of removing many of these pieces of
middleware from swift and moving them into their own respective repos.
However, all of this functionality is quite valuable and beneficial to swift.
There is a real need for most of these modules. Separating them from swift
introduces the problem of discoverability. As a result, we have added a new
page to our swift docs that lists associated projects and added links to that
page on swift.openstack.org.
http://swift.openstack.org/associated_projects.html
This page is fairly limited right now, but the basic structure is there. As
things are removed from swift and as new associated projects are created, they
will be added to the list. This doc page is maintained in the swift codebase,
so updating it is subject to the same requirements of any other patch to swift.
An important note is that this list offers no distinction or references to
"official" or "approved" associated projects. This list is independent of any
openstack CI integration that may or may not happen in the future.
Once we finish the process of migrating the optional pieces of swift away from
the swift codebase, we will cut our next release: swift 1.5.0. There is no
date set for this yet, but I hope the migration process can be finished in
the next several weeks. Swift 1.5.0, therefore, will be somewhat larger than
most of our other swift releases. Existing deployers will need to be careful
about upgrading to ensure that new dependencies are met.
If you have any questions, please feel free to email me. This whole effort is
a work-in-progress. I know that there are several similar discussions going on
within the openstack community, and swift's solution is not necessarily
intended to replace any more general solution that may eventually arise. If
there is a better solution at some point, we will do what we can to integrate
with it.
--John
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
Follow ups