Add UT for checking special chars in object name

Add special chars could help checking quote/unquote, encode/decode
problems. Those two is one of most common mistakes.

Change-Id: Ife1c0b481f08c1666d62b4fb51b7fdcdfdbf2ba6
Fix ring validate with device prior to rebalance.

A builder file with some devices added but before rebalance() is called
should be invalid (in the sense that validate() raises
RingValidationError instead of TypeError).

Change-Id: I5538239db4b2fde83be2390014504e35ccd7c0d3
Fix formpost with queries without user_agent.

- Fixes bug 1190220.

Change-Id: I3d46cc8f26ce9970dacb82bc5243b3528788c785
Fix 503 on account/container HEAD w/invalid format.

A HEAD request to /v1/a[/c]?format=%FF would result in a 503 since
there was an unhandled UnicodeDecodeError. Now it doesn't.

bug 1190395

Change-Id: I4d8ec677092617391fe154a25f22d919536a72a5
Improve SAIO deploy document.

improving points:
1. Remove yum install swift in Fedora; Use installing from source for
both Ubuntu and Fedora.
2. Explain you could use all users including root, your own guest. An
d the points developer have to care.

Change-Id: Id6d683441bd790a21734624e29eb7c98bb40de85
Fixes: bug #1126389
Merge "Add UT for checking special chars in object name"
Merge "Improve SAIO deploy document."
Merge "Fix formpost with queries without user_agent."
Added logging of x-delete-at values

Added logging of the x-delete-at value for object PUTs and POSTs and
made the additional log field generic for other similar use cases.

Logging the x-delete-at is useful because otherwise you might never
know why an object "disappeared" just by looking at saved proxy logs.
You'd see a successful PUT of the object followed some time by a GET
that 404s. If you still have the other logs, you could track down
what happened; but, at least with our clusters, we keep proxy logs
forever but only keep the other logs for a short while.

Change-Id: Ida559abcf8dc5666e2a7eea250a67d1c4b28b1be
Checked user input in XML responses.

Fixes bug 1183884.

* swift/account/utils.py: Escape account name in XML listings.

Change-Id: I2392d012ddeec05a267c3dcf14748112316096f3
Merge "Added logging of x-delete-at values"
Remove Lucid/ppa instructions from SAIO guide

Lucid won't EOL until May of 2014; but I stopped trusting that ppa a long time
ago. Besides with the requires for dnspython and mock where they're at you
almost can't install swift from source on any stock distro and expect tests to
pass with system packages - so we're looking at pypi for depends regardless.

While I'm in there:

* more explanation of <your-user-name> and a helpful find/sed for configs
* group the "setup ~/.bashrc" stuff with the "setup ~/bin" stuff
* some updates/fixes from my experience installing on CentOS
* remove region warnings from remakerings

Change-Id: Ie2e6b06959ab699d853e07e5b7e8cda7036a44fe
Better escaping for GET /v1/a?format=xml.

Commit 8f9b135 fixed a bug where an XML attribute could have arbitrary
characters jammed into it, resulting in a document with arbitrary
tags... and it did remove the ability to get an arbitrary XML document
out of the object server. However, it left a couple of ways to get a
malformed XML document, one example of which is an account named ".

This fixes up the remaining ways and ensures you always get a
well-formed XML document in the account-listing response. Also, it
adds a unit test for the escaping of the container name; this was
already working, just untested.

If you look in the discussion for bug 1183884, you'll see that the
review comments there are basically "seems good, but could use a unit
test". (The astute reader will note that I am one of the guilty
parties in that review.)

I found this bug while writing the missing unit test.

The moral of this story is left as an exercise for the reader.

Fixes bug 1183884 harder.

Change-Id: I84b24dd930ba1bb6c4f674f8d3996639dedbce15
Fixed some minor doc building errors

Change-Id: I91709c3fc6e937fdb31b418ac98fe5a67265cea7
Merge "Better escaping for GET /v1/a?format=xml."
Merge "Fix ring validate with device prior to rebalance."
More xml fixes

subdir elements now have their names quoteattr

Change-Id: I37faf164e339deacb6555db94196135debe22a6c
Merge "Fix 503 on account/container HEAD w/invalid format."
Merge "More xml fixes"
Merge "Fixed some minor doc building errors"