)]}'
{"id":"openstack%2Fswift~1005299","triplet_id":"openstack%2Fswift~feature%2Fthreaded~Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42","project":"openstack/swift","branch":"feature/threaded","topic":"eventlet-removal","attention_set":{},"removed_from_attention_set":{"6968":{"account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"last_update":"2026-09-18 08:23:06.000000000","reason":"\u003cGERRIT_ACCOUNT_6968\u003e replied on the change","reason_account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}},"hashtags":[],"change_id":"Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42","subject":"gunicorn: keep the Expect header visible to the app","status":"MERGED","created":"2026-09-11 16:34:10.000000000","updated":"2026-09-18 09:38:25.000000000","submitted":"2026-09-18 09:38:25.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1005299-eventlet-removal","meta_rev_id":"85f54930625efbc09fda51d1c1e4d220ffd0b56d","_number":1005299,"virtual_id_number":1005299,"owner":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-18 09:38:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":2,"date":"2026-09-18 08:23:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":1,"date":"2026-09-18 08:23:06.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-11 17:34:12.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-09-11 17:47:20.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"6e521be0e48074ec865cb7d80106b55d01b955b1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-11 16:34:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5ed30de34d50b13a69b8ee72c3823529a0d01b82","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 17:34:12.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5c7bdd4f3b4c42daa5eafd9ab0fba553\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2b236a8ea58547c58f09f429d9706584 : SUCCESS in 51m 24s","accounts_in_message":[],"_revision_number":1},{"id":"51112c8b636e263d05373e6d319328fed8632cac","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 17:47:20.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e5908fe273be46c1991b5eb241377a81\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/94a72576b33545359f052b880e22024a : SUCCESS in 6m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ef74f22dd6ca4c5bbe5ca3c2d73b6703 : SUCCESS in 9m 51s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c8c333b3af5f4623ad2b7cbb5155bf58 : SUCCESS in 20m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9869d788c40847de89df237ca734966d : SUCCESS in 14m 17s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/db0b15ae0b984e95af899928e62a880c : SUCCESS in 12m 38s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8d908db26fc746bab261e6c402c89e34 : SUCCESS in 7m 29s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2174096b73dc4f47be94e4b1fb8d8357 : SUCCESS in 27m 19s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8845965dab27467f8e80ad86fa833d12 : SUCCESS in 11m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/640248ee9c024738b9651b4a3c5f63f5 : SUCCESS in 35m 57s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/97b8543f2df8467fb80f0ca14ad241e1 : SUCCESS in 15m 57s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/8f6a0292a60d465faffa96b7624e2107 : SUCCESS in 11m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/32519069d70248f1a7620bc0e69cdaff : SUCCESS in 16m 52s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/57103de310ed4da6a12bfa9f7a48d70f : SUCCESS in 17m 09s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/fbabec72d22845b6b8f501ee75af3928 : SUCCESS in 17m 35s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/903f660a04f14500a1569d535126ddfb : SUCCESS in 20m 07s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/e5643b53000a4e83a32ce832f9029e0e : SUCCESS in 11m 09s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c46025e581654136a1dc74b13189b5c3 : SUCCESS in 6m 56s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d5f6c5b9879f45a2b148b4f3c15b4039 : FAILURE in 38m 25s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c4b58bacb4624f48a4d40cf92c075d23 : SUCCESS in 8m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/75919088212743e187d1a051a20485d0 : SUCCESS in 59m 40s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/5be3859ca78b4e03ac142d1764a554ba : SUCCESS in 58m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/020af30402ba4a02a9482488584af26c : SUCCESS in 29m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ecefa39d9c0c46bdb5f8fe9ea44ce837 : SUCCESS in 3m 54s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/adb58ce941c541889a19ad290591be3d : SUCCESS in 18m 50s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1},{"id":"dd73badb20da5fc92e15171b29f5f4317e030523","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-15 15:47:12.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"1aa8de9a82c8c3af99451532560ac652919c522a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 16:34:10.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/15b290cfcc084790ace7d6fa4e469311\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c679645a1064479dac95174b39b40914 : SUCCESS in 32m 24s","accounts_in_message":[],"_revision_number":2},{"id":"9de99a08aa649eee5571e2d635f100d6b119ea11","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 17:10:27.000000000","message":"Patch Set 2: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/8324536af0e94cf6836b34cc7afc83c6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ac3e7edbd9f64eae9d513b29e5fa2976 : SUCCESS in 7m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b2675484964a43f8b605ed74e13d6da8 : SUCCESS in 12m 04s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cb10ba328e6041d8bde8e6fd71328cad : SUCCESS in 19m 53s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/236693a5cf004e17bdf753c063fb8d0e : SUCCESS in 22m 06s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6a50749816804f2fa01964af7f8558fc : SUCCESS in 22m 07s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0b9d767eae20425185c8b7638b1f8dbf : SUCCESS in 10m 01s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f213daf533964eb4bab26390e640fdfb : SUCCESS in 29m 07s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8173f2ba84fa4211a39567862d6da978 : SUCCESS in 21m 10s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/249747e44e7042b886434e0cec06f1a9 : SUCCESS in 35m 41s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d0b2e7a2d08449f1915b72cd8bbdb436 : SUCCESS in 13m 53s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/7b50d0a2619549979147cd2f30ad6a35 : FAILURE in 29m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ca393d33d9cb480696a272d3f12c6f79 : SUCCESS in 16m 07s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3437accf6c19427ca9da4332774edb55 : SUCCESS in 11m 52s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b64e8b05417448708b7c1526c53ba97a : SUCCESS in 16m 19s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/9ef3f6822d8b49cc91f80c816bf1ef02 : SUCCESS in 17m 21s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/fb61aed296a04e3e9db8f966e28e06c0 : SUCCESS in 18m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/57910ce15587474cb038677b7a5173a9 : SUCCESS in 6m 57s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/900f1f5b188f481db66c2649d212413e : FAILURE in 38m 27s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2c7b260521e3461f8399dc04f07623ab : SUCCESS in 9m 50s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bf4ebad3271f4d0ca259ce2ec00ddbfd : SUCCESS in 42m 27s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/6c75faa16cda48b2a60f60265b559f1f : SUCCESS in 59m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/39b15026de9a46fe84f69e0ada9b74cd : SUCCESS in 29m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b10a7f21c20f4de0bceacd89943a9be5 : FAILURE in 5m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9709c28376ab40de91ff0f08680bc4ad : SUCCESS in 17m 24s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":2},{"id":"203262592e29982f8314e656c52a90adfb4c280e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-16 13:39:54.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"43864b8e86fa046472f356816e1eced2ffe28d23","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 15:22:23.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5238176fd5ed457685f381ca48a10bf9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ade5e94c0c344fdda001e2ba728ef6f4 : SUCCESS in 13m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6b513ebe475d4700b37f07d9f9975901 : SUCCESS in 5m 34s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4520bc48ad6c4a5f99387cb84b49d02e : SUCCESS in 21m 22s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/55e7b4a32e7f4d1b8dbfe17531d6b4d0 : SUCCESS in 23m 45s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/94af5db4c0c2442d8daeb72ad6577844 : SUCCESS in 24m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e153cef35b284c7ba70c869071fb3dc5 : SUCCESS in 9m 09s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a1a890c00cf843829d6598b205421742 : SUCCESS in 20m 48s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9a2fb7da292b4ee2ad40fc956322e658 : SUCCESS in 22m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2fdd7949aba54b3faf075ee93aa530e6 : SUCCESS in 23m 10s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d6fc6f582d824f8d824d4cef3149f337 : SUCCESS in 16m 36s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/931ee55245d14a399bc1f9ce169b4dba : SUCCESS in 17m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d1ec5b4119894ce9a5840b8a0fd35794 : SUCCESS in 11m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3b1a1aff17ea4b24a13cf79231e81e48 : SUCCESS in 16m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/50bb53cb0728401f827ade0c58aae7d8 : SUCCESS in 14m 40s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/b6f91cdc31a0423aa305170dedfa63c5 : SUCCESS in 14m 19s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/836869de792d4f608de8ac08c0c3006a : SUCCESS in 18m 34s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ac0028b8a7c54d58b85b782b07d5fdc5 : SUCCESS in 5m 15s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7fdddfed939048818b514ddcc311f225 : FAILURE in 30m 46s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8c3015cb382e4d269dae11a6a9fff3f9 : SUCCESS in 9m 42s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/8661ad792524497fa638b3db28827d06 : SUCCESS in 57m 37s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/7439b5e8c49543ca995879948c9a0b1d : SUCCESS in 51m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0f8ebf8d35f9494296d328c8b66f0fea : SUCCESS in 12m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6d27a22ae5ff4d6e8dca2432c4da26cb : SUCCESS in 4m 12s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/daf0b93fa11b43d8b442c9b81a020611 : SUCCESS in 13m 47s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":3},{"id":"6bd39466ba8a292275107aaa09fe289306da9194","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 18:43:46.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c5f56284f0ad4a3e9d6b6db8cd8384ab\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/86f769bd7fa149c0a6b4976851b7734f : SUCCESS in 35m 01s","accounts_in_message":[],"_revision_number":3},{"id":"a3129cc019392b4383a2d7bb5ef9cf61bf29bfed","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-18 07:09:03.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"4ab50152797b3d50794e7b57607d826f79694868","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:05:58.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/85214d952c134c54a9a31520ce5cf488\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a93b3bf63462431c9842cc659c7519b6 : SUCCESS in 52m 35s","accounts_in_message":[],"_revision_number":4},{"id":"a3e382770d7276243a5ea8d769a2ca59128c76cb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:21:44.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/71f6e250a85d4e47a87069a41e1c67ee\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a71b3476ed2049d39d1b21cd974c11f3 : SUCCESS in 9m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/66ce43574d4641deb00b5e895607fb1a : SUCCESS in 10m 02s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a44153371ba84706b0cc218bb9ab82d1 : SUCCESS in 11m 12s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/afbbc66780bb4244a2beb4a796458cbd : SUCCESS in 19m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/393b5a15b7944b5a95f8e15f5d60baac : SUCCESS in 18m 37s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/506929c8a9c04326a0a26676ed488b7f : SUCCESS in 7m 04s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8e8cf1b76ed7456192b3fde52b23fbbf : SUCCESS in 25m 31s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/79b8eeb3f35249a48fd6a338b75d3698 : SUCCESS in 23m 12s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/441dce6994704363bb06d2c584fbd395 : SUCCESS in 33m 00s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/01d29f4b5dbf4a639c0afb8c2ec7ca50 : SUCCESS in 20m 13s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/5e8d471e76554ff69388f84e10b0320b : SUCCESS in 29m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/58992c5906474a90ae8d114c5aa45690 : SUCCESS in 14m 14s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/32c33b8082874a2f9d0f6fba09329649 : SUCCESS in 17m 09s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/d130a2e316cc495b9d637a8eaa45d631 : SUCCESS in 15m 25s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/d7770930696d40299c3d8fc0f26fb9b0 : SUCCESS in 15m 59s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/ecf284c5fd414e5aba238d302b5ccac4 : SUCCESS in 10m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/07de3a3a1625487c8bd4be353f8cda68 : SUCCESS in 4m 01s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b4457837b6fc4b228e34961f1ef2f19f : FAILURE in 32m 02s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/832e4ee4f10f480387d12a9da67a301a : SUCCESS in 8m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c797a00b47ab47a7a21465145aa4bc8e : SUCCESS in 1h 00m 40s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/929ce33007824b49b841d6c5dfc6cde1 : SUCCESS in 43m 36s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/feb46920b08d4a1983a72bd10c04feda : SUCCESS in 19m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/be80f48c002a4183872f47dfdafd16bb : SUCCESS in 4m 35s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f0cf006b54c043bf8cdbcb781295fcff : SUCCESS in 15m 45s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":4},{"id":"30cd2aafd930a9edd39e3fd06ad5f4518fc8d383","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-18 08:23:06.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"56f572eb2d90378d341df5182385460f5eb3d173","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:27:59.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"3fff8f4c945f84155b0b2368e227e07236056459","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:38:25.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6684fcea409d460bab96c1111d8c5a6b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/57fed562855a40baa4ea8df12343fb8b : SUCCESS in 11m 58s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/488b7848890448419696ac0d0e3f2fba : SUCCESS in 10m 30s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/17c9a8fff1124959a2154237901c41b4 : SUCCESS in 10m 33s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/121c8d1f10e84924b9b35889ae80b4f1 : SUCCESS in 21m 41s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/afda602383d444b1a0bd53d2950cf5f6 : SUCCESS in 12m 31s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/ca90249945ac46a58e90f67ffedbcafe : SUCCESS in 32m 30s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/bac4db12be724846a9f2cd528e3d80d9 : SUCCESS in 20m 54s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/48809870a424430985011a445b64ac07 : SUCCESS in 16m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/89987a553de74dea882a170e50cc6076 : SUCCESS in 13m 44s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/d8cf0b9e75754cc9a206b38858408afe : SUCCESS in 16m 10s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/be19d6b69f7e40b1b369c321ea909f21 : SUCCESS in 7m 18s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/66b876b8770b4f11b06cc3ccba5c75c0 : SUCCESS in 9m 36s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9ced8523104b413a9d41738e897567d3 : SUCCESS in 59m 42s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/39f9bee324874a3ea91ea7964aa612d1 : SUCCESS in 30m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eaaaac2e136149a98111af21d474298f : SUCCESS in 5m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f7ec4fb518ee4da68e1ad00e26431491 : SUCCESS in 18m 00s","accounts_in_message":[],"_revision_number":4},{"id":"85f54930625efbc09fda51d1c1e4d220ffd0b56d","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:38:25.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"e12407ddaf25ccd46ebd17ebc495f218e1237f7c","revisions":{"16f4d4d0f1de60f44440b75701a0e91423515381":{"kind":"REWORK","_number":1,"created":"2026-09-11 16:34:10.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/99/1005299/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/99/1005299/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/99/1005299/1"}}},"commit":{"parents":[{"commit":"81273ccba3717cf524205160d026dff50139e277","subject":"gunicorn: require gunicorn 25.2.0 or newer","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/81273ccba3717cf524205160d026dff50139e277"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:26.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:49:10.000000000","tz":120},"subject":"gunicorn: keep the Expect header visible to the app","message":"gunicorn: keep the Expect header visible to the app\n\nThe patched default_environ removes Expect: 100-continue from\nreq.headers, so gunicorn does not send the 100 Continue response\nitself. But gunicorn built the HTTP_* keys from the shortened list, and\nheaders_raw came from the same list. The app never saw the header.\ns3api rejects a request when a signed header is absent. The AWS Java\nSDK signs Expect, so its PUT requests got 403 in threading mode.\n\nBuild headers_raw from the original list. Set HTTP_EXPECT after\ngunicorn built the environ. req.headers stays shortened.\n\nChange-Id: Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/16f4d4d0f1de60f44440b75701a0e91423515381"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/16f4d4d0f1de60f44440b75701a0e91423515381"}]},"branch":"refs/heads/feature/threaded"},"61664a28b9c975a2422e0a263a9b4c30cf3593c2":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-15 15:47:12.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/99/1005299/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/99/1005299/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/99/1005299/2"}}},"commit":{"parents":[{"commit":"c9c2a9aae885a9edc254cb365bd498d224753a58","subject":"gunicorn: require gunicorn 25.2.0 or newer","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c9c2a9aae885a9edc254cb365bd498d224753a58"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:26.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-15 13:19:46.000000000","tz":120},"subject":"gunicorn: keep the Expect header visible to the app","message":"gunicorn: keep the Expect header visible to the app\n\nThe patched default_environ removes Expect: 100-continue from\nreq.headers, so gunicorn does not send the 100 Continue response\nitself. But gunicorn built the HTTP_* keys from the shortened list, and\nheaders_raw came from the same list. The app never saw the header.\ns3api rejects a request when a signed header is absent. The AWS Java\nSDK signs Expect, so its PUT requests got 403 in threading mode.\n\nBuild headers_raw from the original list. Set HTTP_EXPECT after\ngunicorn built the environ. req.headers stays shortened.\n\nChange-Id: Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/61664a28b9c975a2422e0a263a9b4c30cf3593c2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/61664a28b9c975a2422e0a263a9b4c30cf3593c2"}]},"branch":"refs/heads/feature/threaded"},"4eddc6ea1ca6f398a454ab6ab5719fa4e496a707":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-09-16 13:39:54.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/99/1005299/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/99/1005299/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/99/1005299/3"}}},"commit":{"parents":[{"commit":"5d6ef96c0fd2750e58f41ea283b58a651dd0a4d4","subject":"gunicorn: require gunicorn 25.2.0 or newer","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5d6ef96c0fd2750e58f41ea283b58a651dd0a4d4"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:26.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-16 13:31:49.000000000","tz":120},"subject":"gunicorn: keep the Expect header visible to the app","message":"gunicorn: keep the Expect header visible to the app\n\nThe patched default_environ removes Expect: 100-continue from\nreq.headers, so gunicorn does not send the 100 Continue response\nitself. But gunicorn built the HTTP_* keys from the shortened list, and\nheaders_raw came from the same list. The app never saw the header.\ns3api rejects a request when a signed header is absent. The AWS Java\nSDK signs Expect, so its PUT requests got 403 in threading mode.\n\nBuild headers_raw from the original list. Set HTTP_EXPECT after\ngunicorn built the environ. req.headers stays shortened.\n\nChange-Id: Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4eddc6ea1ca6f398a454ab6ab5719fa4e496a707"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4eddc6ea1ca6f398a454ab6ab5719fa4e496a707"}]},"branch":"refs/heads/feature/threaded"},"e12407ddaf25ccd46ebd17ebc495f218e1237f7c":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-09-18 07:09:03.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/99/1005299/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/99/1005299/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/99/1005299/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/99/1005299/4"}}},"commit":{"parents":[{"commit":"06747ebe6fdd9896559aecf1766c874ea68c463d","subject":"gunicorn: require gunicorn 25.2.0 or newer","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/06747ebe6fdd9896559aecf1766c874ea68c463d"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:26.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-18 07:03:32.000000000","tz":120},"subject":"gunicorn: keep the Expect header visible to the app","message":"gunicorn: keep the Expect header visible to the app\n\nThe patched default_environ removes Expect: 100-continue from\nreq.headers, so gunicorn does not send the 100 Continue response\nitself. But gunicorn built the HTTP_* keys from the shortened list, and\nheaders_raw came from the same list. The app never saw the header.\ns3api rejects a request when a signed header is absent. The AWS Java\nSDK signs Expect, so its PUT requests got 403 in threading mode.\n\nBuild headers_raw from the original list. Set HTTP_EXPECT after\ngunicorn built the environ. req.headers stays shortened.\n\nChange-Id: Ifacdc3b0ba0aae11af04775bd4ba02eb3eaa1e42\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e12407ddaf25ccd46ebd17ebc495f218e1237f7c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e12407ddaf25ccd46ebd17ebc495f218e1237f7c"}]},"branch":"refs/heads/feature/threaded"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
