4f7b1a9b7dee4fedfe8b2421a26dce049b9b3092
Commit Graph

10939 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Zuul
4faa3523c9 Merge "CI: Configure bandit better" 2024年12月17日 10:55:51 +00:00
Tim Burke
13197af6e3 CI: Clean up deps for various doc builds
- Define a single location for doc-build deps
 - As a side-effect, use constraints for api-ref builds
- Remove test-requirements.txt from those deps
Change-Id: If6cc8702e89f5110ad89ba933f55641de02550e9
2024年12月12日 15:02:27 -08:00
Zuul
fe7928ea8a Merge "Add unit test for object-updater recon dump" 2024年12月11日 21:22:32 +00:00
Zuul
d3eb11625d Merge "Refactor FormPost to use WSGIContext" 2024年12月11日 08:56:20 +00:00
nathang15
404edeb7fa Refactor FormPost to use WSGIContext
... instead of self-handling subrequests manually.
Closes-Bug: #1523401
Change-Id: I85b5302c2416de1793599385b791fcd3ec3b4da0
2024年12月11日 06:37:10 +00:00
Tim Burke
e576c5cee0 CI: Configure bandit better
Declare the tests to skip, rather than the tests to run. This ensures
that we pick up new bandit checks automatically.
I recently noticed a use of md5() without the usedforsecurity=False
kwarg. Confused about why this wasn't caught in the gate, I eventually
traced it back to B303 (which we explicitly enabled) being largely
superseded by B324 (which did not exist when we wrote down the tests
to enable).
Flag a bunch of false-positives with "# nosec" comments, resolve two
other errors, and skip some more-pervasive errors, to be resolved later.
Change-Id: Ia054e4f7c9e5bf29064a66933e27830adbc107d3
2024年12月10日 15:18:12 -08:00
Tim Burke
a55a48ffc8 docs: Call out that xprofile is not intended for production
Change-Id: I1e9d4d5df403040d69db93a08647cd0abe1b8037
2024年12月10日 15:17:11 -08:00
Tim Burke
199aa78fbe xprofile: Stop using eval()
All we need is int(). Using eval() on user-provided data (or really at
all) is a Bad Idea.
Closes-Bug: #2091124
Change-Id: I39bb87f9d8e27f2f88410a087a120a0e9be1a243
2024年12月10日 15:16:41 -08:00
Zuul
b371c38fc5 Merge "Clarify ContainerBroker tests re expirer queue items" 2024年12月10日 18:56:34 +00:00
Alistair Coles
3a5bbcd7a6 Clarify ContainerBroker tests re expirer queue items
Add some commentary as a reminder that whilst normal object updates to
the ContainerBroker cannot have content-type timestamp older than data
timestamp, expirer queue updates can.
Change-Id: I6d8ad06c645f25497dc15173460430fd93747afa
Related-Change: Ie4b25f1bd16def4069878983049b83de06f68e54
2024年12月10日 10:50:38 +00:00
Alistair Coles
cde99ff660 Add unit test for object-updater recon dump
Related-Change: Iba43783e880e0860357ba8b9f0a11f28abf87555
Change-Id: I1e096dab9a97956bf786ccbcd37c20f9a3a5429e
2024年12月10日 10:26:48 +00:00
Zuul
f9a3f142ab Merge "Make OldestAsyncPendingTracker timestamp float" 2024年12月09日 23:05:20 +00:00
Zuul
cffa7dea77 Merge "CI: Consistently use TOX_CONSTRAINTS_FILE" 2024年12月09日 23:05:16 +00:00
Zuul
9efaae78a5 Merge "Up-rev hacking" 2024年12月09日 23:05:13 +00:00
Tim Burke
93658f0de6 CI: Consistently use TOX_CONSTRAINTS_FILE
The UPPER_CONSTRAINTS_FILE var has been deprecated for years.
Related-Change: I3f957187ed4f29fcf88db99cb79fb33b21a8dd8d
Change-Id: Id6201036cc619d050f86ae9c9c420388808f8b89
2024年12月09日 11:13:28 -08:00
Chinemerem
83528de743 Make OldestAsyncPendingTracker timestamp float
Previously, the OldestAsyncPendingTracker timestamp was stored as a string. This change updates it to be stored as a float.
UpgradeImpact: This will require an additional change to the recon parsers in order to process the timestamp as a float.
Change-Id: Iba43783e880e0860357ba8b9f0a11f28abf87555
2024年12月09日 10:30:08 -08:00
Tim Burke
992d70198c Up-rev hacking
Change-Id: I9473fad7c46ac03bbc71328c17e988af9d21386c
2024年12月09日 09:41:56 -08:00
Zuul
b4579b414e Merge "CI: point antelope job at 2023.1-eom tag" 2024年12月07日 05:36:27 +00:00
Zuul
995f78156a Merge "infra: Remove 'bandit' tox environment" 2024年12月07日 02:43:22 +00:00
Tim Burke
436808a959 infra: Remove 'bandit' tox environment
The expectation is that CI and devs would run these checks as part
of the 'pep8' environment.
Change-Id: Ib9b2e34d520baee13c4b38bc220ec7b4d2e38433
2024年12月06日 16:21:42 -08:00
Zuul
abbe02cfea Merge "reno: Update master for unmaintained/2023.1" 2024年12月07日 00:11:13 +00:00
Zuul
8b3ae36063 Merge "CI: drop pip --upgrade flag in tox.ini" 2024年12月07日 00:11:10 +00:00
Tim Burke
e5bd48a6a4 CI: point antelope job at 2023.1-eom tag
The stable branch is gone now.
Change-Id: Ib0a62256584a5c7d458ebe6740f0f477f61dd23a
2024年12月06日 15:05:54 -08:00
Tim Burke
0513b8ceaa Bring py3-constraints.txt more in line with global u-c
Purely version bumps, and dropping the swift pin (which was added
erroneously anyway).
Change-Id: I1cbd26e6a18e01abcfb2f0a28649cfcaa6358252
2024年12月06日 14:59:50 -08:00
Tim Burke
791d38962b Up-rev hacking
Change-Id: I0fe476c56c120f8a6dab6afa2cf03e8278ceefc5
2024年12月04日 14:33:50 -08:00
Zuul
c2f2521400 Merge "s3api: add more MPU cross-compat tests" 2024年12月03日 18:09:55 +00:00
Zuul
6e37329bd6 Merge "Remove duplicate definition of empty string etag" 2024年12月03日 18:09:52 +00:00
Zuul
1d240aa86c Merge "Rename probe/test_mixed_policy_upload.py to test_mpu.py" 2024年12月03日 18:09:49 +00:00
Alistair Coles
eac4ffd7a9 s3api: add more MPU cross-compat tests
Change-Id: Ia03af1680c6230658473c0c8d444efb5bb805f58
2024年12月03日 14:28:30 +00:00
Alistair Coles
5e800e328e Remove duplicate definition of empty string etag
Change-Id: Ib8196fe24f8a999315af469a435bd639378c78a9
2024年12月03日 12:56:34 +00:00
Zuul
0aebda4786 Merge "api-ref: Clarify eventual-consistency of DELETEs." 2024年12月03日 10:49:37 +00:00
Zuul
61b2350ead Merge "tests: Use format=plain instead of format=txt" 2024年12月03日 10:49:34 +00:00
Tim Burke
d6b712dfa2 api-ref: Clarify eventual-consistency of DELETEs.
Change-Id: Ib868258b224d97ebd1c14d5b5b98bb0718caaea9
2024年12月02日 14:38:37 -08:00
Tim Burke
ace2357c62 tests: Use format=plain instead of format=txt
Our API ref says "Valid values are json, xml, or plain. The default is
plain." There's no reason our tests ought to use an invalid value; it
will confuse anyone looking at tests for how to do a thing.
Note that tests were passing because invalid values are ignored, so
?format=txt behaves exactly like ?format=plain.
Change-Id: I6e119cc9c7297d8aade9736fa1d6f4a105466d77
2024年12月02日 12:21:20 -08:00
Tim Burke
54ec8a124a CI: drop pip --upgrade flag in tox.ini
This has been causing most/all of our tox-based jobs to run with
unconstrained dependencies (though test requirements were properly
pinned).
Change-Id: Icf1b63e39ec321887d9fe6afe7b212c813ad1d1e
2024年12月02日 10:58:44 -08:00
Zuul
2dad4dcbbd Merge "Update gate jobs as per the 2025.1 cycle testing runtime" 2024年11月30日 23:15:46 +00:00
Zuul
0a6d20e388 Merge "Object-server: add periodic greenthread yielding during file write" 2024年11月29日 16:32:45 +00:00
Jianjian Huo
ea1d84c1d7 Object-server: add periodic greenthread yielding during file write
Currently, when object-server serves PUT request and DiskFile
writer write file chunks to disk, there is no explicit
eventlet sleep called. When network outpace the slow disk IO,
it's possible one large and slow PUT request could cause
eventlet hub not to schedule any other green threads for a
long period of time. To improve this, this patch enable the
configurable yield parameter 'cooperative_period' into object
server controller write path.
Related-Change: I80b04bad0601b6cd6caef35498f89d4ba70a4fd4
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Change-Id: I1c0aba9830433f093d024b4c39cd3a3b2f0d69f1
2024年11月29日 13:59:25 +00:00
Zuul
0d9ea8d9bd Merge "Add probe test for reconciler with object versioning" 2024年11月27日 19:43:25 +00:00
Zuul
51849df687 Merge "Remove statds from the logs module" 2024年11月27日 18:16:02 +00:00
Alistair Coles
8699af83c9 Remove statds from the logs module
We would like to remove any Statsd related code from logs.py. That
requires that SwiftLogAdapter no longer provides a StatsdClient
interface by default. However, for backwards compatibility the main
utils.get_logger/get_prefixed_logger entrypoints must provide a
SwiftLogAdapter that does have a StatdsClient interface.
The new utils._patch_statsd_methods helper function is therefore used
to retrospectively patch a SwiftLogAdapter instance with the
StatsdClient interface when necessary. The _patch_statsd_helper is
used in get_logger, and again when we clone a logger in
get_prefixed_logger.
Co-Authored-By: Shreeya Deshpande <shreeyad@nvidia.com>
Change-Id: I44694b92264066ca427bb96456d6f944e09b31c0
2024年11月27日 10:54:38 +00:00
Alistair Coles
e751ccfb27 Add probe test for reconciler with object versioning
Verify that the reconciler is able to move objects to a container that
has, or will have, versioning enabled, and versions of the moved object
can subsequently be created.
Change-Id: I019447614ebadbb9e2cc8a18c0369bc16a89c0d9
2024年11月26日 18:09:02 +00:00
Zuul
447079399d Merge "Add error msg validation for BadDigest" 2024年11月25日 23:24:25 +00:00
ashnair
41c614bbb5 Add error msg validation for BadDigest
Change-Id: I5c9af73cc66e17dc662d8c4d97cbf71ded1fed6f
2024年11月25日 18:21:12 +00:00
Clay Gerrard
4aadb54025 Ensure Content-Length in backend container/account HEAD response
A failing CORS test in the gate discovered that, when running with
eventlet==0.38.0, container and account HEAD requests returned
Content-Type of application/json to clients regardless of the requested
format. This was due to the backend HEAD response no longer having a
Content-Length header, causing the listing_formats middleware to not
modify the returned Content-Type (see Related-Change).
The Related-Change fixed the client facing issue by making
listing_formats middleware ensure the correct Content-Type is returned
to clients even when Content-Length is absent in the backend
response. The Related-Change also ensured that the 204 response to
clients always has a Content-Length header.
This patch directly fixes the problem of backend account and container
server HEADs no longer having 'Content-Length: 0' by adding it
explicitly. This violates the RFC prohibition of a 204 response having
a Content-Length header [1], but preserves Swift's historic behavior
and is consistent with the proxy-server's 204 response to clients.
[1] https://httpwg.org/specs/rfc7230.html#header.content-length
Related-Change: If724485e1425d1481d10b9255436301e346f07e8
Change-Id: Idacc59c5f43367926eff5221ee7fc417a9bc2d50
2024年11月25日 11:13:42 +00:00
1a6958a2ff reno: Update master for unmaintained/2023.1
Update the 2023.1 release notes configuration to build from
unmaintained/2023.1.
Change-Id: I3e0962570145adb672bdba71f6de8f3da034b859
2024年11月25日 10:49:05 +00:00
Clay Gerrard
fa889358ac Ensure correct content-type in container HEAD response
A failing CORS test in the gate discovered that we were responding
application/json to ?format=txt requests (which is maybe not even a
valid value for that qs param?), but only when running with
eventlet==0.38.0
This avoids the problem of backend container server HEADs no longer
having 'Content-Length: 0' by fixing the client HEAD resp headers before
we check for chunked-transfer resp.
Drive-By: refactor listing_formats to use HeaderKeyDict and always set
Content-Length explicitly
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Co-Authored-By: Matthew Oliver <matt@oliver.net.au>
Change-Id: If724485e1425d1481d10b9255436301e346f07e8
2024年11月25日 10:15:04 +11:00
Alistair Coles
ffbf17e47c Fix duplicate prefix in exception logging
This patch fixes a bug in the Related-Change that causes a prefix to
be added twice at the start of an 'exception' log message.
Previously, PrefixLoggerAdapter.exception would forward to the wrapped
LogAdapter.exception, and not call back to
PrefixLoggerAdapter.process. The prefix therefore needed to be added
in both PrefixLoggerAdapter.exception and PrefixLoggerAdapter.process
(for other log level methods).
SwiftLogAdapter.exception *does* call back to SwiftLogAdapter.process,
and so since the Related-Change it is not necessary to add the prefix
in both the SwiftLogAdapter.exception and SwiftLogAdapter.process
methods.
Related-Change: I8988c0add6bb4a65cc8be38f0bf527f141aac48a
Change-Id: Ia6e1f007989b0ef455b8dca8155b386a3fd9e8e1
2024年11月18日 18:06:55 +00:00
Alistair Coles
66e4887c91 Rename probe/test_mixed_policy_upload.py to test_mpu.py
Give this test file a less specific name in anticipation of further
mpu-related probe tests being added.
Change-Id: Iea01928e1daad25f3425f486b9dda4c6fb58510c
2024年11月18日 11:37:48 +00:00
Zuul
aac4c14574 Merge "Differentiate unlinks and outdated unlinks" 2024年11月18日 01:55:28 +00:00