08a6db1357d159d770d3f735f4eca029afc8665c
10870 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
9b4d008390 | Merge "Leave updater per-device stats in recon for debugging" | ||
|
Alistair Coles
|
aa0429ce00 |
CI: document bandit tests by reference
The available bandit tests change with time (e.g. the Related-Change). We shouldn't try to maintain the list. Related-Change: Ie668d49a56c0a6542d28128656cfd44f7c089ec4 Change-Id: I6eb106abbac28ffbb9a3f64e8aa60218cbe75682 |
||
|
Tim Burke
|
f95315b711 |
CI: Remove B320 and B410 bandit skips
They were removed upstream recently, so now Bandit is complaining about the unknown test. See https://github.com/PyCQA/bandit/pull/1212 Change-Id: Ie668d49a56c0a6542d28128656cfd44f7c089ec4 |
||
|
Tim Burke
|
128124cdd8 |
Remove py2-only code paths
Change-Id: Ic66b9ae89837afe31929ce07cc625dfc28314ea3 |
||
|
Zuul
|
94d3a5dee8 | Merge "obj: Add option to tune down etag validation in object-server" | ||
|
Tim Burke
|
3d8fb046cb |
obj: Add option to tune down etag validation in object-server
Historically, the object-server would validate the ETag of an object whenever it was streaming the complete object. This minimizes the possibility of returning corrupted data to clients, but - Clients that only ever make ranged requests get no benefit and - MD5 can be rather CPU-intensive; this is especially noticeable in all-flash clusters/policies where Swift is not disk-constrained. Add a new `etag_validate_pct` option to tune down this validation. This takes values from 100 (default; all whole-object downloads are validated) down to 0 (none are). Note that even with etag validation turned off, the object-auditor should eventually detect and quarantine corrupted objects. However, transient read errors may cause clients to download corrupted data. Hat-tip to Jianjian for all the profiling work! Co-Authored-By: Jianjian Huo <jhuo@nvidia.com> Change-Id: Iae48e8db642f6772114c0ae7c6bdd9c653cd035b |
||
|
Zuul
|
4d4e65904a | Merge "Improve get_logger tests re. statsd prefix" | ||
|
Zuul
|
7828c233a1 | Merge "tests: use a method to test a method" | ||
|
Alistair Coles
|
1bc0507c13 |
Improve get_logger tests re. statsd prefix
Add test for mutilated statsd client Drive-by: revert unncesessary whitespace change in Related-Change. Related-Change: I3a677bb67c5700da48f89c847f652b4610ba47c2 Co-Authored-By: Shreeya Deshpande <shreeyad@nvidia.com> Co-Authored-By: Clay Gerrard <cgerrard@nvidia.com> Change-Id: Id262bbcf0b233f9728f55be208bee5bc146c053d |
||
|
Zuul
|
c10ca639e6 | Merge "tests: relocate some logging related unit tests" | ||
|
Clay Gerrard
|
6a633d06fb |
tests: use a method to test a method
Change-Id: I14ea6bbd55512e8798e5cadf4f6e68f95961206b |
||
|
Alistair Coles
|
7d3a32d107 |
tests: relocate some logging related unit tests
The Related-Changes moved logging and statsd components into new modules and decoupled statsd from the logs module. This patch attempts to re-locate the related unit tests to appropriate modules. * tests for utils functions such as get_logger should be in test_utils.py. * tests for log functions such as get_swift_logger should be in test_logs.py. * tests for statsd client functions should be in test_statsd_client.py. * tests related to patching a SwiftLogAdapter with a StatsdClient interface should be in test_utils.py. Change-Id: I3a677bb67c5700da48f89c847f652b4610ba47c2 Related-Change: I44694b92264066ca427bb96456d6f944e09b31c0 Related-Change: I8988c0add6bb4a65cc8be38f0bf527f141aac48a Related-Change: Ie73988edf6be0e38d9004bee04ff46c906a759ff Related-Change: I5ae2cc5c257fb8d7eab885977d9d9cf602224ec7 Related-Change: I4b5b12a3b0288b696a39903264741bc862a94ad7 Related-Change: Ic4b5005e3efffa8dba17d91a41e46d5c68533f9a |
||
|
Clay Gerrard
|
e39a0d1959 |
Leave updater per-device stats in recon for debugging
It's confusing and unecessary to have the last cycles per-device object-updater stats reaped from recon immediately during aggregation and make it impossible to debug stats aggregation. Drive-by: fix some bugs with stats aggregation Change-Id: I9df7c2d1c31646a3200614b629598576eb9e64c0 |
||
|
Zuul
|
95b9e6e335 | Merge "CI: Add Dalmatian upgrade job" | ||
|
Zuul
|
06e09b9ece | Merge "Drop py2 support" | ||
|
Tim Burke
|
1f0777d96c |
tests: Enforce sorted listdir results in test_updater
Previously, we were relying on some xfs-specific return order. Change-Id: If9a0fdb3749a18a9479f20fb174e0c1908a783bb |
||
|
Tim Burke
|
1f35e0c10f |
CI: Add Dalmatian upgrade job
Change-Id: Ia028624bded221c3bf03a8d3dac94183d4388431 |
||
|
Elod Illes
|
3c9838101a |
[CI] Remove old experimental rolling upgrade job
This patch removes swift-multinode-rolling-upgrade-victoria job for multiple reason: - victoria is very old and unmaintained - job is defined only on unmaintained branches - py38 + CentOS Stream 8 are EOL'd and the job is based on these Change-Id: I3d6a679e6553534e937303b5210125a6ef8365af |
||
|
Tim Burke
|
7367907c58 |
Drop py2 support
* Remove py2 gate jobs. * Build non-universal, py3-only wheels. * Specify minimum python version in package metadata. * Clean up requirements/constraints/bindep (a little, anyway). Change-Id: I53153c4fde043e964e1daa7bbf2089e0471dede2 |
||
|
Zuul
|
5d1dbbccbe | Merge "docs: Changed OS version to RHEL 9 and CentOS Stream 9." | ||
|
ngcjny
|
17f77b2d76 |
docs: Changed OS version to RHEL 9 and CentOS Stream 9.
Changed OS version from RHEL 7 and CentOS 7 to RHEL 9 and CentOS Stream 9. Changed python to python3. Changed yum command to dnf command. Change-Id: Ie1e815c0434255e77ef5e9103576f85d9d6490ae |
||
|
Zuul
|
b7c228c234 | Merge "trivial: Enable a couple off-by-default hacking checks" | ||
|
Zuul
|
78fd4e6bfa | Merge "Require that updater_workers be a postive integer" | ||
|
Chinemerem
|
fbfdc89df5 |
Require that updater_workers be a postive integer
Previously, it was possible for updater_workers to be a negative integer or zero. This change enforces that updater_workers should be a positive integer. Change-Id: Ie40194b406aeedcf8c38a3c273ab768e2b643a5d |
||
|
Chinemerem
|
5281af5cf2 |
Add object_updater_last stat
Change-Id: I22674f2e887bdeeffe325efd2898fb90faa4235f |
||
|
Zuul
|
ea06ed4494 | Merge "Aggregate per-disk recon stats" | ||
|
Tim Burke
|
4b3696003c |
trivial: Enable a couple off-by-default hacking checks
H106 and H904 were already passing anyway. Change-Id: Ic386e09e40a49b661f30ea40e2c737d59100d086 |
||
|
Zuul
|
3944630007 | Merge "CI: Clean up deps for various doc builds" | ||
|
Chinemerem
|
af57922cd8 |
Aggregate per-disk recon stats
Address an issue where `OldestAsyncManager` instances created before forking resulted in each child process maintaining its own isolated copy-on-write stats, leaving the parent process with an empty/unused instance. This caused the final `dump_recon` call at the end of `run_forever` to report no meaningful telemetry. The fix aggregates per-disk recon stats collected by each child process. This is done by loading recon cache data from all devices, consolidating key metrics, and writing the aggregated stats back to the recon cache. Change-Id: I70a60ae280e4fccc04ff5e7df9e62b18d916421e |
||
|
Zuul
|
155b759714 | Merge "Bring py3-constraints.txt more in line with global u-c" | ||
|
Zuul
|
0b534d5846 | Merge "Up-rev hacking" | ||
|
Zuul
|
4faa3523c9 | Merge "CI: Configure bandit better" | ||
|
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 |
||
|
Zuul
|
fe7928ea8a | Merge "Add unit test for object-updater recon dump" | ||
|
Zuul
|
d3eb11625d | Merge "Refactor FormPost to use WSGIContext" | ||
|
nathang15
|
404edeb7fa |
Refactor FormPost to use WSGIContext
... instead of self-handling subrequests manually. Closes-Bug: #1523401 Change-Id: I85b5302c2416de1793599385b791fcd3ec3b4da0 |
||
|
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 |
||
|
Tim Burke
|
a55a48ffc8 |
docs: Call out that xprofile is not intended for production
Change-Id: I1e9d4d5df403040d69db93a08647cd0abe1b8037 |
||
|
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 |
||
|
Zuul
|
b371c38fc5 | Merge "Clarify ContainerBroker tests re expirer queue items" | ||
|
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 |
||
|
Alistair Coles
|
cde99ff660 |
Add unit test for object-updater recon dump
Related-Change: Iba43783e880e0860357ba8b9f0a11f28abf87555 Change-Id: I1e096dab9a97956bf786ccbcd37c20f9a3a5429e |
||
|
Zuul
|
f9a3f142ab | Merge "Make OldestAsyncPendingTracker timestamp float" | ||
|
Zuul
|
cffa7dea77 | Merge "CI: Consistently use TOX_CONSTRAINTS_FILE" | ||
|
Zuul
|
9efaae78a5 | Merge "Up-rev hacking" | ||
|
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 |
||
|
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 |
||
|
Tim Burke
|
992d70198c |
Up-rev hacking
Change-Id: I9473fad7c46ac03bbc71328c17e988af9d21386c |
||
|
Zuul
|
b4579b414e | Merge "CI: point antelope job at 2023.1-eom tag" | ||
|
Zuul
|
995f78156a | Merge "infra: Remove 'bandit' tox environment" |