Improvements to database replication.

Note: I'd like to get this released as soon as possible as it is a
data durability issue.

1) Orders nodes so that none get starved (see code and footnote).

2) New max_diffs setting that caps how long the replicator will spend
   trying to sync a given database per pass so the other databases
   don't get starved.

3) Replaces run_pause with the more standard "interval", which means
   the replicator won't pause unless it takes less than the interval
   set.

Change-Id: I986742229e65031df88f5251ca61746b7c8d2bde
Merge "Change account pending to behave like container..."
Merge "Improvements to database replication."
Remove old stats tools.

https://blueprints.launchpad.net/swift/+spec/remove-old-swift-stats-tools

Change-Id: Ibb57b3d71c7f18060d2d48a1d3754a7f1444624d
Refactor partition gathering.

RingBuilder._reassign_parts() is really moving one (partition,
replica) pair at a time. However, the way that _gather_reassign_parts
passes that data in was strange; it would update each replica's entry
in _replica2part2dev to 0xffff, then return a list of affected
partitions. Now it just returns the pairs to move.

This is helpful in the presence of bugs that affect partition
assignment (e.g. #943493), there's no chance of stray 0xffff values
hanging around and corrupting the partition map.

Also, update my email address.

Change-Id: Ifb3aeb4fac750f66e2ddbad88eb5846e72bac20c
Updated CHANGELOG for 1.4.7

Change-Id: I6933a3faaceaff28f6ecbbe5904ed3eb46413a02
version bump to 1.4.8

Change-Id: I281422fbd4a1b028f600aad3b6f8d68be09f6399
Return NoSuchBucket/Key on 404.

- Fixes bug 945937.

Change-Id: If6dd53a716491a7d1a9ab4992224038ede4cb32a
Create tmpfile in the same dir as the cache file

Make sure we don't try to rename files across devices. Fixes bug 949366

Change-Id: I75581a0682c8db90cad9b077b1c22a886d234e31
Add support for venv-based test run with tox.

 * Adds tox config
   - based on the config from python-quantumclient and updated for
     test, pep8 and coverage execution as per nova's run_tests.sh.
 * Adds nosetests defaults in setup.cfg
 * Adds runtime dependencies in tools/pip-requires
   - dependencies were gathered by referencing the packages used in
     creation of a Swift All In One.  Versions were determined by
     checking the swift-core/trunk ppa or, failing that, the version
     available in lucid.
 * Adds test dependencies in tools/test-requires
 * Updates swift/common/middleware/formpost.py for pep8 compliance
 * Adds instructions for executing the tests with Tox to the
   developer_guidelines
 * Adds instructions for installing openstack.nose_plugin to
   developer_saio
 * Fixes bug 909177

Change-Id: I5407924d2181e9ab335aaf76bf30c8d40deccbb4
Merge "Return NoSuchBucket/Key on 404."
Adds name_check filter

Bug 926048.

Filter checks path for user-defined forbidden characters, and for
user-defined maximum length.

Includes changes to reflect gholt's latest comments to Patch Set 4
Also includes a change to a unit-test, renames another unit-test,
and removes one superfluous unit-test.

Added section to the example proxy config

Fixed-up unit test pep8 warnings

Changed error response code to 400 (Bad Request)

Change-Id: Iace719d6a3d00fb3dda1b9d0bc185b8c4cbc00ca
Fix "retries" key in dispersion json output.

Change-Id: I466302f05fd17c5b5460284c372c3667d7c46d7b
Merge "Add support for venv-based test run with tox."
Add instructions for pip install via easy_install.

Add a line item to easy_install pip since we now need to pip install
openstack.nose_plugin. Fixes bug 951019

Change-Id: Ibf4b8bb7feac2b8290db2f4c4665dacf8a881462
Refactor how RingBuilder iterates over its devices.

There were a dozen or so different places in RingBuilder that were
iterating over self.devs and filtering out None; now there's just one.

Change-Id: If8d9b44efc083040932d876cd76a6d26e4a36ebc
Body of http responses included in Swift error msg

The body of http responses is included in error messages from
swift.common.client and bin/swift if the body exists

Includes changes requested by Juan Martinez

Includes changes requested by David Goetz

Fixed pep8 warnings

Bug 949843

Change-Id: Ib998280762b084dd46f8c0f4524eed20513de82b
Make tests work like they used to.

Change-Id: I081d853a90ad0efce5b7a20b52794ce3348a9617
Small change to staticweb with container reques...

Small change to staticweb with container requests. Before, a request
to a container that had no x-container-meta-web-index and no
x-container-meta-web-listings would pass the request on to the proxy
server, even if x-web-mode was set to true. Now, if x-web-mode is set
true, it will 404.

This mostly important to folks that are using staticweb with an
external service that uses authenticated requests and x-web-mode set
to true, in which case the above 404 previously would return the
container listing (you were authenticated after all). Unauthenticated
requests would have received 401s anyway.

Change-Id: Ifd321a8a076a79c1e119c5259a40bf08defdbe3c
Change CLIAuth arg names

Change the argument names used for common Keystone authentication per the
updated http://wiki.openstack.org/CLIAuth:

--auth_url -> --os_auth_url
--password -> --os_password
--username -> --os_username

Fixes bug 954528

Change-Id: I7e956e74de8192957eee87d155b2e5338c8942f0