Make ring class interface slightly more abstracted from implementation.

Change-Id: I0f55d61c7b8de30460f17a69e5d9946494dbda6e
set denied resp on requests to '/' in tempauth

Change-Id: If2e319561b3d41e09310228792356f38b7958416
tests for recon middleware.

My first stab at unittests for the recon middleware.
Also, made some minor changes to the middleware to make testing
easier now and down the road.

Change-Id: I23ce853398ff035ffbfc2082e90e22038832b966
version bump to 1.4.9

Change-Id: I8a2f7d09f1db5b24e69b108b7c90869d90aacb48
Add os_tenant_name to bin/swift and common.client

- Make sure we have a tenant_name when doing get_auth for 2.0
  auth_version.

Change-Id: I02dceb03f224c8fb91972e1f0e2925e5d1a06640
Only rewrite async-pending files if the data changed

Change-Id: If33b37a89e78632522874034df7bac433e7d0a9b
Add an optional delay to account reaping.

Normally, the reaper begins deleting account information for deleted
accounts immediately. With this patch you can set it to delay its
work. You set the delay_reaping value in the [account-reaper] section
of the account-server.conf. The value is in seconds; 2592000 = 30
days, for example.

Unfortunately, there are currently zero tests for the account-reaper.
This also needs fixing, but I thought I'd submit this delay patch
alone for consideration.

Change-Id: Ic077df9cdd95c5d3f8949dd3bbe9893cf24c6623
Display total disk usage info in swift-recon

Now display's cluster disk space used, free, and total.

Change-Id: I9c48dd6badaecd64cda4a2a8a51f41f1c29d328a
Merge "Make ring class interface slightly more abstracted from implementation."
Merge "tests for recon middleware."
Merge "set denied resp on requests to '/' in tempauth"
Merge "Display total disk usage info in swift-recon"
Merge "Only rewrite async-pending files if the data changed"
added Ye Jia Xu to AUTHORS file and appropriate .mailmap entry

Change-Id: Ib05f7742c51d00bd5ba901973343fd68ed6cd114
Fixed url in ObjectExpirer.iter_objects().

Change-Id: I859a08debc378c2bbb421a6323c6ea6e0564272f
allow / to pass through ratelimit

Change-Id: I891c5ea48511ca9ad47f2adbcbee700d63a4231d
StaticWeb fixes.

The previous staticweb had the silly problem of global state for
concurrent requests. This fixes that.

Also, the WSGI spec indicates start_response might not be called
right away and is only guaranteed to be called just before the first
"chunk" of the output iterator returns. This fixes StaticWeb's
previously incorrect assumption.

A thorough review of this code would be much appreciated; I've
messed it up enough times to not be completely trusted with it.

Change-Id: Ie751c24e21db7a884a83a731fbf2f4309437302c
Merge "Add an optional delay to account reaping."
object versioning

Object versioning in swift is implemented by setting a flag on the container
to tell swift to version all objects in the container. The flag is the
``X-Versions-Location`` header on the container, and its value is the
container where the versions are stored.

When data is ``PUT`` into a versioned container (a container with the
versioning flag turned on), the existing data in the file is redirected to a
new object and the data in the ``PUT`` request is saved as the data for the
versioned object. The new object name (for the previous version) is
``<versions_container>/<object_name>/<timestamp>``, where the timestamp is
generated by converting the ``Last-Modified`` header value of the current
version to a unix timestamp.

A ``GET`` to a versioned object will return the current version of the object
without having to do any request redirects or metadata lookups.

Change-Id: I4fcd723145e02bbb2ec1d3ad356713f5dea43b8b
Added option to disable SQLite db preallocation

Added option to disable SQLite db preallocation. This can be very
useful on pure ssd account/container servers where the extra space is
worth more than the lesser fragmentation.

Change-Id: I8fbb028a9b6143775b25b343e97896497a8b63a9