a70e33e73a361a6622c093d025165e855ec6c100
6296 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Alistair Coles
|
a70e33e73a |
test_constraints.py: cleanup Timestamp usage
Change-Id: Ibd5ec2fe65cdc454c46ecb5a490e864763f503b7 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
91dd65d36b |
test_symlink.py: cleanup Timestamp usage
Change-Id: Id9b3c0c0d5d58ae1455847c8761b13c2a2993142 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
0190d81e4c |
test_diskfile.py: fix Timestamp usage
Change-Id: If484964458a8b090b9f0eb4ea37dd40476659529 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
254100ef1f |
tests: container/test_backend.py cleanup
Change-Id: I2152b14a116d2a3519d85e64879994337100dead Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
5658355bf5 |
account/test_utils: cleanup Timestamp usage
Change-Id: I8b84fa258ae0071cb171c4b5dcdb86b01980c33a Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
18b861bd6c |
obj test_expirer.py and test_auditor.py: fix timestamp usage
Change-Id: I3e121eee731c5e8d877786e5789903421f83bbc9 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
800cf32114 |
test_reconstructor.py: make hashes assertions less brittle
Replace the hard-coded expected suffix hash values with values calculated using the timestamp. That way, if the timestamp ever changes then the test will continue to pass. Change-Id: Id85e2f3decb386e5f865491357bc98750d287af9 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
d31b201d6b |
test_db.py: clean up usage of Timestamps
Also clarify some docstrings. Change-Id: I14649edddd69de9f7f4fe7a9dcc45e9cf890962e Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Matthew Oliver
|
760829a75a |
account: Use Timestamps better in test_backend unit tests
Change-Id: I0b0fadce9e1231a45b10177d7d3e2c6bcde06a3d Signed-off-by: Matthew Oliver <matt@oliver.net.au> |
||
|
Matthew Oliver
|
48937cd183 |
TombstoneReclaimer: quote string timestamp in sql query
Reclaim age and sync "timestamp" args passed to DatabaseBroker.reclaim() and TombstoneReclaimer.__init__() are expected to be floats. This is adhered to in code, but many tests pass a string representation of a Timestamp instance. The string has been tolerated because it has so far always been identical to a str(float). However, if a Timestamp instance has an offset then its string representation is not equivalent to str(float), and TombstoneReclaimer.reclaim() would raise an error because the reclaim age value in the SQL query is not quoted and does not appear to be any recognised type. This patch quotes the reclaim age in the TombstoneReclaimer SQL query. This makes it tolerant of being passed string representations of Timestamps with offsets. This is not yet expected, but, nevertheless, text in SQL queries should be quoted. Change-Id: Ic70689db1e4ddc6f526c283bf0cbb5862b16fd90 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> |
||
|
Zuul
|
f324fb4ad3 | Merge "tests: pass Timestamps to date_header_format" | ||
|
Zuul
|
3ba92226aa | Merge "tests: clarify timestamp formats" | ||
|
Alistair Coles
|
c8da8676fd |
tests: clarify timestamp formats
Use Timestamp.internal and Timestamp.normal methods to better clarify which timestamp format is used with which headers. Use setUp provided Timestamp iters more. Change-Id: I75b4d2fb946227fb461e8a7512f1d0f9bd3e6d9f Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
02bc7e4480 |
tests: pass Timestamps to date_header_format
Since the Related-Change, swob's date_header_format function will accept Timestamp instances. Drive-by: call out the use of Timestamp.ceil() in the date_header_format docstring. Change-Id: If45a8172d225eea70160f5034e337feb027bda2b Related-Change: Ie7090e8dbc90e814f74fbcbd4fba2ca40ee1fcc7 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Tim Burke
|
98005fad92 |
Allow Timestamps in swob's date-header helpers
... that way we don't need to keep remembering that they need to use ceil(). Change-Id: Ie7090e8dbc90e814f74fbcbd4fba2ca40ee1fcc7 Signed-off-by: Tim Burke <tim.burke@gmail.com> |
||
|
Alistair Coles
|
96e7db0b3e |
swob: add a date_header_format helper function
There's many places where a Last-Modified header value is constructed from a time value. This patch replaces the duplicate code with a helper function that returns the correctly formatted header for a given number of seconds. Change-Id: Ia7c619fe563ab89ff5b1beb03219e763a8798cc9 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Zuul
|
676e68fc0f | Merge "trivial: tests: add failure context to flakey assertion" | ||
|
Zuul
|
bb7d097bf8 | Merge "s3api: verify checksums on DeleteObjects POSTs" | ||
|
Alistair Coles
|
affdbf71aa |
trivial: tests: add failure context to flakey assertion
An object server unit test was seen to fail returning a 409 when a 204 was expected. I cannot see the bug, so this patch adds some failure context to add illumination if/when it fails again. Change-Id: I45327cb5a56a87b8f6b9e971232fdce3b3f4bcb8 Related-Bug: #2131684 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Alistair Coles
|
cbc3b42d7d |
s3api: verify checksums on DeleteObjects POSTs
If a checksum header is sent with an S3 API DeleteObjects POST request then it will be verified (unlike a CompleteMultipartUpload POST) [0]. If a checksum header is not sent with an S3 API DeleteObjects POST request then a Content-MD5 header is required. Even when not *required* [1], a Content-MD5 value will be verified if sent. Previously we could return 200 when we should have sent 400 (eg, when the client sent a sha256 but no md5 or additional checksum), or return 400 when we should have sent 200 (eg, when an additional checksum was sent with no sha256 and the auth protocol didn't require a sha256). [0] Related-Change: Id39fd71bc59875a5b88d1d012542136acf880019 [1] Related-Change: Ifbcde9820bee72d80cab0fe3e67ea0f5817df949 Related-Bug: #2131671 Change-Id: If25a8f0a3079558544ab15c874eda666a9f69933 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> Co-authored-by: Tim Burke <tim.burke@gmail.com> |
||
|
Zuul
|
b147eae95d | Merge "trivial: tests: clarify exception handling" | ||
|
Zuul
|
3c7a2b4f02 | Merge "s3token: Pass service auth token to Keystone" | ||
|
Zuul
|
e76223797b | Merge "tests: belts and braces idiomatic patching" | ||
|
Zuul
|
a6790fcb9c | Merge "tests: idiomatic ring patching" | ||
|
Alistair Coles
|
ee6f4c6a0d |
trivial: tests: clarify exception handling
Clarify that the caught exception message is not used to construct the resulting log message. Change-Id: I5cdaa27d25f43865eab2f8b12cc68a5d086ef0c7 Related-Change: Ib54172131f1e3abd9b0419aa0370930c6fc82ba9 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Zuul
|
52730e1037 | Merge "tests: remove some global patching" | ||
|
Zuul
|
3809085f89 | Merge "proxy-logging: Add real-time transfer bytes counters" | ||
|
Zuul
|
0d884dcce8 | Merge "Provide some s3 helper methods for other middlewares to use." | ||
|
Tim Burke
|
e7bb2a3855 |
s3token: Pass service auth token to Keystone
Recent versions of Keystone require auth tokens when accessing the /v3/s3tokens endpoint to prevent exposure of a lot of information that a user who just has a presigned URL should not be able to see. UpgradeImpact ============= The s3token middleware now requires Keystone auth credentials to be configured. If secret_cache_duration is enabled, these credentials should already be configured. Without these credentials, Keystone users will no longer be able to make S3 API requests. Closes-Bug: #2119646 Change-Id: Ie80bc33d0d9de17ca6eaad3b43628724538001f6 Signed-off-by: Tim Burke <tim.burke@gmail.com> |
||
|
Yan Xiao
|
dcd5a265f6 |
proxy-logging: Add real-time transfer bytes counters
Currently we can get one proxy-logging transfer stat emission over the duration of the upload/download. We want another stat coming out of proxy-logging: something that gets emitted periodically as bytes are actually sent/received so we can get reasonably accurate point-in-time breakdowns of bandwidth usage. Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Co-Authored-By: Shreeya Deshpande <shreeyad@nvidia.com> Change-Id: Ideecd0aa58ddf091c9f25f15022a9066088f532b Signed-off-by: Yan Xiao <yanxiao@nvidia.com> |
||
|
Clay Gerrard
|
e450b8c670 |
tests: belts and braces idiomatic patching
AFAIK this is un-needed once we ensure test_db_replicator un-patches the object with a cleanup, but in isolation a test patching a global and relying on someting else to clean it up looks messy/lazy - or at best just not a pattern/style that can easily be copied elsewhere. Related-Change: I66d4df1e2dba058b7c719a4a932234b3fc10b554 Change-Id: Ib54172131f1e3abd9b0419aa0370930c6fc82ba9 Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
Clay Gerrard
|
89e9ced9e5 |
tests: idiomatic ring patching
AFAIK this isn't causing any problems, but looks weird once we fix the db_replicator.ReplConnection patching in Related-Change. Related-Change: I66d4df1e2dba058b7c719a4a932234b3fc10b554 Change-Id: I45b10c71bab6933dd32c042e386f59e37279787b Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
Clay Gerrard
|
f256bc7eb3 |
tests: remove some global patching
replace a questionable reload_module with idiomatic addCleanup Change-Id: I66d4df1e2dba058b7c719a4a932234b3fc10b554 Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
Zuul
|
9232350af0 | Merge "Fix swift_dir setting in WSGI servers" | ||
|
Yan Xiao
|
9d7e7e27a5 |
Provide some s3 helper methods for other middlewares to use.
get_s3_access_key_id returns the S3 access_key_id user for the request is_s3_req checks whether a request looks like it ought to be an S3 request parse_path returns a wsgi string extract_bucket_and_key extracts bucket and object from the request's PATH_INFO Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Co-Authored-By: Shreeya Deshpande <shreeyad@nvidia.com> Change-Id: Iaf86a07238cca6700dee736f55d4c0672cccf1b1 Signed-off-by: Shreeya Deshpande <shreeyad@nvidia.com> |
||
|
Zuul
|
48a5d5e42f | Merge "test-db-replicator (trivial): just one tmpdir" | ||
|
Zuul
|
4b7543b2e1 | Merge "trivial test_[db_]replicator cleanup" | ||
|
Clay Gerrard
|
fac55ced3c |
test-db-replicator (trivial): just one tmpdir
Change-Id: I1e53d171faff02e2dbcbcc779ad3a47506b26853 Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
Zuul
|
c161aa168f | Merge "relinker: allow clobber-hardlink-collision" | ||
|
Zuul
|
4fa1237997 | Merge "common.db_replicator: log container, db paths consistently" | ||
|
Alistair Coles
|
c0fefe80b3 |
trivial test_[db_]replicator cleanup
* add a self.temp_dir in setUp and remove in teraDown * be consistent in order of (expected, actual) args * assert the complete exception error line Related-Change: I289d3e9b6fe14159925786732ad748acd0459812 Change-Id: I185c8cd55db6df593bb3304c54c5160c1f662b86 Signed-off-by: Alistair Coles <alistairncoles@gmail.com> |
||
|
Clay Gerrard
|
be62933d00 |
relinker: allow clobber-hardlink-collision
The relinker has already been robust to hardlink collisions on tombstones for some time; this change allows ops to optionally (non-default) enable a similar handling of other files when relinking the old=>new partdir. If your cluster is having a bunch of these kinds of collisions and after spot checking you determine the data is in fact duplicate copies the same data - you'd much rather have the option for the relinker to programatically handle them non-destructively than forcing ops to rm a bunch of files manually just get out of a PPI. Once the PPI is over and you reconstrcutors are running again, after some validation you can probably clean out your quarantine dirs. Drive-by: log unknown relink errors at error level to match expected non-zero return code Closes-Bug: #2127779 Change-Id: Iaae0d9fb7a1949d1aad9aa77b0daeb249fb471b5 Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
ashnair
|
41bf72a5cc |
common.db_replicator: log container, db paths consistently
Extract helpers (from container.sharder) that formats log context from either a broker (preferring broker.path/db_file) or a plain db_file string. Use it in common.db_replicator and container.replicator so messages are uniform and robust. Update tests to cover both cases. No functional changes to replication behavior; this is logging/robustness and test updates only. Change-Id: I289d3e9b6fe14159925786732ad748acd0459812 Related-Change: I7d2fe064175f002055054a72f348b87dc396772b Signed-off-by: ashnair <ashnair@nvidia.com> |
||
|
Zuul
|
e963d13979 | Merge "s3api: fix test_service with pre-existing buckets" | ||
|
Samuel Merritt
|
5568dd09b5 |
Fix swift_dir setting in WSGI servers
Theoretically, the various WSGI servers should be able to operate on a system without /etc/swift/swift.conf. However, this doesn't actually work. WSGI servers call utils.validate_configuration() before looking for a swift_dir option, and that validation reads swift.conf from its default location. Even if you set swift_dir=/some/where/else, the WSGI servers require /etc/swift/swift.conf to exist. This commit makes the WSGI servers call utils.set_swift_dir before calling utils.validate_configuration. Motivation: I'm working on testing some client software against actual Swift, but my CI environment doesn't have /etc/swift at all, so the test suite can't start the Swift daemons. Change-Id: Ie0efee33e684b1c5bad6ee2191c187bb680de5f1 Signed-off-by: Samuel Merritt <smerritt@nvidia.com> |
||
|
Clay Gerrard
|
3c6e967a58 |
test: fix AccountBroker.path tests
Move tests to base TestCase, currently they are only running against old "broker w/o metadata" - but the tests and behavior should work on all versions of the account schema Drive-by: reword tests to make assertions stronger and behaviors more obvious Related-Change: Ic7c2aa878caf039b29abb900b4f491130be3d8a8 Change-Id: I59abd956ffa01bd41f29959ff3df89a3a20a00d4 Signed-off-by: Clay Gerrard <clay.gerrard@gmail.com> |
||
|
Zuul
|
ac5c783d65 | Merge "Assert metadata of SLO PUT from container sync" | ||
|
Zuul
|
9a45531942 | Merge "Test each method in test_crossdomain_get_only" | ||
|
Shashirekha Gundur
|
a6bde729c5 |
Test each method in test_crossdomain_get_only
iterate through not allowed methods and assert Change-Id: Ia304709fc56d3e81bb1326b56a4b0d64ed698160 Signed-off-by: Tim Burke <tim.burke@gmail.com> |
||
|
Zuul
|
6da1207489 | Merge "test: move import to top of file" |