Validate numericness of ports in builder files.

You can't really goof this up using bin/swift-ring-builder, but if you
have code that uses swift.common.ring.RingBuilder directly, you can
stuff e.g. "6002" in where you mean 6002, resulting in some fairly
baffling failures. (Yes, I have done this.)

Change-Id: I87b7b7066b9ea2ce6f82255605da99cf0d283689
Merge "Update auto-generated docs"
Merge "Add more command-line options to swift-bench."
Add handler for CORS "actual requests"

Fix for bug 1095130

* Added a wrapper function around public methods to handle
  CORS actual requests. These requests need to return some
  extra headers to be valid responses to a CORS request.
  Access-Control-Expose-Headers and Access-Control-Allow-Origin.

* Added support for the CORS header Access-Control-Expose-Headers.

* Some refactoring of the OPTIONS method so the
  "is_origin_allowed" logic can be reused.

* Added a little extra detail to the CORS documentation.

DocImpact

Change-Id: I68538e472a900775427f21a8a59e738a83dcc8bc
Merge "Add handler for CORS "actual requests""
Merge "Allow for multiple X-(Account|Container)-* headers."
Deprecate is_admin feature.

- This has been confusing since the beginning of keystoneauth.
- Do not remove the feature but just print a large warning when
  used.

Change-Id: I13990d7ab6760bb6479cf4f0717067522e1ef920
Fix keystoneauth with OPTIONS headers (eg: CORS)

- Fixes bug 1101143.

Change-Id: I2a82269e4aed2c8926e0aa736c38120784e25de2
Bulk Requests: auto extract archive and bulk delete middleware.

Fix small problem in ratelimiting middleware.

DocImpact

Change-Id: Ide3e0b9f4887626c30cae0b97eb7e2237b1df3ed
Add wsgify and split_path utilities to swob

And refactor some of the code to use them.

Remove unused imports.

Change-Id: Ica479c10247fa85c740bb99cf7d1db7fbb1b2c80
Add optional locking to swift-ring-builder

If invoked as 'swift-ring-builder-safe' the directory containing the builder
file provided will be locked (via lock_parent_directory()). This provides a
small safe guard against multiple instances of the swift-ring-builder (or
other utilities that observe this lock) from attempting to write to or read
the builder/ring files while operations are in progress.

This is particularly useful in environments where ring management has been
automated (via Chef or custom solutions) but the operator still occasionally
needs to manually interact with the ring.

DocImpact

Change-Id: Ia362744a8151a91bfb586d01da582906726852e6
Handle access_log_headers in proxy_logging

 * in etc/proxy-server.conf-sample, there is an access_log_headers directive in proxy_logging middleware.
   but current code doesn't handle it. This patch enables proxy_logging to handle access_log_headers.

Change-Id: I03337ccc4f48625af3f578ed543da992d3eec2bd
Merge "Handle access_log_headers in proxy_logging"
Added fallocate_reserve option

Some systems behave badly when they completely run out of space. To
alleviate this problem, you can set the fallocate_reserve conf value
to a number of bytes to "reserve" on each disk. When the disk free
space falls at or below this amount, fallocate calls will fail, even
if the underlying OS fallocate call would succeed. For example, a
fallocate_reserve of 5368709120 (5G) would make all fallocate calls
fail, even for zero-byte files, when the disk free space falls under
5G.

The default fallocate_reserve is 0, meaning "no reserve", and so the
software behaves exactly as it always has unless you set this conf
value to something non-zero.

Also fixed ring builder's search_devs doc bugs.

Related: To get rsync to do the same, see
https://github.com/rackspace/cloudfiles-rsync
Specifically, see this patch:
https://github.com/rackspace/cloudfiles-rsync/blob/master/debian/patches/limit-fs-fullness.diff

DocImpact

Change-Id: I8db176ae0ca5b41c9bcfeb7cb8abb31c2e614527
Merge "Fix keystoneauth with OPTIONS headers (eg: CORS)"
Merge "Add wsgify and split_path utilities to swob"
Allow rebalance to take a seed.

Passing a seed into rebalance makes the rebalance deterministic
which allows us to generate identical rings across disparate
nodes without having to copy the ring files around.

Change-Id: Ie5ae46ac030e61284bc501fdef9d77eeb5243afd
Merge "Added fallocate_reserve option"
Allow change the endpoint_type when use swift-dispersion tools

Fixes bug 1102319
DocImpact

Change-Id: I8fb0417ab9468e97ed01a6cb1e262630905e7f29
Remove tempauth allowed_sync_hosts conf option

Seems we missed these references when committing
357b12dc2ba7b19c66196a573ccb2489d2104b93

DocImpact

Change-Id: Ia226ce1d63e52769bc067d50ec4704cea4e11c5c