swift/test
Brian Cline 7568ea5dd9 Prevent down nodes failing PUTs with non-ascii obj names
On an object PUT with a non-ascii name, if we hit some kind of
exception speaking to only one object-server of the N we try to
connect to, we try to log it -- but this causes an exception when
interpolating the UTF-8 encoded path iff the message template is
unicode.

Since this is essentially an exception within an exception handler,
this fails the entire request with a 500 error -- even though the
other nodes may have been just fine. This occurs before it attempts
a handoff node.

The simplest way to reproduce this is by running func tests against
a small cluster where one of the object nodes is not running

N.B. The locale of the node does not matter because the message
template is interpolated with node/device data from the Ring which is
always unicode because of json.

This includes an update to the FakeRing used by unittest
infrastructure to ensure that the FakeRing devices make a round-trip
through json to ensure consistent typing with real Rings.

Change-Id: Icb7284eb5abc9869c1620ee6366817112d8e5587
Closes-bug: #1597210
2016-07-05 16:33:15 -07:00
..
functional Merge at-rest encryption feature into master 2016-07-01 00:34:33 -07:00
probe Enable object body and metadata encryption 2016-06-30 23:31:15 -07:00
unit Prevent down nodes failing PUTs with non-ascii obj names 2016-07-05 16:33:15 -07:00
__init__.py test/(functional/probe):Replace python print operator with print function (pep H233, py33) 2015-08-20 11:42:58 +09:00
sample.conf Merge "Add a note for functional tests with Keystone." 2016-03-18 05:08:10 +00:00