c4c98eb64d3d99a5fb58f0390600f3e7755da1b2
Commit Graph

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
2018年07月10日 15:41:29 -07:00
Zuul
1ab691f637 Merge "IP Range restrictions in temp urls" 2018年07月10日 04:28:16 +00:00
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
2018年07月05日 15:57:05 +01:00
Zuul
44f60d9245 Merge "Address some review comments" 2018年07月05日 09:40:47 +00:00
Zuul
cb3692f8db Merge "swob.Match: remove quotes when checking __contains__" 2018年07月04日 06:34:17 +00:00
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
2018年07月03日 12:25:28 +01:00
Zuul
3378a48733 Merge "py3: port proxy/controllers/info.py" 2018年07月02日 23:11:05 +00:00
Zuul
9dffe8b88d Merge "functests: Clean up objects better" 2018年07月02日 11:04:40 +00:00
Zuul
e93c6187f6 Merge "swob: Stop auto-encoding unicode bodies" 2018年07月02日 02:41:05 +00:00
Zuul
a4b986fd78 Merge "tempauth: Send back url-encoded account names" 2018年06月30日 04:56:11 +00:00
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
2018年06月28日 09:58:44 -07:00
Tim Burke
d03fc9bc54 swob: Stop auto-encoding unicode bodies
Instead, require that callers provide an encoding.
Related-Change: I31408f525ba9836f634a35581d4aee6fa2c9428f
Change-Id: I3e5ed9e4401eea76c375bb43ad4afc58b1d8006a
2018年06月28日 09:58:44 -07:00
Zuul
729fe6f79d Merge "swob: Fix up some WSGI string business" 2018年06月28日 12:23:58 +00:00
Zuul
eb43d30320 Merge "Enforce Content-Length in catch_errors" 2018年06月28日 12:23:45 +00:00
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
2018年06月27日 17:17:19 -07:00
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
2018年06月27日 16:52:38 -07:00
Tim Burke
efcf7e6a95 swob: Fix up some WSGI string business
Change-Id: Iee1bab5775b243c318aa22ee4a548d793e6684ca
2018年06月27日 15:55:30 -07:00
Samuel Merritt
306f9a150f py3: port domain_remap tests
The domain_remap middleware didn't need to change, only its tests.
Change-Id: I5edf05b609ce263708f851219c38c1bd1b645a6f
2018年06月26日 13:20:49 -07:00
Samuel Merritt
50ea4e1e08 py3: port healthcheck
Typed "b" in a half-dozen places and fixed a typo in a test name.
Change-Id: Idcb8b2eeef5b545eb0944cc22b7c7961e8c2f8f0
2018年06月26日 13:20:49 -07:00
Samuel Merritt
081ff36e6e py3: port crossdomain
Change-Id: I83a35f066d69edf39c74fd22c7fb248b5320d21f
2018年06月26日 13:20:49 -07:00
Alistair Coles
1fa4b9e3fe Remove unnecessary loop in test_keymaster.py
The ignored_secret variable wasn't being used.
Change-Id: Ia659f3672941f9bb86054ce6cafbbe6fe7ccafbc
Related-Change: I1cd9a97c4e8d87d7c065866e7ad3a9e748ff19ab
2018年06月25日 12:13:59 +01:00
Zuul
3de21d945b Merge "Remove empty part dirs during ssync replication" 2018年06月23日 02:19:18 +00:00
Zuul
fc9b9e55c5 Merge "container-updater: Always report zero objects/bytes used for shards" 2018年06月22日 21:45:56 +00:00
Zuul
84ddb8c1ec Merge "py3: port catch_errors" 2018年06月22日 21:41:21 +00:00
Zuul
9c0de5d74f Merge "py3: fix test_proxy_logging.py" 2018年06月22日 21:41:19 +00:00
Zuul
2a7190ba13 Merge "py3: Port common/swob" 2018年06月22日 11:54:36 +00:00
Zuul
1c42cb529c Merge "py3: Port common/constraints" 2018年06月22日 11:48:41 +00:00
Zuul
d280c4c356 Merge "py36: Fix test_get_logger_sysloghandler_plumbing" 2018年06月22日 11:48:38 +00:00
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
2018年06月22日 10:35:36 +01:00
Samuel Merritt
3920b88daa py3: port catch_errors
Today's diff is brought to you by the letter "b".
Change-Id: I074c1ff3f1232a899c101f2856dff4a881a6fe77
2018年06月21日 17:23:41 -07:00
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
2018年06月21日 17:18:42 -07:00
Tim Burke
1318bacc17 py36: Fix test_get_logger_sysloghandler_plumbing
Change-Id: Ibdb9e2bbec1c962d930a3f69fc95a8c562ac13b7
2018年06月21日 15:43:26 -07:00
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
2018年06月20日 17:15:07 -07:00
Tim Burke
2b19c26498 py3: Port common/swob
Change-Id: I31408f525ba9836f634a35581d4aee6fa2c9428f
2018年06月20日 16:52:02 -07:00
Tim Burke
0694e51eb7 py3: Port common/constraints
Alternate approach to https://review.openstack.org/#/c/559902
Change-Id: I1e244c231753b8f4b6f1cf95cb0ae4c3c959ae0f
2018年06月20日 16:51:25 -07:00
Zuul
c568b4b100 Merge "Resolve TODO's in test/probe/test_sharder.py" 2018年06月20日 23:48:23 +00:00
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
2018年06月20日 19:42:32 +00:00
Zuul
c3ea2f0909 Merge "Use valid eventlet logger method" 2018年06月20日 18:48:18 +00:00
Zuul
c34330e420 Merge "Fix test_wsgi.py tests failing with eventlet <=0.18.4" 2018年06月20日 18:23:07 +00:00
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
2018年06月20日 10:20:58 +01:00
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 
2018年06月20日 09:59:55 +01:00
Zuul
1cd6416471 Merge "Fix common/test_utils.py on Python 3.5.4+" 2018年06月20日 03:15:49 +00:00
Zuul
298f8b4df1 Merge "Tighten up staticweb redirect test" 2018年06月19日 23:50:24 +00:00
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
2018年06月18日 14:50:59 -07:00
Zuul
4aca486fc4 Merge "func tests: Rename storage_url to storage_path" 2018年06月16日 02:36:16 +00:00
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
2018年06月15日 15:17:04 -07:00
Zuul
cdb1736e01 Merge "Only try to fetch or sync shard ranges if the remote supports sharding" 2018年06月15日 21:30:51 +00:00
Tim Burke
8e892713ee Tighten up staticweb redirect test
Change-Id: Ifc3f2f58f51c71f4e652567b4f9c82deb98bbb5b
2018年06月15日 10:32:05 -07:00
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
2018年06月15日 10:32:05 -07:00
Zuul
a3cc7ccc69 Merge "Experimental swift-ring-composer CLI to build composite rings" 2018年06月15日 04:27:43 +00:00