14ce84b64cf2455b330733dd4e615145cb95e585
Commit Graph

10699 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Tim Burke
f29067631e docker: Remove && chaining in install scripts
Something about them threw off the exit-immediately-on-non-zero-exit
behavior when building.
Related-Bug: #2070029
Change-Id: I3e40ebd78a9f8e93c905b24a12f5f54b2d27c2d9
2024年06月27日 14:24:37 -07:00
Zuul
37169aa6ac Merge "proxy-server: log correct path when listing parsing fails" 2024年06月26日 18:10:34 +00:00
Alistair Coles
130377bd27 proxy-server: log correct path when listing parsing fails
The proxy may use a sub-request to fetch a container listing response,
for example for updating shard ranges. If it then fails to parse the
response, it should use the sub-request path when logging a warning or
error. Before, the proxy would use the original request path which may
have been to an object.
Change-Id: Id904f4cc0f911f9e6e53d4b3ad7f98aacd2b335d
2024年06月26日 11:23:18 +01:00
Zuul
91bcd307fa Merge "Support tox4" 2024年06月26日 01:32:25 +00:00
Zuul
7b60c2a66f Merge "trivial: assert SendtoCalls consistently" 2024年06月25日 20:37:20 +00:00
Tim Burke
6220a473f3 Support tox4
Change-Id: If15c3fee706d295de678f812839a5d0759089ccf
2024年06月25日 13:36:42 -07:00
Zuul
fcbe00a5cd Merge "tests: Check proxy-logging stats on the wire" 2024年06月25日 18:47:25 +00:00
Alistair Coles
a7b69628d5 trivial: assert SendtoCalls consistently
Use same assertion pattern as introduced in the Related-Change and
include the host and port in the assertion.
Change-Id: I7cccf3b8cdfe157c27fb8e0b1f432a649970a865
Related-Change: I9a016de1010dd17e91bc85877413b34d2c3287c7
2024年06月25日 16:29:19 +01:00
Zuul
d1a7bc6afd Merge "s3api: include error response reason in log_info" 2024年06月25日 07:21:11 +00:00
Tim Burke
a21d078009 tests: Check proxy-logging stats on the wire
With labeled metrics on the horizon, I wanted some more end-to-end
tests of stats emission.
Change-Id: I9a016de1010dd17e91bc85877413b34d2c3287c7
2024年06月24日 11:04:44 -07:00
Zuul
ff08a649e0 Merge "Add get_statsd_client function" 2024年06月24日 15:39:19 +00:00
Shreeya Deshpande
0c58afc7ee Add get_statsd_client function
It takes a config dict and some caller-specific options, similar to
get_logger. Use this in get_logger, so our logging module doesn't
need to know anything about statsd config options.
Co-Authored-By: yanxiao@nvidia.com
Change-Id: I5ae2cc5c257fb8d7eab885977d9d9cf602224ec7
2024年06月21日 13:07:44 -07:00
Alistair Coles
5d640985f7 s3api: include error response reason in log_info
There's a variety of reasons why s3api may return a 4xx or 5xx
response. It's useful to get some more detail in the log message,
particularly when the request is a HEAD which won't get any detail in
the response body.
Change-Id: I0a499dc5c50bb534a23adcbfe7c3822d8954b0e0
2024年06月19日 11:06:11 +01:00
Tim Burke
68adc5bff3 CI: up-rev a few py2 constraints
Noticed a few more projects had final py2 releases.
Change-Id: I144efd5ee670a5a6b444fbc31e9434fac31bf2ec
2024年06月18日 16:28:16 -07:00
Zuul
b33f8ff2c5 Merge "CI: make sure old swift is truly gone for rolling-upgrade jobs" 2024年06月18日 21:47:01 +00:00
Zuul
352255cf19 Merge "CI: update known failures for the ceph tests" 2024年06月18日 17:10:53 +00:00
Zuul
839537f40e Merge "Skip boto 2.x tests if boto is not installed" 2024年06月18日 17:10:44 +00:00
Tim Burke
5be20f46df CI: update known failures for the ceph tests
For some reason, when we switched from py36 on centos8 to py39 on
centos9, these two tests started failing. Looks like a disagreement
about whether the canonical path for a bucket request should have
a trailing slash or not.
Mark them as known-failures for now so we can stay aware of any
other new breakage brought on by swift code changes.
Related-Change: I4f6b9c07af7bc768654f1a5d0c66b048e0f2c9c1
Change-Id: If990752c7ef7667182dbe18e49679e48c0e3d42d
2024年06月17日 21:04:04 -07:00
Tim Burke
415420cc8f Use entry_points for server executables
The old [files]scripts method of specifying executable Python scripts
triggers some legacy easy-install-like mode for editable installs,
which relies on pkg_resources. Recent versions of setuptools (67.5.0+)
have started emitting warnings when importing pkg_resources, which in
turn cause quite noticeable slowdowns in process startup. This is
particularly prominant on py312, which stopped pre-installing (an often
older version of) setuptools in new venvs.
See also:
 - https://github.com/python/cpython/issues/95299
 - https://github.com/pypa/setuptools/pull/3843
 - https://github.com/pypa/setuptools/issues/3966
Now, use [entry_points]console_scripts to specify these executables,
which does not use pkg_resources in the generated script files.
Change-Id: Ifcc8138e7b55d5b82bea0d411ec6bfcca2c77c83
2024年06月17日 15:01:35 -07:00
Tim Burke
a290f445ef CI: make sure old swift is truly gone for rolling-upgrade jobs
While switching how some executable scripts were configured, I saw
some strange rolling-upgrade failures that seemed to indicate that
the new invocation method was trying to be used with old code. It
seems like it maybe has something to do with whether swift was
installed to /usr/local/lib/python3.9/site-packages/ or
/usr/local/lib64/python3.9/site-packages/ but I'm not entirely
sure.
At any rate, a proper package manager ought to uninstall the old
version then install the new one, so it seems reasonable to do that
with pip, too.
Change-Id: I12e84745e7601d162755bc9d0f1cda7b63e92197
2024年06月17日 15:01:35 -07:00
Zuul
46e183df15 Merge "add bytes of expiring objects to queue entry" 2024年06月14日 20:29:12 +00:00
Thomas Goirand
90da23c7d2 kms_keymaster: allow specifying barbican_endpoint
Under a multi-region deployment with a single Keystone server,
specifying the Keystone auth credentials isn't enough. Indeed,
Castellan succeeds when logging-in, but may use the wrong
Barbican endpoint (if there are 2 Barbican deployed). This is
what happened to us, when deploying our 2nd region.
They way to fix it would be to tell Castellan what region to use,
unfortunately, there's no such option in Castellan. Though we may
specify the barbican_endpoint, which is what this patch allows.
Change-Id: Ib7f4219ef5fdef65e9cfd5701e28b5288741783e
2024年06月14日 12:17:07 +02:00
Anish Kachinthaya
3637b1abd9 add bytes of expiring objects to queue entry
The size in bytes from object metadata of expiring objects are stored in
expirey queue entries under the content_type field.
The x-content-type-timestamp take from object metadata is provided along
with the x-content-type update so the container replicator resolves the
latest content-type and ensures eventual consistency.
UpgradeImpact: During rolling upgrades you should expect expirer queue
entries to continue lacking swift_expirer_bytes= annotations until ALL
object servers replicas have been upgraded to new code.
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Change-Id: Ie4b25f1bd16def4069878983049b83de06f68e54
2024年06月13日 15:47:51 -05:00
Zuul
1d5b1d746e Merge "Lazy import is not needed" 2024年06月04日 20:45:11 +00:00
Tim Burke
eee7741251 CI: Move off CentOS 8
Remove swift-tox-py36-centos-8-stream job entirely.
Move the following jobs to CentOS 9:
 - swift-tox-func-s3api-ceph-s3tests-tempauth
 - swift-tox-func-s3api-tests-tempauth
 - swift-multinode-rolling-upgrade, as well as the other rolling
 upgrade jobs
Remove the swift-multinode-rolling-upgrade-victoria job, as py39
support (required for CentOS 9) was not added until wallaby.
Change-Id: I4f6b9c07af7bc768654f1a5d0c66b048e0f2c9c1
2024年06月04日 10:45:58 -07:00
Clay Gerrard
a666010aae Lazy import is not needed
There was an abandoned change that made reference to a RecussionError
when running a probe test that imported boto3 that had something to do
with eventlet, ssl and a transitive dependency on requests-mock, but the
fix that actually got merged seemed to depend on another change to
tox.ini that disables request-mock when we run pytest.
Either way, we already import from boto3 at the top of probe tests and
it's in test-requirements; so we require it to be installed even if you
don't have s3api in your pipeline.
Related-Change: I789b257635c031ac0cb6e4b5980f741e0cb5244d
Related-Change: I2793e335a08ad373c49cbbe6759d4e97cc420867
Related-Change: If14e4d2c1af2efcbc99e9b6fe10973a7eb94d589
Change-Id: Id2662bfc5ef2f21f901f1c98e6389c4cb01818a2
2024年06月04日 12:42:20 -05:00
Clay Gerrard
99c629edb8 tests: realistic task_container names
Change-Id: Ie5d8b555489d28c3b901e5bbebdcecbde7bb3367
2024年05月31日 14:09:32 -05:00
Zuul
82debd2cda Merge "docs: Add tempurl/formpost metrics" 2024年05月28日 02:36:47 +00:00
Alistair Coles
2422a77a4a object-expirer: refactor creating InternalClient
read_conf_for_queue_access was mostly creating an InternalClient, so
make that more explicit.
Change-Id: Ia6e1e6a8b58a8476fa16a3c7d45e620c6d7f88e4
2024年05月23日 12:50:37 -05:00
Clay Gerrard
f3adce1375 expirer: bad config should not loop forever
Change-Id: I9413c72f41465fb8026848f71ec3b39fa990c3b7
2024年05月23日 12:50:37 -05:00
Clay Gerrard
a2df74ffe2 tests: new test_config module for utils.config
Drive-by: fix ValueError message for non_negative_int
Change-Id: I06508279d59fa57296dd85548f271a7812aeb45f
2024年05月23日 12:50:31 -05:00
Zuul
c620a192d0 Merge "docs: Update further-reading URL for cross-domain policies" 2024年05月22日 21:36:02 +00:00
Zuul
337079f21f Merge "replicator: Ensure handoffs can clear with large handoff_delete" 2024年05月20日 21:41:28 +00:00
Zuul
d5c26bb690 Merge "test: more test for s3api v4 checksum" 2024年05月18日 00:34:18 +00:00
Tim Burke
b447234b2f Allow StatsdClients to no-op if no host provided
We've been working toward separating our logger from our statsd client.
This is generally a good idea; it's always been a little weird to have
our special-case loggers that would allow you to *also* increment some
counters.
The end goal is to take a bunch of places that look like
 logger = utils.get_logger(conf)
 ...
 logger.info(...)
 logger.increment(...)
and turn them into something more like
 logger = logs.get_adapted_logger(conf)
 stats = statsd_client.get_statsd_client(conf, logger=logger)
 ...
 logger.info(...)
 stats.increment(...)
Take a lesson from logging: callers don't need to know whether the
log_level is high enough that their message will be logged, or even
whether logging is enabled at all. Code wanting to emit stats shouldn't
need to know whether statsd collection has been configured, either.
Co-Authored-By: Alistair Coles <alistairncoles@gmail.com>
Change-Id: I6eb5b27a387cc2b7310ee11cc49d38fd2b6cbab8
2024年05月17日 13:49:03 -05:00
Zuul
a1916855c2 Merge "bump lxml to 4.2.3" 2024年05月16日 20:24:59 +00:00
Zuul
d47811fc3e Merge "make statsd_client more explicit" 2024年05月16日 19:39:51 +00:00
Zuul
3ac4030424 Merge "s3api: Improve checksum-mismatch detection" 2024年05月16日 17:49:43 +00:00
Clay Gerrard
b40ae84f85 make statsd_client more explicit
Even if stdlib socket is probably patched by the time StatsdClient
creates a socket, we want to import the green socket module explicitly
for better testing.
Move test_statsd.py to test_statsd_client.py so it matches the naming
convention of the rest of our test files.
Fix some patching of utils in test_statsd_client to patch
statsd_client.
Rename some vars in test_statsd_client that shadowed the statsd_client
module name.
Move some utils tests out of test_statsd_client and back into
test_utils.
Related-Change: I4b5b12a3b0288b696a39903264741bc862a94ad7
Change-Id: I3de22b7f15dd386fa9c873587782f0dfc4c42a27
2024年05月16日 16:49:54 +00:00
Clay Gerrard
893deca274 test: more test for s3api v4 checksum
Related-Change: I9924ff3b8d7d246631fe61b916823e028e2c01f2
Change-Id: I2a4581e408e3012a44bfb0cd58563b82040e23fc
2024年05月16日 10:44:55 -05:00
Tim Burke
a3ee04152d docs: Update further-reading URL for cross-domain policies
The old one now just redirects to https://developer.adobe.com/
Change-Id: Iba281bb8dceedef9bbb702abf0b93473bf91d9f7
2024年05月15日 08:28:03 -07:00
Zuul
35a00caf3a Merge "Move old rolling-upgrade jobs to point to EOM tags" 2024年05月14日 20:40:54 +00:00
indianwhocodes
54e13ee9b5 bump lxml to 4.2.3
Change-Id: Ia83ab181277e04e473e33680b3f2d686f534a084
2024年05月14日 11:03:51 -07:00
Zuul
d1aa735a37 Merge "backend ratelimit: support per-method rate limits" 2024年05月13日 16:11:19 +00:00
Zuul
bf206ed2fe Merge "backend ratelimit: support reloadable config file" 2024年05月11日 20:26:40 +00:00
Zuul
13f82f532c Merge "Mark rolling-upgrade job voting again" 2024年05月11日 00:55:58 +00:00
Tim Burke
178265d209 Mark rolling-upgrade job voting again
We got fixes everwhere we needed; this actually could have been voting
a while back.
Related-Change: https://review.opendev.org/c/openstack/swift/+/863929
Change-Id: I86012f7f4703becfbc6bb59b865a123cc9823f77
2024年05月10日 13:04:06 -07:00
Tim Burke
0444a056e7 Move old rolling-upgrade jobs to point to EOM tags
Change-Id: Iba4a9271910b032b8726c0dc605d95cf8da05e44
2024年05月10日 12:42:00 -07:00
Zuul
c4ebcaa438 Merge "import exceptions "correctly"" 2024年05月10日 18:29:45 +00:00
Zuul
47cde0b28b Merge "Test under py312" 2024年05月09日 20:17:49 +00:00