)]}'
{"id":"openstack%2Fswift~1006812","triplet_id":"openstack%2Fswift~stable%2F2026.2~I6ba1e53eafe1437af168c893c9ee8f708e0c294a","project":"openstack/swift","branch":"stable/2026.2","attention_set":{},"removed_from_attention_set":{"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-09-29 00:16:31.000000000","reason":"\u003cGERRIT_ACCOUNT_15343\u003e replied on the change","reason_account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}},"hashtags":[],"change_id":"I6ba1e53eafe1437af168c893c9ee8f708e0c294a","subject":"s3api: fix mpu copy error with x-amz-copy-source-if-match","status":"MERGED","created":"2026-09-22 19:48:12.000000000","updated":"2026-09-29 01:54:23.000000000","submitted":"2026-09-29 01:52:53.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1006812","meta_rev_id":"ca8b8c7273d7cfc8498ac8e12b60c69a51f4dbb3","_number":1006812,"virtual_id_number":1006812,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-29 01:52:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"recommended":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":1,"date":"2026-09-23 11:17:42.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-09-29 00:16:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-09-29 00:16:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-22 19:48:12.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"CC"},{"updated":"2026-09-22 20:55:24.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-22 21:05:35.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"},{"updated":"2026-09-23 11:17:42.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"}],"messages":[{"id":"9b74ea43c37e65120ba3c44e7f6ecb958d3592e4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-09-22 19:48:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"083bc1b624798972fed96780b1c6cd812fa91c76","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-22 20:55:24.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1ae2b032e3d8451a9afab2c992034048\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/25a7fb138ef14c5d80dbe10bce2489a3 : SUCCESS in 1h 04m 58s","accounts_in_message":[],"_revision_number":1},{"id":"0fc73867e7a977167040d6bc4ebd7353c9a52548","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-22 21:05:35.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/10a66ba962514c9b8c548a6abc8264f3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2e158badceb64cd7beba64c642eb6f3a : SUCCESS in 11m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d9e9529c879943d5b5af2a5efcbf39ed : SUCCESS in 5m 57s\n- grenade https://zuul.opendev.org/t/openstack/build/722a6c531aa14b149bb3ae7b5614bf73 : SUCCESS in 1h 09m 28s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6e146bcc8cb14b61b2feefc9e0578769 : SUCCESS in 35m 47s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/58fb7b72533a4899981a20d4123dd5fb : SUCCESS in 34m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cbf53203d45f42788444bc9a0ea340e4 : SUCCESS in 33m 50s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b8058d48622a4fedb820f7384ab73fb5 : SUCCESS in 11m 27s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/21a7597583d64571a71d6959e5d79c43 : SUCCESS in 22m 23s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f1ac4328cd7d4be5a76c6100eb3ebcaf : SUCCESS in 23m 25s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e47700df240540a590fdd3c12843af2b : SUCCESS in 5m 11s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fb93fa6b77f44efaa80d8d8dc37f69dc : SUCCESS in 23m 04s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0e908a5d63d747c58b7726d89bf20834 : SUCCESS in 22m 00s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a045039be45c437babb3a6c67111b89d : SUCCESS in 21m 34s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/24733f09d1334eb8854dbec5836fec51 : SUCCESS in 9m 49s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6780ec86a5804acda2e96115387a1e1b : SUCCESS in 14m 36s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1f03b790f50a4ac9a1af0d0818a6184a : SUCCESS in 9m 40s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e3f0cea2da044f3e89f1ce9f5797496e : SUCCESS in 16m 54s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/7d42acaa8c9544e9bb2501ccf6e86905 : SUCCESS in 10m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/df485d07a8fe48c59ba3850e19626996 : SUCCESS in 9m 13s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/285b845bb0934a969f5cc59062df07ff : FAILURE in 34m 36s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/16398167938e41b09bc4d815fbca51c9 : SUCCESS in 10m 02s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ac4fffd5965f42edabdb30786d79dd0b : SUCCESS in 1h 05m 55s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7f1bd7809bbb4ff1b0eb0f5145cd3f5c : SUCCESS in 23m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b95b703eef9e4155b3b503939297b1b6 : SUCCESS in 28m 19s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fb5a674ef13a4ccb9cb8573c357ef62d : SUCCESS in 22m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6a11c2de28c74d46b56558926d88b4bf : SUCCESS in 5m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/21ba0c25f8914694bdc166089bd5fba4 : SUCCESS in 12m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/52e174f34ac043d494fc7d76b1516699 : SUCCESS in 30m 46s\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":1},{"id":"eff4611cf5a907bf5b325ad145fbf3014b5f2607","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-09-23 11:17:42.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"bbd269841de0c3e58466e4d5b72ea822b16e7cf8","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-09-29 00:16:31.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ed5c394b28cc07ff306f348f0f3fab35fbd98c30","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 00:17:13.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"455ff64612ea83bf8106b884490a83a433e615ed","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 01:52:53.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4e0f7a5e21594ab8a1c7cc0e0204db79\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0b3f7c794cd0416e8cad79fe2aa947b2 : SUCCESS in 12m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/87aa96ad720d4aba9f585e4d58f782aa : SUCCESS in 5m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/706ebd4fcf9343f3890682bb3be08400 : SUCCESS in 1h 03m 21s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/cec21adefc464fd9b7ce96da9002703a : SUCCESS in 36m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5518972c2ab843699ce39e40c83b3542 : SUCCESS in 53m 10s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/237cddace4c34a88a05b5eb63a648e85 : SUCCESS in 28m 37s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/0a2673598a114c02b6b58a563755fefa : SUCCESS in 7m 46s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9abc81f523da42fab41aaa946c467526 : SUCCESS in 26m 02s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/998e7d0f1a8246c18dd9f5fdd0b920b6 : SUCCESS in 9m 43s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b4103c6312904194996031db5cebca42 : SUCCESS in 11m 58s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/776b0a6a2618437e89b2b26bdc92ffc4 : SUCCESS in 9m 26s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c27d3fa4482d401b90aa645302b37838 : SUCCESS in 14m 51s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a3148dc19f7b4fb190aa18a18ad5a940 : SUCCESS in 16m 00s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/32447884fb8b43b79caee9ea8aaff03f : SUCCESS in 10m 26s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f004d7b322d846ca81d3ffc8d199e6f8 : SUCCESS in 6m 36s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0c1ef7787dce433f9cf46c056775a6ec : SUCCESS in 8m 56s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c8c2aa7d51254d9686f119043c1accc5 : SUCCESS in 36m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8bcf68af16ab45e3b383ab05da39d684 : SUCCESS in 23m 27s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/32d7151b2ec4495b90266da371393189 : SUCCESS in 56m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d28907a458a34fa8b66c0d9a4efc5a47 : SUCCESS in 14m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/122a4fd13a8d470ca8569a2f6ec5ae21 : SUCCESS in 3m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2bf2bdbb3d9f4daea84421af9b704280 : SUCCESS in 20m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/feb068919ac5458ba3a319513eb2910a : SUCCESS in 30m 03s","accounts_in_message":[],"_revision_number":1},{"id":"91c67b781244a53d7e190d180d7d9f376fe4a58a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 01:52:53.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"ca8b8c7273d7cfc8498ac8e12b60c69a51f4dbb3","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 01:54:23.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2c27d15477c641918a23307d51b1852a\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e71738b5c1b44ec39bb46a29e66c9361 : SUCCESS in 49s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/9c63f78bacf4425086dc4e6a1edfdf37 : SUCCESS in 50s (non-voting)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"747c68b77373762e4ddfbfbb3df051a3a6c8ada0","revisions":{"747c68b77373762e4ddfbfbb3df051a3a6c8ada0":{"kind":"REWORK","_number":1,"created":"2026-09-22 19:48:12.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/12/1006812/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/12/1006812/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/12/1006812/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/12/1006812/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/12/1006812/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/12/1006812/1"}}},"commit":{"parents":[{"commit":"bb4d8b5b21766886d1f8e4259126c7879277f83a","subject":"Update TOX_CONSTRAINTS_FILE for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb4d8b5b21766886d1f8e4259126c7879277f83a"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-18 08:18:16.000000000","tz":60},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-09-22 19:48:00.000000000","tz":-420},"subject":"s3api: fix mpu copy error with x-amz-copy-source-if-match","message":"s3api: fix mpu copy error with x-amz-copy-source-if-match\n\ns3api makes a HEAD response to check the source of a copy before\nmaking the PUT request to perform the copy. Previously, if the source\nwas a multipart upload object and the client copy request had an\nX-Amz-Copy-Source-If-Match, the HEAD request and therefore the client\nrequest would fail with a 412 Precondition Failed response. This was\nbecause the HEAD request did not include an X-Backend-Etag-Is-At header\nto direct the object-server to match against the\nX-Object-Sysmeta-S3api-Etag metadata.\n\nA similar error occurs when an X-Amz-Copy-Source-If-Match is sent with\nan UploadPartCopy request. The aws-cli has started to send this header\nsince version 2.32.2 (see bug report).\n\nThis patch adds the X-Backend-Etag-Is-At header to the copy source\ncheck HEAD response for both CopyObject and UploadPartCopy\nrequests. The header value specifies the X-Object-Sysmeta-S3api-Etag\nmetadata key and, to cater for older MPUs, the legacy\nX-Object-Sysmeta-Swift3-Etag metadata key.\n\nCloses-Bug: #2147177\nChange-Id: I6ba1e53eafe1437af168c893c9ee8f708e0c294a\nCo-Authored-By: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n(cherry picked from commit e32bc963df516d6465912e5d2d6924925549c1da)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/747c68b77373762e4ddfbfbb3df051a3a6c8ada0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/747c68b77373762e4ddfbfbb3df051a3a6c8ada0"}]},"branch":"refs/heads/stable/2026.2"}},"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"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":""}}}]}
