)]}'
{"id":"openstack%2Fswift~999336","triplet_id":"openstack%2Fswift~master~Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33","project":"openstack/swift","branch":"master","topic":"reject_range_on_object_copy","attention_set":{},"removed_from_attention_set":{"34930":{"account":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"last_update":"2026-08-21 12:44:55.000000000","reason":"Change was submitted"},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-08-20 17:40:49.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}},"39146":{"account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"last_update":"2026-08-21 12:44:55.000000000","reason":"Change was submitted"},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-08-21 12:44:55.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33","subject":"s3api: reject Range header on CopyObject","status":"MERGED","created":"2026-07-30 20:48:02.000000000","updated":"2026-08-21 12:46:04.000000000","submitted":"2026-08-21 12:44:55.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":33,"unresolved_comment_count":5,"has_review_started":true,"submission_id":"999336-reject_range_on_object_copy","meta_rev_id":"3ca5586b962f634520ae83294cfd6402ded80958","_number":999336,"virtual_id_number":999336,"owner":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"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"},{"value":0,"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-21 12:44:55.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":2,"date":"2026-08-21 10:23:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},{"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":1,"date":"2026-08-21 10:23:30.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},{"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":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-30 20:49:17.000000000","updated_by":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"reviewer":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"state":"REVIEWER"},{"updated":"2026-07-30 20:49:17.000000000","updated_by":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2026-07-30 21:53:39.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-07-30 21:54:17.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-07-31 13:35:45.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":"f9b9ba270a5c22013e75a5a104ef6eb4915de1d2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2026-07-30 20:48:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8637a3097774da0ff4c0f04cbef16146d144a3ae","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-07-30 21:01:40.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"35f1ac0dcfceb94993a2ca32b846587d22e18074","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 21:53:39.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8cc12af55e74a359a6bb0aa4dc0d396\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/67449ebdac99421cba57210b60a11d79 : SUCCESS in 1h 03m 12s","accounts_in_message":[],"_revision_number":1},{"id":"33d0896925549c78180e98283ba0b3c5cc740c29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 21:54:17.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/83e046050a8a48f78cecef0b355eef81\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6e8cf4f268e44f10a2723e23b53b5f1d : SUCCESS in 8m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c8e9c9f4f8f340d2956ed7a70deda399 : SUCCESS in 9m 38s\n- grenade https://zuul.opendev.org/t/openstack/build/f500cabcdfdd4fa0a83913a607c23261 : SUCCESS in 32m 01s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0e66cda11e9c42bda95eda1711ceb33a : SUCCESS in 31m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7d4bfe1cb1a44416a26c4fbea0932ab7 : SUCCESS in 30m 59s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/162e5f352a93456fbb775b52721b737a : SUCCESS in 1h 04m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1eef8156effe4213ac031cca1f4078f8 : SUCCESS in 12m 44s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a590b542218d4aa4b0c37038d4005ab8 : SUCCESS in 20m 12s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/36432651aeb74a29850f605f39d8856f : SUCCESS in 20m 48s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/15ab83c90b8049e192f31fd621064a19 : SUCCESS in 7m 25s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1f77daed0fe84ff187fc4421e7627e21 : SUCCESS in 12m 04s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/041b31e38ed64bbeaa754b56c03a907c : SUCCESS in 11m 25s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4a7859a6a6fa40a48f1bcdc86f9172d2 : SUCCESS in 13m 24s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f8d94bc4ee1a4221a3a2525522e53a30 : SUCCESS in 22m 06s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cabbc786e17a47a6a061733358e99645 : SUCCESS in 12m 22s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/bd39e0f79bf343159fa6c56f9e129fa9 : SUCCESS in 10m 07s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7aad8c4669814aae9e90fd92e4fb5c76 : SUCCESS in 15m 21s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/8911b1dd16f24ab6acae25c21130ff18 : SUCCESS in 13m 07s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ab15537419fc40f8a1893a9c11f9c116 : SUCCESS in 6m 12s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3ffa257e910a4216b4c9d22816026e14 : FAILURE in 4m 03s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/12b0fa463c93461daf58a97c5f0d3e88 : SUCCESS in 5m 38s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9bf5d346d4944212ae7bf82ec48b0d79 : SUCCESS in 36m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8d416533821048728afa49fe54e7001d : SUCCESS in 51m 35s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b4adbe4529ff402d84b3530cb8092150 : SUCCESS in 52m 09s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0a939f32137b48c7a538e4cb8f98a41f : SUCCESS in 28m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ccda9b76ea4f442087ccde5936119138 : SUCCESS in 3m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/de15c74e18aa4db38fdf45903540a2fd : SUCCESS in 11m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1be2a427d40b4bee803f506aa66ab221 : SUCCESS in 27m 13s\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":"ac296b0c837d3c37641aab9a9a4e50279ef3c309","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-07-31 13:35:45.000000000","message":"Patch Set 1: Code-Review+1\n\n(9 comments)","accounts_in_message":[],"_revision_number":1},{"id":"8cd17b2d74c8994e788d02820c5485a46e378175","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 15:57:43.000000000","message":"Patch Set 1:\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"72b9aa9a15ea04ffd0f481fca33ceb56c33af6ef","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 21:42:39.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"c7cd42c4f2ce857763be8c5b44008e67e8933fe9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 21:47:51.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"46b0cf2540776295f9f39d3d6e2eaccb2bc71628","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 21:48:33.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"70c1f942fa92cd0ff97f65440985d4d6fbcc3ffe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 22:21:35.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"68591e7b21a0495fdd0e954a5a0cbf562e195b76","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"date":"2026-08-03 22:21:51.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"da5952d774ddc529aaa7224153aa9a1d49d6a486","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 23:01:17.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d799bd6d18764b0695a1739e5c66f175\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/3f6526b1e61d45feb2ff4d10395de1dc : SUCCESS in 38m 01s","accounts_in_message":[],"_revision_number":3},{"id":"3bc2932191c86b453d83b32e6f422333d8886d9f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 23:27:20.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f3331a179a524ef688d5eca233f07064\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c60e3beb349448c499cb18bf2ed71690 : SUCCESS in 9m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9f5c322dd44046ca994cb26683b77c44 : SUCCESS in 4m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/d75483d38339462da21e2fd6354b5745 : SUCCESS in 1h 02m 11s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f6899b61762b4a1e882a9c2282a01cc5 : SUCCESS in 44m 05s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/257ae98841fd4e9592efde06deeb3cc6 : SUCCESS in 47m 44s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1a7a0b07c4ee4ce4b8f0426aecd74f93 : SUCCESS in 57m 10s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/de2ac549daaa4d07b0cf042774b1782e : SUCCESS in 21m 10s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/879fdce2c813407391c1d1eb39af90a6 : SUCCESS in 16m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c485654281b84eaca228bdb666ee06de : SUCCESS in 18m 14s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/de883632d1cb4c06b7cda746b24c52ad : SUCCESS in 5m 32s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/0f099a179d94434586114f10c98f2f94 : SUCCESS in 15m 53s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0638cc3a88c9405f8d75ab5902b6d79a : SUCCESS in 16m 49s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/3ef6c8d355db469883e1c046a57394b0 : SUCCESS in 34m 14s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/1961f7f5aca3454f9cff087897a5e430 : SUCCESS in 22m 05s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/414908841f1e4879bd0849fd23f9524c : SUCCESS in 15m 31s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2c1961c09bc946e99acb5a4b38f932c7 : SUCCESS in 14m 55s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f88e00413b4e400596e91bf5e3764cac : SUCCESS in 13m 03s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/81cc822e920540f5ae37c8b149080249 : SUCCESS in 16m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/dcc28be4a6594910949ae5469791f4eb : SUCCESS in 6m 01s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e874a9db6ea34bae98fb815059477482 : FAILURE in 7m 42s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/38d4eb16518f476bad6d7c21ce49d6d4 : SUCCESS in 8m 09s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/3369dd0af7bd461b89697b3d175ae6e0 : SUCCESS in 59m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2332e52321774fd6814e0122177a850b : SUCCESS in 52m 26s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/991e1a9f83cb4278968ad69e5c7c6f6d : SUCCESS in 25m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/32238eac73504fba9c206c2262455ed5 : SUCCESS in 27m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a46fc57dadd14c79ae2748625535feef : SUCCESS in 2m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b62bcd2e2c834892a29db00f8f52e996 : SUCCESS in 18m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/28237d01e476441097e766024954d661 : SUCCESS in 52m 53s\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":3},{"id":"7c1627720f7b8210e9796699ed04902c5072cb64","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-20 17:40:49.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"b1b31c3f8f48454c7b98ee3b398fe338cf60212d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-21 10:18:26.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":"0afc06a614c7d88bbe170b7e19c387606a16c784","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-21 10:22:16.000000000","message":"Patch Set 3:\n\n(8 comments)","accounts_in_message":[],"_revision_number":3},{"id":"dd08be9a9296f51e71e7c1aee4401f627ae1da29","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-21 10:23:30.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"8bda5f6b31b16f8f52226b74651717bd17441029","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 11:37:22.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/28158e57d152441498331c6743d3d84d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5f705baf4a94541b5d32dba9235faa4 : SUCCESS in 10m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2568da589f424baaa2aff290d41e1dca : SUCCESS in 10m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/a26a851c38db42f48cb07b4043d026f8 : SUCCESS in 1h 04m 06s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8b25a327efc64174a1d5f5d82a94e020 : SUCCESS in 1h 06m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a4f0802682c5446b8e4ffe28f536c184 : SUCCESS in 57m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9fb5f3ca6cac4d68aae0730ff52f9b3f : SUCCESS in 59m 08s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/da85240ccde54ffabaaf2fa2933294c8 : SUCCESS in 18m 20s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/01813f97a22745689afe39cc150396b2 : SUCCESS in 13m 53s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/748ed28bd9294b3fa89addf5b7b085ef : SUCCESS in 22m 12s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/60946fd938f04da0a4288135e4b2600d : SUCCESS in 8m 33s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/12ce675e33f94236a974710c229f3d03 : SUCCESS in 28m 38s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/2e818890c8a44ee285b519ec73f214dc : SUCCESS in 21m 19s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2ec681ea767d4fa1afb65cfb98b6d390 : SUCCESS in 28m 07s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/0adf076470cc40519e64ce1b8036d75e : SUCCESS in 12m 42s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9ba3bd3605634c25b5b5477dce7cb625 : SUCCESS in 14m 59s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c2339ca222384ef09d028d7f0edf78d4 : SUCCESS in 10m 42s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b80113dffbac45c6843b6c030e44658c : SUCCESS in 9m 08s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3e85fa2d9e1942b6849d6667bdaf7167 : SUCCESS in 17m 29s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/95329b1f859c4f03a79a6c24afca9bcf : SUCCESS in 6m 51s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ade9de49a47d4e399c6574bade896f7f : FAILURE in 4m 39s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/be2e50a21b6940e484694aeecdf06e18 : SUCCESS in 10m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/7a1a5408f8b4478dad83b254d9f45c00 : SUCCESS in 1h 00m 39s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6889809ee9584ff3a4e5f0f550710305 : SUCCESS in 59m 55s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b11a75afc28b40c9a619971215f1fbc4 : SUCCESS in 37m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/acfe1f1a8a694daaadae83795243a219 : SUCCESS in 28m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/efff2201f66547ffbec4d53ebd636812 : SUCCESS in 4m 02s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/367e47ef253a4869a7c5159ef8c7ccd4 : SUCCESS in 19m 09s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d5b07ccf907141a49057045820141081 : SUCCESS in 35m 08s\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":"67a48a7558a0d8fdcdf4f73cdbea73848c781481","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 11:38:59.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"db5d7b2b9dafbfb0089f2c6b20b5f640667b6497","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 12:01:25.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e98af30f9ec94e5d9fc91ac15d2170ba\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b804a38f13684545845ba22e9f66433a : SUCCESS in 1h 23m 52s","accounts_in_message":[],"_revision_number":4},{"id":"b0b045f161fb3e7e5269e30905a3ffb8316db1fd","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 12:44:55.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bfd30bb56a0f4d5b806f607e7a567f72\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/372be443aa02477d8b92c5af8531a6e0 : SUCCESS in 10m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/71d958799da3474d8d1f403214504424 : SUCCESS in 10m 00s\n- grenade https://zuul.opendev.org/t/openstack/build/d7c312318c1846edba68679c2ddea996 : SUCCESS in 33m 56s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/52b07c800c504b80bdaca3a6b5d7bc34 : SUCCESS in 32m 33s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b9ceb20000d3453d8a3efb1890592432 : SUCCESS in 36m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8bda465baa164920996a8cb6aae7b630 : SUCCESS in 58m 35s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/87f53d0172074bcfb997a2ef519a4ee4 : SUCCESS in 6m 22s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/482dd6338f074d8abeed7d034893d8a2 : SUCCESS in 27m 05s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/aed7f6b32d384a86b309401188c2a0cd : SUCCESS in 17m 13s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/173733ac23a24270b5a95ad9eb8de16f : SUCCESS in 12m 13s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/434905c1991a48c8b557e3745febe55a : SUCCESS in 18m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/758246f9731b41feb521ef0b15390f05 : SUCCESS in 15m 26s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2adb72e59012441e92aa768b012a22ed : SUCCESS in 14m 51s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/8e5bacd46b8349feb2c9486cdbf0684a : SUCCESS in 8m 52s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e158f56afaad4d12ad9bfb04e8341475 : SUCCESS in 6m 18s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/eb26fb02716a40f6965489119694b9b2 : SUCCESS in 6m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/d0045f27e9e849da9eb085164c775c95 : SUCCESS in 38m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0c5f130ff1454a07b3e6dea7efd50ac9 : SUCCESS in 23m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6cb3ea9f02764171a61001029ea9f1a5 : SUCCESS in 55m 16s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/886468a8eece4544a5979cbee8338457 : SUCCESS in 11m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3e9167702c184c9e96e4ffe09663c134 : SUCCESS in 2m 26s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7b2b1221bec7471ead9eb01700e09b3d : SUCCESS in 9m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/698944fc390c4c39a2ad21b32b10fa2f : SUCCESS in 26m 21s","accounts_in_message":[],"_revision_number":4},{"id":"9fdbf8d8e6c83bb5d6bc4c418659427749292d37","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 12:44:55.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"3ca5586b962f634520ae83294cfd6402ded80958","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 12:46:04.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/14779ed659444ffe8f6df8e821f9f240\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7c852348ea6445a99faa980bfd21e9fc : SUCCESS in 51s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/32a6255ba82e489fa91dd50315abfaea : SUCCESS in 54s (non-voting)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"d57c078ef2744d0012729bbcb3aaca2c4e5a481d","revisions":{"c6afafb2c0994bc5dd34490212c490b45dba192b":{"kind":"REWORK","_number":1,"created":"2026-07-30 20:48:02.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/36/999336/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/36/999336/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/36/999336/1"}}},"commit":{"parents":[{"commit":"25db0b25b492ab02a9db00c56f2ab9ec1a51dc83","subject":"Merge \"s3api: add assertion to versioning compat test\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/25db0b25b492ab02a9db00c56f2ab9ec1a51dc83"}]}],"author":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2026-07-30 20:44:36.000000000","tz":-420},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2026-07-30 20:46:15.000000000","tz":-420},"subject":"s3api: reject Range header on CopyObject","message":"s3api: reject Range header on CopyObject\n\nThe S3 CopyObject API does not support the standard Range request\nheader. S3API previously passed it through while translating\nx-amz-copy-source to X-Copy-From. Swift\u0027s server-side copy middleware\nthen applied the Range to its source GET, allowing CopyObject to create\na truncated destination object.\n\nReject CopyObject requests containing Range with the same\nInvalidArgument response returned by AWS S3.\n\nKeep x-amz-copy-source-range handling unchanged for UploadPartCopy,\nwhere it is validated and translated into an internal Swift Range.\nAlso add coverage showing that a client-supplied Range on\nUploadPartCopy is rejected by partNumber validation.\n\nAPIImpact\n\nChange-Id: Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33\nAssisted-by: OpenAI Codex (GPT-5.6)\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6afafb2c0994bc5dd34490212c490b45dba192b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6afafb2c0994bc5dd34490212c490b45dba192b"}]},"branch":"refs/heads/master"},"7ab35b3732ed449d9d8295a54495b8409010f048":{"kind":"REWORK","_number":2,"created":"2026-08-03 21:47:51.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"ref":"refs/changes/36/999336/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/36/999336/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/36/999336/2"}}},"commit":{"parents":[{"commit":"25db0b25b492ab02a9db00c56f2ab9ec1a51dc83","subject":"Merge \"s3api: add assertion to versioning compat test\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/25db0b25b492ab02a9db00c56f2ab9ec1a51dc83"}]}],"author":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2026-07-30 20:44:36.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-03 21:47:42.000000000","tz":-420},"subject":"s3api: reject Range header on CopyObject","message":"s3api: reject Range header on CopyObject\n\nThe S3 CopyObject API does not support the standard Range request\nheader. S3API previously passed it through while translating\nx-amz-copy-source to X-Copy-From. Swift\u0027s server-side copy middleware\nthen applied the Range to its source GET, allowing CopyObject to create\na truncated destination object.\n\nReject CopyObject requests containing Range with the same\nInvalidArgument response returned by AWS S3.\n\nKeep x-amz-copy-source-range handling unchanged for UploadPartCopy,\nwhere it is validated and translated into an internal Swift Range.\nAlso add coverage showing that a client-supplied Range on\nUploadPartCopy is rejected by partNumber validation.\n\nChange-Id: Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33\nCo-Authored-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\nCloses Bug: #2162776\nAssisted-by: OpenAI Codex (GPT-5.6)\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7ab35b3732ed449d9d8295a54495b8409010f048"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7ab35b3732ed449d9d8295a54495b8409010f048"}]},"branch":"refs/heads/master"},"2619d40e2c79f596107062efcffaf8c83ba752ce":{"kind":"REWORK","_number":3,"created":"2026-08-03 22:21:35.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"ref":"refs/changes/36/999336/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/36/999336/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/36/999336/3"}}},"commit":{"parents":[{"commit":"25db0b25b492ab02a9db00c56f2ab9ec1a51dc83","subject":"Merge \"s3api: add assertion to versioning compat test\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/25db0b25b492ab02a9db00c56f2ab9ec1a51dc83"}]}],"author":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2026-07-30 20:44:36.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-03 21:56:20.000000000","tz":-420},"subject":"s3api: reject Range header on CopyObject","message":"s3api: reject Range header on CopyObject\n\nThe S3 CopyObject API does not support the standard Range request\nheader. S3API previously passed it through while translating\nx-amz-copy-source to X-Copy-From. Swift\u0027s server-side copy middleware\nthen applied the Range to its source GET, allowing CopyObject to create\na truncated destination object.\n\nReject CopyObject requests containing Range with the same\nInvalidArgument response returned by AWS S3.\n\nKeep x-amz-copy-source-range handling unchanged for UploadPartCopy,\nwhere it is validated and translated into an internal Swift Range.\nAlso add coverage showing that a client-supplied Range on\nUploadPartCopy is rejected by partNumber validation.\n\nChange-Id: Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33\nCo-Authored-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\nCloses Bug: #2162776\nAssisted-by: OpenAI Codex (GPT-5.6)\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2619d40e2c79f596107062efcffaf8c83ba752ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2619d40e2c79f596107062efcffaf8c83ba752ce"}]},"branch":"refs/heads/master"},"d57c078ef2744d0012729bbcb3aaca2c4e5a481d":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-08-21 10:18:26.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/36/999336/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/36/999336/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/999336/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/36/999336/4"}}},"commit":{"parents":[{"commit":"e19c896da0eeaf09419726106c46acc3e8bdce39","subject":"Merge \"s3api: restrict headers sent with copy check HEAD request\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e19c896da0eeaf09419726106c46acc3e8bdce39"}]}],"author":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2026-07-30 20:44:36.000000000","tz":-420},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-21 09:16:41.000000000","tz":60},"subject":"s3api: reject Range header on CopyObject","message":"s3api: reject Range header on CopyObject\n\nThe S3 CopyObject API does not support the standard Range request\nheader. S3API previously passed it through while translating\nx-amz-copy-source to X-Copy-From. Swift\u0027s server-side copy middleware\nthen applied the Range to its source GET, allowing CopyObject to create\na truncated destination object.\n\nReject CopyObject requests containing Range with the same\nInvalidArgument response returned by AWS S3.\n\nKeep x-amz-copy-source-range handling unchanged for UploadPartCopy,\nwhere it is validated and translated into an internal Swift Range.\nAlso add coverage showing that a client-supplied Range on\nUploadPartCopy is rejected by partNumber validation.\n\nChange-Id: Ibe6c3a80f3ed0311787b9b0b44d134ae353f4b33\nCo-Authored-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\nCloses Bug: #2162776\nAssisted-by: OpenAI Codex (GPT-5.6)\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d57c078ef2744d0012729bbcb3aaca2c4e5a481d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d57c078ef2744d0012729bbcb3aaca2c4e5a481d"}]},"branch":"refs/heads/master"}},"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"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":""}}}]}
