fd9ceecc506f88cd940edd7bb369574c044c5038
10905 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
fd9ceecc50 | Merge "s3request: refactor to introduce SigChecker classes" | ||
|
Zuul
|
cb97944900 | Merge "s3request: refactor error handling while reading input" | ||
|
Zuul
|
d535a47603 | Merge "tests: rename zuul jobs that test s3api" | ||
|
Alistair Coles
|
ab5c742e2b |
s3api: make MPU part error response message same as S3
Change-Id: I60f0b36633c2a348933fd45d348d76b256fca57a |
||
|
Alistair Coles
|
a93e420d32 |
s3request: refactor to introduce SigChecker classes
Previously the SigV4Mixin would override S3Request signature checking methods. This patch refactors the signature checking into sigv2 and sigv4 helper classes i.e. moves towards composition rather than inheritance. No behavioural changes are intended with this patch. Co-Authored-By: Tim Burke <tim.burke@gmail.com> Co-Authored-By: Thibault Person <thibault.person@ovhcloud.com> Change-Id: Icaf86181c3bf7804c5176db48d2de5e2fc6f24d2 |
||
|
Alistair Coles
|
addcc1e32b |
s3request: refactor error handling while reading input
Introduce a single error handler to catch errors while reading the input. Co-Authored-By: Tim Burke <tim.burke@gmail.com> Change-Id: Ib0330e863ad15e362dfa587517a26109c74eefec |
||
|
Zuul
|
c7f93f0f63 | Merge "Add skip reason next to test name in zuul output" | ||
|
Zuul
|
449096011f | Merge "tests: Remove BaseFakeStatsdClient.get_increment_counts" | ||
|
Zuul
|
a4c151b93c | Merge "tests: Display extra test summary info" | ||
|
Clay Gerrard
|
dd0ba770f7 |
Add skip reason next to test name in zuul output
Currently our test names are long and we pipe pytest output to a file, so the skip reason gets truncated; setting this env var .zuul and passing to tox.ini will allow us to see the reason why pytest is skipping next to the test name. Drive-by: remove passenv from s3api tests in tox.ini so they are inherited from testenv Related-Change-Id: I6b7cc64262d2f8ef7e3bbce30bab5550899b5211 Change-Id: I15791a9238485190acf7f87a3b562bf67e7c5c09 |
||
|
Zuul
|
7bef99cfd1 | Merge "tests: add LabeledStatsdClient sample_rate kwarg coverage" | ||
|
Alistair Coles
|
63224cfd0b |
tests: rename zuul jobs that test s3api
The swift-tox-func-s3api-tests-tempauth runs the tests in test/s3api. The swift-tox-func-s3api-ceph-s3tests-tempauth doesn't run the tests in test/s3api. This patch changes the names of those jobs to disambiguate the prefix 'swift-tox-func-s3api' and avoid any suggestion that the second job is a super-set of the first job. Change-Id: I323cf7e32200a2f895f0b051454b00047f7de300 |
||
|
Alistair Coles
|
37a25b340d |
tests: Remove BaseFakeStatsdClient.get_increment_counts
The method is redundant and confusingly named. Since the Related-Change it actually returns the aggregate value of counters, not just the count of calls made to the increment method alone. Related-Change: I4d8a4b530465b587caced4362eb9178507701cef Change-Id: I52585567a177f58e0f110785b44f8d238b2ac54d |
||
|
Clay Gerrard
|
563c1ca656 |
DRY out AbstractStatsdClient public methods
Both the StatsdClient and LabeledStatsdClient implemented all of the public interface methods for an AbstractStatsdClient. Even though the implementations are identical the interfaces themselves were made different WRT the "last" positional arg if provided. This change puts the identical implementations of the public interface in the AbstractStatsdClient class with a generic interface. For backwards compat with the existing public interface on the legacy-StatsdClient we have to make the old signature explicit - but we can transparently call into the common implementation. For consistency with legacy-Statsdclient and better docstrings this change also "fixes" the signature for the new LabeledStatsdClient public interface methods so they explicitly state labels must always be passed in as a kwarg to avoid confusion accidentally passing in `sample_rate=<dict>` or `label=<float>` as a positional arg. Drive-by: as a side-effect of consolidating the implementations there was now only one place to extend a fix in the FakeStatedClient interface so that tests who assert StatsdClient method calls don't have to read like the UUT also called some *other* public StatsdClient method; which also cleaned up some Fake helpers that deal specifically with counters. Drive-by: fix stub return value TypeError in a _get_hashes mock that was caught by better faking. N.B. it doesn't matter how statsd would have handled 'metric:None|c' because it was only a test bug. Change-Id: I4d8a4b530465b587caced4362eb9178507701cef |
||
|
Tim Burke
|
405440a2ee |
tests: Display extra test summary info
Change-Id: I6b7cc64262d2f8ef7e3bbce30bab5550899b5211 |
||
|
Clay Gerrard
|
ed0ef35713 |
tests: add LabeledStatsdClient sample_rate kwarg coverage
Add test coverage for passing sample_rate to LabeledStatsdClient methods. Drive-by: clean up and tighten some existing StatsdClient unit tests to share a CommonBaseTestsMixin, as was expedient perhaps to the chagrin of the co-author. Related-Change: I115ffb1dc601652a979895d7944e011b951a91c1 Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Change-Id: I68a24d9467e58994abbac82a5e741f5bb578976c |
||
|
Alistair Coles
|
769e482ea8 |
tests: provide FakeLabeledStatsdClient for debug
Drive by: FakeStatsdClient.send_calls was not used and is removed. Change-Id: Ib8bfff8d46ae81b017aff05aad80afe421e6828a |
||
|
Clay Gerrard
|
0e2791a88a |
Remove deprecated statsd label_mode
Hopefully if we never do a release that supports signalfx no one will ever use it and we won't have to maintain it. Drive-by: refactor label model dispatch to fix a weird bug where a config name could be a class attribute and blow up weird. Change-Id: I2c67b59820c5ca094077bf47628426f4b0445ba0 |
||
|
Tim Burke
|
7e5235894b |
stats: API for native labeled metrics
Introduce a LabeledStatsdClient API; no callers yet. Include three config options: - statsd_label_mode, which specifies which label format to use - statsd_emit_legacy, which dictates whether to emit old-style metrics dotted metrics - statsd_user_label_<name> = <value>, which supports user defined labels in restricted ASCII characters Co-Authored-By: yanxiao@nvidia.com Co-Authored-By: alistairncoles@gmail.com Change-Id: I115ffb1dc601652a979895d7944e011b951a91c1 |
||
| 05143a99f8 |
Update master for stable/2025.1
Add file to the reno documentation build to show release notes for stable/2025.1. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/2025.1. Sem-Ver: feature Change-Id: I742fad68e041d146a3b52ff9b7bad986cee43c2b |
|||
|
Zuul
|
3f59cef644 | Merge "Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton" | ||
|
Tim Burke
|
d6ac3a261f |
AUTHORS/CHANGELOG for 2.35.0
Change-Id: I6688025b8f1b53eb31d7c0d10dc9909567e9c2812.35.0 |
||
|
Zuul
|
5074410a9d | Merge "linkat: Raise error if we run out of retries" | ||
|
Zuul
|
63155d1117 | Merge "cors-tests: Default S3_ENDPOINT sensibly" | ||
|
Alistair Coles
|
2f74376e7e |
Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton
In test assertion failure messages the DUMMY_VALUE would be shown as <object object ...> which is not immediately recognisable as the dummy value.. This change makes the DUMMY_VALUE show as <test.unit.common.middleware.helpers.FakeSwiftDummyValue object ...>. Change-Id: I73fac245c65c48d45e4919c6f15688d482148407 Related-Change: I332ce724aa10287800cbec8ca21aacc3bbd3c22a |
||
|
Alistair Coles
|
0cdd3915c4 |
Fix FakeSwiftCall partial env copy for None values
None values in the request environ should be copied, not replaced with the dummy value. Related-Change: I332ce724aa10287800cbec8ca21aacc3bbd3c22a Change-Id: Id78ac1cac833f9284946cd364b3f95341afcb235 |
||
|
Zuul
|
59611253f9 | Merge "Remove notes about new-style classes" | ||
|
Zuul
|
6d3a2c1345 | Merge "Remove dependency on mock" | ||
|
Tim Burke
|
932bc110cf |
Remove notes about new-style classes
On py3, everything's new-style! Change-Id: I1b9d2a3369279a56962b800c27edd9f6127ef0d4 |
||
|
Tim Burke
|
cfa0094eb4 |
cors-tests: Default S3_ENDPOINT sensibly
If it's not provided, don't assume localhost; use the scheme/netloc from OS_STORAGE_URL. Change-Id: I0877099cb044cf8aaaeb6af0b4e1332fac00b10b |
||
|
Zuul
|
8f2fd0bc1c | Merge "tests: Fix keystoneclient import" | ||
|
Zuul
|
f0093a6a74 | Merge "FakeSwift: more encapsulation of request properties" | ||
|
Tim Burke
|
08a6db1357 |
tests: Fix keystoneclient import
Related-Change: I86bcd7a2373cf1e7213cb716888307306b7bb50d Change-Id: I0056bfc78f9c89b1c458943ee446499d21667fac |
||
|
Tim Burke
|
62cb4736ed |
Remove dependency on mock
Change-Id: I9044e49ff30b092a97b75fa7fa133016d17cde37 |
||
|
Zuul
|
5554f432f5 | Merge "tests: Allow configuring normalized_urls = false" | ||
|
Zuul
|
8b862e66c1 | Merge "tests: Reference test.functional.normalized_urls directly" | ||
|
Zuul
|
d4d57a7a7d | Merge "Remove __future__ imports" | ||
|
Zuul
|
5219b5ef14 | Merge "Stop using cgi.parse_header" | ||
|
Tim Burke
|
11422a3957 |
tests: Allow configuring normalized_urls = false
Previously, we weren't converting it to a boolean, but left it as a truth-y string. Change-Id: Ia0349d991435492ac9d80c36c5b1123b9e310db6 |
||
|
Tim Burke
|
3db28d41f1 |
tests: Reference test.functional.normalized_urls directly
... rather than importing it before it's been read in setup_package and never getting any updated value. Related-Change: I699d664bcef6754aac4ec6877830e745b764342f Change-Id: I48faabc5b59f94a47dfeb871f13ddbcbaa20d349 |
||
|
Tim Burke
|
bae8cd0db8 |
Remove __future__ imports
Change-Id: Ibd3d5f83fcd31d78447a894ff4426e3e1b62e5a8 |
||
|
Tim Burke
|
c390c637d1 |
Stop using cgi.parse_header
With py311 we started seeing warnings like DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 The recommended replacement isn't quite up to snuff (doesn't handle multiple parameters), but we already have a reasonably close replacement. Add a "loose" mode to parse_content_type to make it suitable when there may be a slash in a parameter token. Add a new utils.parse_header function that takes advantage of the parse_content_type "loose" mode. Closes-Bug: #2084472 Change-Id: Ie281ff90796f2d68840952c95669f264480b1b4c |
||
|
Tim Burke
|
0a8ecbc554 |
py3: Fix unicode-header-name handling in bufferedhttp
We need to parse additional headers earlier, before stdlib tries to establish message framing. Now, TestReconstructorRebuildUTF8 can pass on py3. Closes-Bug: #2097030 Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Related-Change: https://review.opendev.org/c/openstack/swift/+/662546 Change-Id: I6aa16fda9285c9fc3816da6fbff2615bd14a020c |
||
|
Clay Gerrard
|
34bb743b04 |
linkat: Raise error if we run out of retries
Change-Id: Iae07ec8d38cd747f8bfffa3c08b423bee4b6623c |
||
|
Alistair Coles
|
e4cc228ed0 |
Refactor some file-like iters as utils.InputProxy subclasses
There's a few places where bespoke file-like wrapper classes have been implemented. The common methods are now inherited from utils.InputProxy. Make utils.FileLikeIter tolerate size=None to mean the same as size=-1 so that it is consistent with the behavior of other input streams. Fix docstrings in FileLikeIter. Depends-On: https://review.opendev.org/c/openstack/requirements/+/942845 Change-Id: I20741ab58b0933390dc4679c3e6b2d888857d577 |
||
|
Zuul
|
7140633925 | Merge "tests: Allow more configuration for S3 cross-compat tests" | ||
|
Zuul
|
1fa687ec20 | Merge "slo_test: make x-delete-after consistent in func test" | ||
|
Zuul
|
9723f99250 | Merge "tests: More simplification of s3api test bucket naming" | ||
|
ashnair
|
e0d66f3ebf |
slo_test: make x-delete-after consistent in func test
Related-Change-Id: Ia1d8d9085bad5c6df744a4551eef9dcf56e6e261 Change-Id: I6c5bb824d7145c25faf37fd1fa575cedf05e499a |
||
|
Zuul
|
97cc335d54 | Merge "tests: Remove a couple more py2 code paths" |