52730e1037563ad8ba0e09da93886c856ed9e875
Commit Graph

11086 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Zuul
3f59cef644 Merge "Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton" 2025年03月11日 15:53:18 +00:00
Tim Burke
d6ac3a261f AUTHORS/CHANGELOG for 2.35.0
Change-Id: I6688025b8f1b53eb31d7c0d10dc9909567e9c281
2.35.0
2025年03月10日 12:02:43 -07:00
Zuul
5074410a9d Merge "linkat: Raise error if we run out of retries" 2025年03月07日 22:21:36 +00:00
Zuul
63155d1117 Merge "cors-tests: Default S3_ENDPOINT sensibly" 2025年03月07日 22:19:00 +00:00
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
2025年03月07日 13:04:27 +00:00
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
2025年03月07日 12:52:21 +00:00
Zuul
59611253f9 Merge "Remove notes about new-style classes" 2025年03月07日 11:06:06 +00:00
Zuul
6d3a2c1345 Merge "Remove dependency on mock" 2025年03月07日 10:57:46 +00:00
Tim Burke
932bc110cf Remove notes about new-style classes
On py3, everything's new-style!
Change-Id: I1b9d2a3369279a56962b800c27edd9f6127ef0d4
2025年03月07日 03:17:35 +00:00
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
2025年03月06日 17:10:04 -08:00
Zuul
8f2fd0bc1c Merge "tests: Fix keystoneclient import" 2025年03月06日 23:42:02 +00:00
Zuul
f0093a6a74 Merge "FakeSwift: more encapsulation of request properties" 2025年03月06日 22:22:27 +00:00
Tim Burke
08a6db1357 tests: Fix keystoneclient import
Related-Change: I86bcd7a2373cf1e7213cb716888307306b7bb50d
Change-Id: I0056bfc78f9c89b1c458943ee446499d21667fac
2025年03月06日 13:10:16 -08:00
Tim Burke
62cb4736ed Remove dependency on mock
Change-Id: I9044e49ff30b092a97b75fa7fa133016d17cde37
2025年03月06日 12:35:43 -08:00
Zuul
5554f432f5 Merge "tests: Allow configuring normalized_urls = false" 2025年03月06日 12:22:54 +00:00
Zuul
8b862e66c1 Merge "tests: Reference test.functional.normalized_urls directly" 2025年03月06日 12:22:51 +00:00
Zuul
d4d57a7a7d Merge "Remove __future__ imports" 2025年03月06日 11:25:38 +00:00
Zuul
5219b5ef14 Merge "Stop using cgi.parse_header" 2025年03月05日 22:47:06 +00:00
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
2025年03月05日 12:57:05 -08:00
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
2025年03月05日 12:57:05 -08:00
Tim Burke
bae8cd0db8 Remove __future__ imports
Change-Id: Ibd3d5f83fcd31d78447a894ff4426e3e1b62e5a8
2025年03月05日 12:50:21 -08:00
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
2025年03月05日 15:43:42 +00:00
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
2025年03月03日 10:41:34 -08:00
Clay Gerrard
34bb743b04 linkat: Raise error if we run out of retries
Change-Id: Iae07ec8d38cd747f8bfffa3c08b423bee4b6623c
2025年03月03日 10:16:46 -08:00
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
2025年02月26日 10:40:26 -08:00
Zuul
7140633925 Merge "tests: Allow more configuration for S3 cross-compat tests" 2025年02月20日 22:58:31 +00:00
Zuul
1fa687ec20 Merge "slo_test: make x-delete-after consistent in func test" 2025年02月20日 20:39:07 +00:00
Zuul
9723f99250 Merge "tests: More simplification of s3api test bucket naming" 2025年02月20日 20:16:50 +00:00
ashnair
e0d66f3ebf slo_test: make x-delete-after consistent in func test
Related-Change-Id: Ia1d8d9085bad5c6df744a4551eef9dcf56e6e261
Change-Id: I6c5bb824d7145c25faf37fd1fa575cedf05e499a
2025年02月20日 18:58:12 +00:00
Zuul
97cc335d54 Merge "tests: Remove a couple more py2 code paths" 2025年02月20日 18:28:30 +00:00
Alistair Coles
adc7760ed5 tests: More simplification of s3api test bucket naming
Change-Id: Ie59f11874daf9f166a699fa904581830942163a9
Related-Change: I02efba463a8263ca44be511c025c6c6bfbc57334
2025年02月20日 18:15:25 +00:00
Tim Burke
605c701235 tests: Remove a couple more py2 code paths
Change-Id: Ia754021714a8ed3d5d6010a946c558552821fbe4
2025年02月20日 07:32:47 -08:00
Zuul
57f2732f9f Merge "s3api: Simplify HashingInput signature" 2025年02月20日 12:05:18 +00:00
Tim Burke
b49941c9b8 s3api: Simplify HashingInput signature
It's always called with sha256 and raises sha256-specific errors;
we don't need to pretend to support arbitrary hashes.
Change-Id: Icff79ded067084249080e3e6f555429261eb0af0
2025年02月19日 16:54:35 -08:00
Tim Burke
ed0b68e1b7 tests: Simplify test bucket name
We already prefix everything with "s3api-test-"; there's no reason to
double up the "test-" part.
Change-Id: I02efba463a8263ca44be511c025c6c6bfbc57334
2025年02月19日 16:10:15 -08:00
Tim Burke
f9354c9eb6 tests: Allow more configuration for S3 cross-compat tests
Specifically, allow endpoint and region to be configured. This allows
developers to compare boto3 behaviors with TLS enabled/disabled, for
example, or AWS behaviors between different regions.
Change-Id: I4113e2fd47e5535eec8bd9487884af077e8b0318
2025年02月19日 16:04:00 -08:00
Zuul
8b6abfb85d Merge "refactor test for x-delete-at w/t part_num and x-open-expired" 2025年02月18日 21:10:46 +00:00
Zuul
0c04c9e88f Merge "tests: Add unknown-policy container to account test" 2025年02月18日 20:03:15 +00:00
ashnair
c3237aba14 refactor test for x-delete-at w/t part_num and x-open-expired
We shouldn't allow a test to assume a strict coupling of
client/server time and the test needs to be modified so that
the functional test-suite pass for us.
Change-Id: Ia1d8d9085bad5c6df744a4551eef9dcf56e6e261
2025年02月18日 10:50:41 -08:00
Zuul
427615a874 Merge "s3api: Stop requiring Content-MD5 for multi-deletes" 2025年02月14日 23:40:38 +00:00
Tim Burke
a5db202c55 s3api: Stop requiring Content-MD5 for multi-deletes
...at least, provided the client sent a X-Amz-Content-SHA256 header.
Apparently Content-MD5 is no longer strictly required by AWS? Or maybe
it never was, provided the client sent a SHA256 of the content.
This also allows us to test with newer boto3, botocore, s3transfer.
Related-Bug: #2098529
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Change-Id: Ifbcde9820bee72d80cab0fe3e67ea0f5817df949
2025年02月14日 13:11:30 -08:00
Tim Burke
ff45519447 tests: Use subTest
Depends-On: https://review.opendev.org/c/openstack/requirements/+/941708
Change-Id: I52f40bf0468236dc7ba78e08f2f9aea9336faae9
2025年02月14日 10:41:21 -08:00
Tim Burke
62fa6d27a6 tests: Add unknown-policy container to account test
Also:
- Couple small clean-ups in account.backend and account.utils
- Make a couple test assertions more useful.
Related-Change: https://review.opendev.org/c/openstack/swift/+/940601
Change-Id: Ic14642df50592c982adfb55a0c6cfd673a5a95b8
2025年02月14日 09:06:41 -08:00
Zuul
fc88b0e816 Merge "Add NotificationServer to fix swift-reload" 2025年02月13日 22:25:51 +00:00
Tim Burke
313fab5f5f Add NotificationServer to fix swift-reload
This implementation uses abstract sockets for process notifications,
similar to systemd's notify sockets, but notifiers use a PID-specific
name from a well-known namespace and listeners are assumed to be
ephemeral.
Update swift-reload to use these instead of polling child processes to
determine when a server reload has completed. Bonus: it also acts as a
non-blocking lock to prevent two swift-reload commands from reloading a
process at the same time.
Closes-Bug: #2098405
Related-Change: Ib2dd9513d3bb7c7686e6fa35485317bbad915876
Change-Id: I5f36aba583650bddddff5e55ac557302d023ea1b
2025年02月13日 20:07:15 +00:00
Alistair Coles
ceff47d7af FakeSwift: more encapsulation of request properties
Capture a copy of the request environ as part of FakeSwiftCall and use
that to query captured txn_ids, sources rather than maintaining
separate lists for each request property.
Store captured request body as an attribute of FakeSwiftCall to
similarly avoid maintaining another list. The request body is read
after the FakeSwiftCall has been captured in case there is an error
while reading.
Drive-by: drop footers arg from FakeSwiftCall constructor since it is
never used, nor should it be used.
Related-Change: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7
Change-Id: I332ce724aa10287800cbec8ca21aacc3bbd3c22a
2025年02月13日 15:45:47 +00:00
Zuul
11557559b3 Merge "versioning: 411 PUTs with neither content-length nor transfer-encoding" 2025年02月12日 22:09:31 +00:00
Zuul
747b2a4a32 Merge "Add per-container storage policy to account listing" 2025年02月12日 00:22:25 +00:00
Zuul
4c922fbeff Merge "Remove last vestiges of translations" 2025年02月11日 22:54:35 +00:00
Zuul
ed842ce12b Merge "Remove some dead code for older pythons" 2025年02月11日 22:54:32 +00:00