Fix logging issue when services stop on py26

On older versions of python 2.6, exceptions would be spewed to the error
log whenever a service would stop.  This gets magnified by the
container-updater which seems to do it with every pass.  This catches
and squelches the error.

Change-Id: I5944c1620c62cf0868b70dae7d7e2acd56bf8211
Closes-Bug: #1306027
Check swift.conf MD5 with recon

I've seen several folks recently have problems with their Swift
clusters because they had different hash prefixes on different
nodes. Let's help them out by having recon check that.

Note that MD5-equality is stronger than what we need (which is
ConfigParser-equality for a particular set of keys), but this way we
don't expose the secret hash prefix and suffix across the internal
network, just the MD5 checksum of the file containing them.

Change-Id: I3af984ee45947345891b3c596a88e3464f178cc7
Load constraints from cluster info dictionary

Use constrainst from the new "swift-constraints" section of test.conf,
fall back to those found in the response to the /info API call,
ultimately falling back to the constraints module's effective
constraints.

Change-Id: Iea01c9c4b5148faa10004a240df411cbe7336a6a
Bring Object Auditor Coverage To 99%

Previously at 87% with 20 missing 11 partial, this additional
test code brings it to 99% 0 missing and 3 partial.  Noticed
some easy places to add coverage while working on the
Storage Policy branch.

Change-Id: I49b5b4db3341416fce1ef42811732c16d3265522
Merge "Bring Object Auditor Coverage To 99%"
Fix error log of proxy-server when cache middleware is disabled

Change-Id: I0b67721cbb692fb8d2a5dd8b2c4f5383512b7b45
Closes-Bug: #1306591
setting request_node_count doesn't work

Change-Id: Ia161b872cf5ffa43c10334b42cc36d679c3adf56
TempURL: Fixed bug with \r or \n in disposition.

If an object had a \r or \n in its name, it would end up creating an
invalid HTTP Content-Disposition header. Reviewer consensus was to use
URL encoding.

Fixes bug 1306250

Change-Id: Ibccaaed5152b4d09d6aee4966a1982cc0a0da07d
Fix redundant add operation of set in ring

You don't need to add dev_id into seen_ids again when it has already existed in seen_ids.

Fixes Bug #1311190

Change-Id: If0766de8dc5e2a59a648cae39c789c91131805d2
Merge "Check swift.conf MD5 with recon"
Merge "Load constraints from cluster info dictionary"
Merge "setting request_node_count doesn't work"
Fix coverage report for newer versions of coverage

With newer versions of coverage (at least what is installed with ubuntu
trusty), code coverage isn't working.  Making this change allows the
coverage library to find the swift package.

Change-Id: I3b3792622904a86096064c0e03c8095636f83973
Merge "Fix redundant add operation of set in ring"
Merge "Fix error log of proxy-server when cache middleware is disabled"
Unit test for common.utils.cache_from_env

The behavior of common.utils.cache_from_env
was changed by https://review.openstack.org/#/c/89488/.
This patch adds unit test for that function.

Change-Id: If757e12990c971325f7705731ef529a7e2a9eee7
Sort the log file dates in reverse order

We want to show log files in descending order.

Change-Id: I6f79d9f5a73afa43efec36c3ca99afcde3fe7813
Closes-Bug: #1311405
Fix several typos in the codebase.

These were found using https://github.com/intgr/topy

Change-Id: I0dc7b76c44b8b17b1dcd79184dad1516fb11173c
In-process swift server for functional tests

Provide a way to run the functional tests using a p/a/c/o server setup
in the same process running the nosetests infrastructure.

By setting the environment variable, SWIFT_TEST_IN_PROCESS, to a true
value, the functional test framework will construct a set of proxy,
account, container and object servers running in the same process that
is running the functional tests, ignoring any external swift
service. This in-process swift environment is akin to the one used in
test/unit/proxy/test_server.py.

Setting that same environment variable to a false value will ensure the
in-process servers are not used.

When the above environment variable is not present, and the
/etc/swift/test.conf is _not_ present (or present but empty) on the
system where the functional tests are executing, the in-process
environment will be used. Previously, if no /etc/swift/test.conf file
was found, the tests would just be marked as skipped.

Using this in-process method allows one to gather code coverage using
the functional tests to exercise code paths, in addition to the unit
tests, or more easily debug existing functional tests, or even write new
ones.

There are two constraints that are changed for use with the in-process
functional tests: max_file_size is lowered to roughly 8 MB, and
client_timeout is set to 4s.

Change-Id: I5acd65e3068868d6509feae1d1954237d37fad45
Sleep between object ZBF process forks

We've found that, on fresh systems where the ZBF run completes
almost instantaneously, the Swift logs (syslog by default) get
filled-up with object ZBF scan start and completion messages.
This patch calls self._sleep() between ZBF scan runs to cut-down
on these messages and the related unnecessary ZBF scan runs
without impacting the integrity of the object auditing process.

Change-Id: I057c5ca235467cfa115a7a3d44e21c350900059a