c4c98eb64d3d99a5fb58f0390600f3e7755da1b2
4058 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Tim Burke
|
c4c98eb64d |
Include SLO ETag in container updates
Container servers will store an etag like <MD5 of manifest on disk>; slo_etag=<MD5 on concatenated ETags> which the SLO middleware will break out into separate "hash": "<MD5 of manifest on disk", "slo_etag": "\"<MD5 of concatenated ETags\"", keys for JSON listings. Text and XML listings are unaffected. If a middleware left of SLO already specified a container update override, the slo_etag parameter will be appended. If the base header value was blank, the MD5 of the manifest will be inserted. SLOs that were created on previous versions of Swift will continue to just have the MD5 of the manifest in container listings. Closes-Bug: 1618573 Change-Id: I67478923619b00ec1a37d56b6fec6a218453dafc |
||
|
Zuul
|
1ab691f637 | Merge "IP Range restrictions in temp urls" | ||
|
Alistair Coles
|
9a7b46e1e3 |
swift-ring-builder shows hint about composite builder file
If swift-ring-builder is erroneously given a composite builder file, which it will fail to load, it will now print a hint that the file is a composite builder file. Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Change-Id: If4517f3b61977a7f6ca3e08ed5deb182aa87a366 |
||
|
Zuul
|
44f60d9245 | Merge "Address some review comments" | ||
|
Zuul
|
cb3692f8db | Merge "swob.Match: remove quotes when checking __contains__" | ||
|
mmcardle
|
26b20ee729 |
IP Range restrictions in temp urls
This patch adds an additional optional parameter to tempurl which restricts the ip's from which a temp url can be used from. Change-Id: I23fe998a980960d4a32df042b3f6a21f096c36af |
||
|
Zuul
|
3378a48733 | Merge "py3: port proxy/controllers/info.py" | ||
|
Zuul
|
9dffe8b88d | Merge "functests: Clean up objects better" | ||
|
Zuul
|
e93c6187f6 | Merge "swob: Stop auto-encoding unicode bodies" | ||
|
Zuul
|
a4b986fd78 | Merge "tempauth: Send back url-encoded account names" | ||
|
Tim Burke
|
783c7f6117 |
py3: port proxy/controllers/info.py
Yes, this means you can now start a proxy-server process on py3! And it will give you something useful on /info! Apparently you can even get auth tokens from tempauth, although the tempauth unit tests don't pass yet. Change-Id: I86ead2989b5934a7584cdd75719ce239826e01ec |
||
|
Tim Burke
|
d03fc9bc54 |
swob: Stop auto-encoding unicode bodies
Instead, require that callers provide an encoding. Related-Change: I31408f525ba9836f634a35581d4aee6fa2c9428f Change-Id: I3e5ed9e4401eea76c375bb43ad4afc58b1d8006a |
||
|
Zuul
|
729fe6f79d | Merge "swob: Fix up some WSGI string business" | ||
|
Zuul
|
eb43d30320 | Merge "Enforce Content-Length in catch_errors" | ||
|
Tim Burke
|
7ae2cc4cc8 |
Address some review comments
There's already a nice way to reap a process if it's exited while not waiting, and it doesn't require timeouts. Change-Id: Ie327fecb6a3055ff146a94e1171ec0ec68d7179f Related-Change: If6dc7b003e18ab4e8a5ed687c965025ebd417dfa |
||
|
Tim Burke
|
158d4c28b2 |
swob.Match: remove quotes when checking __contains__
If we're going to drop the quotes during initialization, we should probably drop them when making comparisons, too. Change-Id: I90c6e8a7c6faf8fafb0cd64fabbc9629d6c4c48a |
||
|
Tim Burke
|
efcf7e6a95 |
swob: Fix up some WSGI string business
Change-Id: Iee1bab5775b243c318aa22ee4a548d793e6684ca |
||
|
Samuel Merritt
|
306f9a150f |
py3: port domain_remap tests
The domain_remap middleware didn't need to change, only its tests. Change-Id: I5edf05b609ce263708f851219c38c1bd1b645a6f |
||
|
Samuel Merritt
|
50ea4e1e08 |
py3: port healthcheck
Typed "b" in a half-dozen places and fixed a typo in a test name. Change-Id: Idcb8b2eeef5b545eb0944cc22b7c7961e8c2f8f0 |
||
|
Samuel Merritt
|
081ff36e6e |
py3: port crossdomain
Change-Id: I83a35f066d69edf39c74fd22c7fb248b5320d21f |
||
|
Alistair Coles
|
1fa4b9e3fe |
Remove unnecessary loop in test_keymaster.py
The ignored_secret variable wasn't being used. Change-Id: Ia659f3672941f9bb86054ce6cafbbe6fe7ccafbc Related-Change: I1cd9a97c4e8d87d7c065866e7ad3a9e748ff19ab |
||
|
Zuul
|
3de21d945b | Merge "Remove empty part dirs during ssync replication" | ||
|
Zuul
|
fc9b9e55c5 | Merge "container-updater: Always report zero objects/bytes used for shards" | ||
|
Zuul
|
84ddb8c1ec | Merge "py3: port catch_errors" | ||
|
Zuul
|
9c0de5d74f | Merge "py3: fix test_proxy_logging.py" | ||
|
Zuul
|
2a7190ba13 | Merge "py3: Port common/swob" | ||
|
Zuul
|
1c42cb529c | Merge "py3: Port common/constraints" | ||
|
Zuul
|
d280c4c356 | Merge "py36: Fix test_get_logger_sysloghandler_plumbing" | ||
|
Tim Burke
|
5652dec43b |
container-updater: Always report zero objects/bytes used for shards
Otherwise, a sharded container AUTH_test/sharded will have its stats included in the totals for both AUTH_test *and* .shards_AUTH_test Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Change-Id: I7fa74e13347601c5f44fd7e6cf65656cc3ebc2c5 |
||
|
Samuel Merritt
|
3920b88daa |
py3: port catch_errors
Today's diff is brought to you by the letter "b". Change-Id: I074c1ff3f1232a899c101f2856dff4a881a6fe77 |
||
|
Samuel Merritt
|
e0b4eb225c |
py3: fix test_proxy_logging.py
Only the tests needed to change, and it was nearly all just prepending "b" to a bunch of string literals. Change-Id: Id5317e471c04a05627438c281bb0d6a97cf6a8a4 |
||
|
Tim Burke
|
1318bacc17 |
py36: Fix test_get_logger_sysloghandler_plumbing
Change-Id: Ibdb9e2bbec1c962d930a3f69fc95a8c562ac13b7 |
||
|
Tim Burke
|
f192f51d37 |
Have check_drive raise ValueError on errors
...which helps us differentiate between a drive that's not mounted vs. not a dir better in log messages. We were already doing that a bit in diskfile.py, and it seems like a useful distinction; let's do it more. While we're at it, remove some log translations. Related-Change: I941ffbc568ebfa5964d49964dc20c382a5e2ec2a Related-Change: I3362a6ebff423016bb367b4b6b322bb41ae08764 Change-Id: Ife0d34f9482adb4524d1ab1fe6c335c6b287c2fd Partial-Bug: 1674543 |
||
|
Tim Burke
|
2b19c26498 |
py3: Port common/swob
Change-Id: I31408f525ba9836f634a35581d4aee6fa2c9428f |
||
|
Tim Burke
|
0694e51eb7 |
py3: Port common/constraints
Alternate approach to https://review.openstack.org/#/c/559902 Change-Id: I1e244c231753b8f4b6f1cf95cb0ae4c3c959ae0f |
||
|
Zuul
|
c568b4b100 | Merge "Resolve TODO's in test/probe/test_sharder.py" | ||
|
Alistair Coles
|
a59c5e3bae |
Resolve TODO's in test/probe/test_sharder.py
Resolve outstanding TODO's. One TODO is removed because there isn't an easy way to arrange for an async pending to be targeted at a shard container. Change-Id: I0b003904f73461ddb995b2e6a01e92f14283278d |
||
|
Zuul
|
c3ea2f0909 | Merge "Use valid eventlet logger method" | ||
|
Zuul
|
c34330e420 | Merge "Fix test_wsgi.py tests failing with eventlet <=0.18.4" | ||
|
Alistair Coles
|
a1cb919930 |
Use valid eventlet logger method
eventlet<=0.17.4 LoggerFileWrapper does not have an error() method so don't try to call it. Instead, use info() which even in newer eventlet versions does exactly the same as error(). This bug only manifests in unit tests once the Related-Bug has been fixed (see Related-Change). Closes-Bug: #1777836 Related-Bug: #1777701 Related-Change: I68fd9d0263a6720aaf0d90b8ea6da1158105ac01 Change-Id: I46190567549826c811ffa51e9a71a38a20d9ce97 |
||
|
Alistair Coles
|
642d8748c0 |
Fix test_wsgi.py tests failing with eventlet <=0.18.4
Older versions of eventlet expect getsocketname() to return a tuple, and newer versions are happy to receive a tuple, so fix the mock to return a tuple. Change-Id: I68fd9d0263a6720aaf0d90b8ea6da1158105ac01 Closes-Bug: #1777701 |
||
|
Zuul
|
1cd6416471 | Merge "Fix common/test_utils.py on Python 3.5.4+" | ||
|
Zuul
|
298f8b4df1 | Merge "Tighten up staticweb redirect test" | ||
|
Samuel Merritt
|
4a0afa9fea |
Enforce Content-Length in catch_errors
If a WSGI application produces the header "Content-Length: <N>" but does not produce exactly N bytes of response, then that is an error and an exception should be thrown so that the WSGI server can take the correct action (close the TCP connection for HTTP <= 1.1, something else for HTTP 2.0). As part of this, I also fixed a bug in DLOs where a HEAD response might have a body. The way it works is this: * user makes HEAD request for DLO manifest * DLO middleware makes GET request for container * authorize callback (e.g. from tempurl) replies 401 for container GET; response has a nonempty body (it's a GET response; that's fine) * DLO notes that response is non-2xx, returns it as-is * client gets response with nonempty body to a HEAD request The fix there was simple; if the original request method was HEAD, clear out the response body. Change-Id: I74d8c13eba2a4917b5a116875b51a781b33a7abf Related-Bug: 1568650 |
||
|
Zuul
|
4aca486fc4 | Merge "func tests: Rename storage_url to storage_path" | ||
|
Samuel Merritt
|
b08355ea3f |
Rename test_except.py -> test_catch_errors.py
Every other middleware has files swift/common/middleware/<mw>.py and test/unit/common/middleware/test_<mw>.py, while catch_errors has test_except.py, which makes its tests harder to find. Let's follow the same naming pattern. Change-Id: I534ff57ac2fe8e12a3f84d821da04d679f1ced3a |
||
|
Zuul
|
cdb1736e01 | Merge "Only try to fetch or sync shard ranges if the remote supports sharding" | ||
|
Tim Burke
|
8e892713ee |
Tighten up staticweb redirect test
Change-Id: Ifc3f2f58f51c71f4e652567b4f9c82deb98bbb5b |
||
|
Tim Burke
|
b39a88ca65 |
func tests: Rename storage_url to storage_path
... so we can use storage_url for actual, complete URLs. Also, expose storage_scheme for easier comparisons. Change-Id: Iffcfc327bc674681ac51fe75c1d9911fa3a60d54 |
||
|
Zuul
|
a3cc7ccc69 | Merge "Experimental swift-ring-composer CLI to build composite rings" |