Fix bug in swift-ring-builder list_parts

The number of shown replicas in the partition list might differ from the
actual number of replicas (as shown in the bugreport).

This codes simply iterates for the builder._replica2part2dev and
remembers the number of replicas for each partition.

The code to find the partitions was moved to swift/common/ring/utils.py
to make it easier to test, and a test to ensure the correct number of
replicas is returned was added.

Closes-Bug: 1370070
Change-Id: Id6a3ed437bb86df2f43f8b0b79aa8ccb50bbe13e
Change default keystone auth version to 3 in test/sample.conf

The functional tests devstack gate job currently skips tests
that require keystone v3 API. In conjunction with changes to
devstack [0] this patch will cause the gate job to use keystone
v3 API and stop skipping those tests.

Devstack sets auth version in its /etc/swift/test.conf by
uncommenting the value found in test/sample.conf, so the change
in this patch is sufficient to cause the v3 API to be used.

The devstack patch [0] sets the correct auth url for the v3 API
and creates a fourth test account that is required for the
currently skipped tests to run.

[0] change id I557de01bf196075f2f3adcdf4dd1b43756d8a0ae

Change-Id: I44e159b939f5e3fc3780612823d12262013ea793
Handle os.listdir failures in container-updater

While investigating bug 1375348 I discovered the problem
reported there was not limited to the object-auditor.  The
container-updated has similar bugs.

This patch catches the unhandled exception that can be thrown by
os.listdir.

Change-Id: I7eed122bf6b663e6e7894ace136b6f4653db4985
Related-bug: 1375348
When a filesystem does't support xattr return a 507

Currently when the object server tries to write an object's metadata
to a filesystem that doesn't support xattr, it errors with a stacktrace
and returns a 500 error back to the user with no information.

This patch catches the resulting IOError when attempting to read or write
the xattr metadata, logs the error nicely and then returns a 507 error
back to the user.

Seeing as this change is sending back a 507, it also catches and logs
the out of disk space errors (ENOSPC and EDQUOT).

Change-Id: I31932b57582817a0b3b58dd315a996bd0bcbc99b
Closes-Bug: #966671
Add Swift Browser as an associated project

This is a JavaScript based browser for Swift.

Change-Id: I2e304d4a0623c715f8712a358fef5067abc8935b
Rename Swiftbrowser in associated projects

Let's use the full project name to avoid confusion with the recently added
Swiftbrowser based on AngularJS.

Change-Id: Ib07338268a1593bc2882908b49c1fb4a130ff43d
Merge "Rename Swiftbrowser in associated projects"
Merge "Handle os.listdir failures in container-updater"
added docs on specs workflow to CONTRIBUTING.md

Change-Id: Id83d1da2a7a594a07fc5332b918539b3728e101b
Merge "Change default keystone auth version to 3 in test/sample.conf"
Merge "added docs on specs workflow to CONTRIBUTING.md"
Make resetswift customizable via environment

Instead of recommending to edit resetswift to replace "/dev/sdb1" with
"/srv/swift-disk", use an environment variable instead. This way I can
set SAIO_BLOCK_DEVICE=/srv/swift-disk in my .bashrc, and then when I'm
testing out changes to resetswift, I don't need to remember to edit
the modified script, nor do I end up submitting changes with the wrong
default in there.

The variable defaults to /dev/sdb1, so if you use the script unmodified
and don't set SAIO_BLOCK_DEVICE, nothing changes for you.

Change-Id: I741a8c91c2c54a4f32bc391cd794ef4206402753
Merge "Make resetswift customizable via environment"
Merge "When a filesystem does't support xattr return a 507"
Merge "Fix bug in swift-ring-builder list_parts"