value 0 is regard as not available by swift-ring-builder
$ swift-ring-builder testring add --region 0 --zone 1
--ip 127.0.0.2 --port 6000 --device sdb --weight 100
Required argument -r/--region not specified.
The on-disk ring builder is unchanged.
this patch is to make value 0 available.
Change-Id: Id941d44d8dbfe438bf921ed905908b838c88a644
Closes-bug: #1547137
Running swift-init with -h, --help, or no arguments
displays help for the command. The help does not
document the 'main', 'all', and 'rest' options.
These are documented in the man page.
This patch adds all these server options in the
help of swift-init.
Change-Id: I8e27589912ae72ace14c955e66b86942bc23d9f7
Closes-Bug: #1580722
As much as anything, I'm just tired of seeing a bunch or piecemeal
fixes.
Note that we *need* to include
from __future__ import print_function
in order to support things like
print() # Would print "()" (the repr of an empty tuple) otherwise
print(foo, end='') # Would SyntaxError
print(bar, file=sys.stderr) # Would SyntaxError
Change-Id: I8fdf0740e292eb1ee785512d02e8c552781dcae1
In the swift deployment guide, region is missing from the syntax of
adding a new device to the swift-ring-builder.
This patch adds region in the syntax.
Change-Id: I43e247c92d461efd530c0f82ca3daddcb9e2ba5b
Closes-Bug: #1584127
Replace urllib.quote import with six.moves.urllib.parse.quote, so the
code works on Python 2 and Python 3.
Change-Id: I17e9cd9668661b6a67f33db83e0cbfc8ea6e3ca6
libssl-dev/openssl-devel are already listed in other-requirements.txt;
add them to installation instructions in the SAIO docs.
Change-Id: I3dc07213ff8dac1299d3eb68d3448a77e15c79af
Fix an anomaly where object metadata for an empty object has no
encrypted etag, but if the encrypter received a container update
override etag in footers or headers then it would encrypt that,
so we'd have encrypted metadata in the container listing but not
in the object metadata. (Empty object etags are not encrypted
because the object content is revealed by its size anyway).
This patch changes the override handling to not encrypt override
etags that correspond to an empty object, with one exception: if
for some reason the received override etag value is that of an empty
string but there *was* an object body, then we'll encrypt the
override etag, because it's value is not obvious from the object
size.
Change-Id: I8d7da34d6d98f351f59174883bc4d5ed0416c101
Change swift.proxy.server.Application.error_occurred()
to decode message as utf-8 in same way that the
exception_occurred() method was changed in [1].
This prevents a unicode error when logging error responses
in swift.proxy.controllers.base.Controller._make_request()
for paths that have non-ascii characters. Although the unicode
error is currently caught by a surrounding except clause, the
logging and error limiting treatment is different for ascii
vs non-ascii paths. This patch makes them consistent.
Fix the server type reported in _make_request() to be
the correct server type, not always 'Container Server'.
Fix path arg passed to _get_conn_response in
swift.proxy.controllers.obj.BaseObjectController to be req.path
rather than req.
Add unit tests for error_occurred() being called with non-ascii
paths and extend tests for exception_occurred() (see Related-Bug).
[1] Change-Id: Icb7284eb5abc9869c1620ee6366817112d8e5587
Related-Bug: #1597210
Change-Id: I285499d164bff94835bdddb25d2af6d73114c281
Also added a Timeout class to test.unit to wrap possible long-running
functions. For example, if there is some regression and the "--yes"
argument is no longer evaluated correctly and the test excepts some
keyboard input, it will be terminated after a few seconds to ensure
there is no long-running blocker on the gate.
Change-Id: I07b17d21d5af7fcc594ce5319ae2b6f7f58df4bb