)]}'
{"id":"openstack%2Fswift~988826","triplet_id":"openstack%2Fswift~master~I00e27a402466cb24c94b22e5bde6d707a05c3609","project":"openstack/swift","branch":"master","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-05-29 20:41:31.000000000","reason":"Change was submitted"},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-05-29 20:41:31.000000000","reason":"Change was submitted"},"6968":{"account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"last_update":"2026-05-29 12:23:23.000000000","reason":"\u003cGERRIT_ACCOUNT_6968\u003e replied on the change","reason_account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-05-29 20:41:31.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I00e27a402466cb24c94b22e5bde6d707a05c3609","subject":"Harden pickle unmarshalling","status":"MERGED","created":"2026-05-15 22:29:28.000000000","updated":"2026-05-29 23:12:54.000000000","submitted":"2026-05-29 20:41:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":44,"unresolved_comment_count":3,"has_review_started":true,"submission_id":"988826","meta_rev_id":"72cb67c6e8596caef87a5646a42ef2cbcba2dc3e","_number":988826,"virtual_id_number":988826,"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":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-29 20:41:31.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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2026-05-29 12:23:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":2,"date":"2026-05-29 19:34:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_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":"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":1,"date":"2026-05-29 19:34:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_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":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_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-05-15 23:54:44.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-05-18 09:49:58.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2026-05-18 11:31:02.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":"CC"},{"updated":"2026-05-28 02:13:17.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2026-05-28 12:13:52.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"},{"updated":"2026-05-29 19:34:44.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"}],"messages":[{"id":"e9c4fa8a0e1e2ae0bb851451a1e5a2eeb7b01be6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-15 22:29:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3da36fc7296ae8b802c20dae9fa8f9ba064ba22d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-15 22:43:00.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"a4fa768af6b18186cfa1771b683118b4210d31d9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-15 23:54:44.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b435e879c370457e94b08d9f5ca8d022\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6512eff4d999406596ba4ff4e6fe88a2 : SUCCESS in 5m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/274194e578b343e68a2553446450891c : SUCCESS in 7m 03s\n- grenade https://zuul.opendev.org/t/openstack/build/e7a798fe65114b999b563321255e1281 : SUCCESS in 1h 05m 41s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/437579ee2e26407ea9de45cf8346ad79 : SUCCESS in 1h 03m 43s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2344d6b95cec426dad88f15308cde768 : SUCCESS in 59m 48s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/03bd6f14c2744c11af7e0e6b6eb2d650 : SUCCESS in 1h 09m 46s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/57b2b8dc39fd4ed98a52723a54a735cc : SUCCESS in 19m 37s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b46400eaec194fe9ba91ebd989f1947e : SUCCESS in 20m 25s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/af501f5d4ccf431e8ec8d19f53140e51 : SUCCESS in 29m 25s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/56aa2672df6647659d07451a82967822 : SUCCESS in 8m 25s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/51f6d7c0cdb54fd387a3cb95375d0e8f : SUCCESS in 25m 51s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ddff806644a240a6a5f8cd9f9a9b00de : SUCCESS in 15m 40s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a614f7c454e2462bb976369f618d778e : SUCCESS in 32m 00s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/9d69fd3f7abf436bada21de934d9a802 : SUCCESS in 12m 02s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c5a2de684d5245c29d9f9a1d9314b75a : SUCCESS in 14m 42s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/97858627b519469fa9121935fe723a51 : SUCCESS in 14m 41s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0750b89004dc47bb932c890f9fd6cd3f : SUCCESS in 16m 12s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7542e8b4950c4c2e86e913ac0e6cc927 : SUCCESS in 5m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c502182087f94632abf97e5aca866281 : FAILURE in 22m 21s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/19ae2de36fb84bf3ae24ab0cdd72dbc7 : SUCCESS in 7m 55s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/e046d8c85e374e829b1b63494192609b : SUCCESS in 1h 04m 25s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5ed78b55de59446684a229b42c88159a : SUCCESS in 56m 11s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9aa7dbc96e374e6ea5cba8281e2ca688 : SUCCESS in 51m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/011cc34b9820450f8dd8524826584b71 : SUCCESS in 28m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/80dc397188b64446a825d07e42f4131e : SUCCESS in 5m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/88790253cdc442178974220220a96cae : SUCCESS in 11m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e12873a2246d4977bbedfe4a3c92ac6e : SUCCESS in 50m 16s","accounts_in_message":[],"_revision_number":2},{"id":"568b29cb956e7be823f975e54d5eca0f1b5f3af7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-16 00:36:35.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f508cf1027a34358a520fc5bcfc761c2\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2143e1dfa402431fb1ace6172fecfd2a : SUCCESS in 1h 05m 54s","accounts_in_message":[],"_revision_number":2},{"id":"c3e2861888889441fb242998c3b2fb6b11c507b8","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-18 09:49:58.000000000","message":"Patch Set 2: Code-Review+1\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"0898ce5a1eb36e65a0a7cafe290acf1265248363","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-18 11:31:02.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"e71313ffcc1871bc639dea320ead7b556a0d5100","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-18 21:37:08.000000000","message":"Patch Set 2:\n\n(6 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8ae6e92b7da2d9ec0c285741f3da196ea82ab87e","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-19 16:02:49.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"d2974ce065b96d0c00b24d798564f378b2611985","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-19 16:18:19.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"bfb460ae493ca6e8b2f8c4b6be06827a7791fcf3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-21 11:42:52.000000000","message":"Uploaded patch set 3.\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":3},{"id":"b14143d4b1373bbd736872637c1a2ac4fdc7a050","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-21 11:44:40.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f06ac07afe84f5b461b5e288c2919dc00cf59f59","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-21 11:45:30.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"c796b525fb00ac854d9623b7df8c77d3823b6fa7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-21 11:50:30.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n","accounts_in_message":[],"_revision_number":4},{"id":"ccb85dfbcff5e98b8cae74aa0acdc77848118eff","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-21 11:50:58.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"e5e31f7ef0546df3250e3b4f1d05e2b8297cc0c9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 12:52:27.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6c0bd970832a4c7c9787f99287e36732\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5cecdddd3fe245e1a6d5fb45ca1b7e41 : SUCCESS in 31m 47s","accounts_in_message":[],"_revision_number":4},{"id":"f00b88fef72bd3d0b3577f6dad8ff452ad591783","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 13:07:32.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ec28c4dcd9048949c941de23f688c62\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5285fc09da74a70b998f4d833291ca0 : SUCCESS in 10m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5da9802d381c492bae392369ef0e16a4 : SUCCESS in 4m 18s\n- grenade https://zuul.opendev.org/t/openstack/build/0c80f7dd1f254190aaf4337c6c4ea425 : SUCCESS in 1h 04m 11s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b9bcb6ccec734ce9873c4197bc9dca6c : SUCCESS in 1h 06m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6492285fdc0e4996ad555c6a5f46e364 : SUCCESS in 1h 13m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/35490bdef7574b35976a7d2aa3c7ee32 : SUCCESS in 1h 05m 30s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f04c6e4e171d48f2b90067523c8b8a81 : SUCCESS in 10m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1ee5340d88dc4f5db1de192adeaddf0f : SUCCESS in 20m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/795609d240e44bde8ff1ad64445b017a : SUCCESS in 21m 07s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9271e2d5b9bd4ce4956cb33a853c4319 : SUCCESS in 6m 58s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fa5507bb27904f37be80330af1dddca7 : SUCCESS in 25m 11s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/aa83794178d642fd8f61ea52a9cac32d : SUCCESS in 11m 07s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/840331af6b0a4954aa4375f306323002 : SUCCESS in 29m 09s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/28f5183384fd4ed38c9ec368d0f09f4b : SUCCESS in 21m 36s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/a3ab221b03c744019bc0a4dc8a93db8c : SUCCESS in 14m 50s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/d29ccc2ca2284a27b47484c8da7e3016 : SUCCESS in 15m 42s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/a954d84d591a4c47a816cd76c84011c7 : SUCCESS in 15m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6f5b568cb969467a9fcf84233c68a49c : SUCCESS in 5m 56s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bb56c2d9f5fd4ee580fb085cbae985f7 : SUCCESS in 10m 09s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c609b132ac944b1aa5abe4c602c47d3c : SUCCESS in 9m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ba267effb03c4f11bdf52b7656b17648 : SUCCESS in 1h 01m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/569ea3075fd941b6b1df7d17a38e61e7 : SUCCESS in 54m 04s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ba0a5a7a3d704643a820347cbef4537c : SUCCESS in 49m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1ec55c73292540088aca4acb756fccd2 : SUCCESS in 32m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7047aff351474a229be90b0b0874a5be : SUCCESS in 4m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/619c605e7a914ad0898d53e0749d3126 : SUCCESS in 19m 39s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5012ac2f46de435599dc6ed31abde900 : SUCCESS in 59m 24s","accounts_in_message":[],"_revision_number":4},{"id":"f2f1c0cf742563386435dc0775742be813eb99f6","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-22 15:28:09.000000000","message":"Patch Set 4:\n\n(5 comments)","accounts_in_message":[],"_revision_number":4},{"id":"e6f742cc20f1cbb0fd680fa62e4710aa028202d4","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-26 17:33:21.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"6233d999dbd64f6b05b199e616034be430ac9a50","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-26 23:29:06.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"d938b3d856bff9c423a30409d18ba07a19ccbe3f","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-26 23:37:13.000000000","message":"Patch Set 5: Workflow-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":5},{"id":"fde38c3df475f15fe8817fb5a17b7e39207510d9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 00:36:04.000000000","message":"Patch Set 5: Verified-1\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/4cf0a92d0d454ae7ae732f9faf2fa7f9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d884e8da185449b196e3e0df30fe00ed : SUCCESS in 6m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ba2005a980e343878fa777f8be8580ed : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/6c62a38376bb4ec5841fd3dc6ac2ac99 : SUCCESS in 36m 18s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f6ffffb353f0434580032f71c41a5fa3 : SUCCESS in 50m 22s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0166c55f86b9444f90deb72c643c3848 : SUCCESS in 56m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/edd8f70cd9644126ad8412228d56ab6b : SUCCESS in 38m 50s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/250c6095a952409da2e7c7bf207defbf : SUCCESS in 16m 51s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/30ae74b4cbbe4fc9be3bb29c966189f7 : SUCCESS in 19m 56s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4afc973a451941318be7ddcf82731969 : SUCCESS in 17m 56s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e013339a23474d309c6d801fb82e3265 : SUCCESS in 5m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/992ee79f9ca24a1c886d149b3fcb0b6d : SUCCESS in 22m 34s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5950e5a5994242f3a98903c83dabf666 : FAILURE in 2m 42s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2ec6e8b995834c2cb65a4996fafeae6d : SUCCESS in 20m 57s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d11de0521d65443caf0c2d733d04e714 : SUCCESS in 21m 06s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8f6e10a5ff1549239d860a348e51a18d : SUCCESS in 9m 27s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a1de67e3e48d497983e63d4390172667 : SUCCESS in 13m 59s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2def0c17686147b9ade33ab6f81d829b : SUCCESS in 15m 57s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8d1031b411af45d89778b6d723352150 : SUCCESS in 7m 37s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e222955e6521403c8977e63650153a23 : SUCCESS in 13m 24s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/64f4edf6cb4c4fc2a334ee32aa54cbec : SUCCESS in 7m 07s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2064b512b24844aa90bc80bc06708bfd : SUCCESS in 1h 00m 08s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5ba6b0db0756484fac486d3cb414042f : SUCCESS in 52m 02s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d3a4e36a274c490f8d81ab5e179253e6 : SUCCESS in 54m 52s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fb4cbb447e814f65afb9c3761c4e6484 : SUCCESS in 32m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8e72944109994b67abbb6ff1d89b1cab : SUCCESS in 3m 54s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b81af01f91864126a359c99f3930418b : SUCCESS in 17m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2188adfce3f8444d9e6dfd134e4caac4 : SUCCESS in 1h 01m 54s","accounts_in_message":[],"_revision_number":5},{"id":"303d6a9fbf39d19c7c5836f9bfc0647a1d0554ba","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 03:12:27.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9ad95e3f34b441f895f94951c49160ee\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5d846731fe514e32803bcdab946055f1 : SUCCESS in 1h 03m 12s","accounts_in_message":[],"_revision_number":5},{"id":"24b50086e886cfa6939d49511ead14d744f12637","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-27 14:41:02.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"ba56e85b77f43a9fe71c4006da88e2de49ef9b15","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 15:57:37.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0732bfd92fa64667a7a68e0393547d47\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e2cc69da0a5443ee9600863f1199ed2f : SUCCESS in 9m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5897b5fb773c4528b6d14ffa375e9808 : SUCCESS in 9m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/4925a89f636a48eba32326698e192b97 : SUCCESS in 54m 06s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/38d1c50b1b6447ec8aac9f79134ff403 : SUCCESS in 1h 09m 04s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7871a92b58da41ae93eff4b39cf09697 : SUCCESS in 56m 17s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/dc0c66ae69d648879d04015d103e6712 : SUCCESS in 34m 35s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4344f4525b074a979b51a3382c897ed4 : SUCCESS in 20m 27s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e91c502faf074081b46f443cb1a4fbc0 : SUCCESS in 20m 38s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5de8dbfb160840ed98199e22768bd9f6 : SUCCESS in 14m 36s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/cee82e32be5c44738b0c2ccf307856ec : SUCCESS in 7m 15s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/53d5163033ce4179b3d3ddfe00a56f55 : SUCCESS in 27m 28s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/da791f4968f242e0aaf9df3845dfd1c2 : SUCCESS in 24m 09s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d0238268380b40b8b2a2f38468ec05b1 : SUCCESS in 33m 29s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/74c8729857f64b71bffcd1857f6b168b : SUCCESS in 30m 17s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cdd63e9cba3c4c53b6716a9ce90ded5c : SUCCESS in 15m 05s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ed1c241209ec423b854d13ecaac73719 : SUCCESS in 15m 24s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/92fa7d935322447cb65bdf790cc91449 : SUCCESS in 8m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d7f4ceec585a4df599a4e6493b400f40 : SUCCESS in 6m 47s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ac89daf040474b84975fc65c211ffa2a : SUCCESS in 20m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/bcea1edc10ad4fe495319842ce2e2a23 : SUCCESS in 9m 12s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f8665d9c7d5544a5a578efa7ad7eeb8b : SUCCESS in 36m 53s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c9f054ba14c74899a1765db11bf846a4 : SUCCESS in 59m 02s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c1bbe0ef8a26413d9db2d26493afae08 : SUCCESS in 56m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cb97d79bc35042828cb96d1aa997df9d : SUCCESS in 18m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a6a0e562074c4c2a886ca3fbb2277ab0 : SUCCESS in 4m 15s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3b0419e6d4654abbb8d625c0cb19bb63 : SUCCESS in 15m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/09ba2668bac24b1999a0cf0bf0890496 : SUCCESS in 40m 57s","accounts_in_message":[],"_revision_number":5},{"id":"be64c4b374d05921a4edfbdc716852e4329177ee","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-27 16:12:22.000000000","message":"Patch Set 5:\n\n(3 comments)","accounts_in_message":[],"_revision_number":5},{"id":"a1c0741552869672e0455a9190e089d1ce4618ab","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-27 16:12:29.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"cbf510e15cc49b6291805a1bf90189f0d93a6dc4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 17:34:48.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/04fa89215eff4cc0a6bbd073711c7948\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fb5083a074374bd4b251728ca6b03ff7 : SUCCESS in 11m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4806ce04a1c84eb3a95dde2532e0adaa : SUCCESS in 8m 45s\n- grenade https://zuul.opendev.org/t/openstack/build/4ad0838fa68e402384ea843295a60da1 : SUCCESS in 1h 04m 14s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/430e1868ebe74877bc8da0eac922b76c : SUCCESS in 1h 07m 06s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bfadd8ea196b4aa5b9c73a314f4dba15 : SUCCESS in 58m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9b973f5920b443ff9d1e48046d27cf6b : SUCCESS in 1h 05m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e2d22b9a60054dc4839817a6d3360f90 : SUCCESS in 22m 19s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8454e7c80fc549a59ce10a0260cfc0bd : SUCCESS in 19m 43s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2ac5381aa0184558bbc66afbfba0287b : SUCCESS in 21m 31s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d45c826e3cd84abe8df6802918f16f50 : SUCCESS in 10m 56s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/62fb7dd1fa6b485f90daaec4a239c3d2 : SUCCESS in 25m 58s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b1bd30cf869c4290a33b7270fd8d81eb : SUCCESS in 15m 58s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/faa6baccbb524cf7b7f743a4e01b35a1 : SUCCESS in 22m 36s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6d35371a03d6449fa85d43477522394e : SUCCESS in 22m 06s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8b847920824a4df1965445725661138c : SUCCESS in 14m 23s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ca3518c27bd24945b0326c7ad070c990 : SUCCESS in 16m 44s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/efc1d045d95443ab8b219464f2180c55 : SUCCESS in 15m 19s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d7b17d88437b49ef9ea1fed3fe6f8a14 : SUCCESS in 7m 11s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/1862932067024e5aabeb5f591ae80b07 : SUCCESS in 18m 58s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ac629a7f865d4513bb3f717bbe3f3439 : SUCCESS in 8m 33s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/23fbc5c5b8c048afbee20c2ec3b3171d : SUCCESS in 1h 03m 43s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7dea363bcf0a40d09f299682ff2dfea4 : SUCCESS in 1h 04m 29s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/07f181270b6b42fab44c5670b5b8f45d : SUCCESS in 23m 16s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/470c30be5cfb426fa311f760fe7fe563 : SUCCESS in 27m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bd57c06bf43b4224868c63240ab9b637 : SUCCESS in 4m 15s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1987f170dfb94514be409fd39109ea3a : SUCCESS in 17m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8579154f5885453796e9e80617d72291 : SUCCESS in 55m 04s","accounts_in_message":[],"_revision_number":6},{"id":"36d614d1dff0349e00ba7fe760b2a5a277734312","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 20:20:46.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/73896395fe7545c2a983f96ff271b44e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6613bb4f98a842fb972d9297047c4365 : SUCCESS in 54m 58s","accounts_in_message":[],"_revision_number":6},{"id":"73889eb44045412b85c91f39ea71ee2870ad5be4","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-28 02:13:17.000000000","message":"Patch Set 6: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"16bb1f1d9ecac5fb17077151c288e2f3e2ef639d","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-28 05:36:19.000000000","message":"Patch Set 6: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"138f2c8df2acb8ceb778e2f3402859e488573ccc","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-28 12:13:52.000000000","message":"Patch Set 6: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":6},{"id":"1fbabaeb93c643d79d733a91756d2d30a28eb520","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-28 12:14:07.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"8c456194cee91e8a11e5defac542db4865fa2bfc","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-28 15:26:29.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"6ad895a874e1c57ff080dda7f240a2c0942bda9d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-28 17:32:11.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Code-Review+2, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"a472401ed5321beda2e01617215ed87dba74d8af","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-28 18:38:59.000000000","message":"Patch Set 7: Verified-1\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/0bcc76700c3f453c89964fa3ddc1146b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ec613de6e61240db8df16c4e7be612d9 : SUCCESS in 8m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d70c396f99d24bb9a1acadf6fcc4e642 : SUCCESS in 8m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/6b2967a6496a4da88bb83254f0098faa : SUCCESS in 55m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e2fdbe3a943a44228163f1e2ab04b4be : SUCCESS in 1h 01m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c7bd39dccb2a4e66ab374eae12fe02dd : FAILURE in 33m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2805280767924b7692833b2087b8f4ad : SUCCESS in 56m 45s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/64de3c4782454599b38dadf7accf8687 : SUCCESS in 20m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1f00a3abdad54933b6593f5c789011a0 : SUCCESS in 18m 01s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b24849884b7948d098129d074c188c53 : SUCCESS in 12m 11s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/64e5dcdfc39e49e1b57a7ec930164903 : SUCCESS in 6m 13s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7f46625a33554dfb8984543ced727fba : SUCCESS in 19m 55s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/907a3856c0a14fec845c993622088831 : SUCCESS in 22m 15s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a6f93c3f524c48f582727c36135db411 : SUCCESS in 11m 39s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/adb3e36ae8e7432db8f43b1378a4a8ef : SUCCESS in 20m 54s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/72453b347c534ea5afb2eeaecfa3a17c : SUCCESS in 13m 28s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9ef579f92a884c89ae33f5384d26d5b9 : SUCCESS in 14m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0c870bf0955d40ee8d4bd3b1956dce8a : SUCCESS in 15m 01s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/cb7d87525eb1427280068aee7a3137a6 : SUCCESS in 8m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/03b94996fc3d45a09a6bc8994ed9e7ee : SUCCESS in 17m 12s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/259cb0f700254219a05562b287f1d4de : SUCCESS in 7m 48s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b8a2260ff49a42f98c056d1c1dfeefe1 : SUCCESS in 59m 52s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f26b0e38b32e49b884ea47031be763db : SUCCESS in 48m 01s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7b6ee1b4f2ea437da9d8a8bef7131b9e : SUCCESS in 58m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/18610114cddd4943b04a451fa21fd450 : SUCCESS in 28m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/75f7673393884ef0aedc23a50be90ae1 : SUCCESS in 4m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/efee3ea6a7f84edf90909fb6db78012f : SUCCESS in 10m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/66eef80434e04bd48ca82f8ae68bc0f1 : SUCCESS in 39m 52s","accounts_in_message":[],"_revision_number":7},{"id":"d4f77b965389577baf4f41455237ea7821b9b750","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-28 19:24:14.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"77b8bb6e46f65490a0eeac62c9a773f57acf7729","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-28 19:42:17.000000000","message":"Patch Set 7:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/856119e4a58744488d275c6fa0bf711f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/3375234b1d2046038299852dde0239ca : SUCCESS in 33m 46s","accounts_in_message":[],"_revision_number":7},{"id":"57906b7e36e4acb823218fcd334718e18f0700f4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-28 20:39:18.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0e8b1165ed7642daba5b59fe04230054\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/493e2b8eb7f3448f93a7d36ff0167cd4 : SUCCESS in 10m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7120a593a1ff4deb848443500f7b4321 : SUCCESS in 9m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/99757e1561aa4af6abf84c1247750849 : SUCCESS in 47m 29s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/55369714e7794b25a0b08aeb942d7dfc : SUCCESS in 1h 09m 55s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8a30e7be6d6a4ba9a59d8516c6d48c7b : SUCCESS in 1h 03m 59s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4ab2371b020f41f6bc69fa15b6caa135 : SUCCESS in 37m 18s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0d97de608c724d89907bd10b045f0021 : SUCCESS in 20m 13s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/434d0899cbb64dafa65591ed29b8ff09 : SUCCESS in 18m 14s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/99624534603f4685bbbf14cd09639896 : SUCCESS in 22m 07s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7e55e1c9bf7145eeb527cd588f077136 : SUCCESS in 5m 59s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9da5a9e11ba143b09667324f2f5b78fb : SUCCESS in 25m 21s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/aee3d752940d44b89bbc1f7fddeb9097 : SUCCESS in 8m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/796ea540400645a7b5a471cd5fe08532 : SUCCESS in 34m 58s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/80c1f0f025dd40588bfdc05020a8cc90 : SUCCESS in 22m 38s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/bb87019bb41b40bfb568280894b8155d : SUCCESS in 16m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/307304091f194678b3f5c6bfe15d835c : SUCCESS in 14m 30s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2bc2399ab75b470e875e638097a86b2e : SUCCESS in 8m 05s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0ee61872ca1f466b9b6fabbb50b02881 : SUCCESS in 3m 58s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/608d94538b4646248e6424564609cf92 : SUCCESS in 18m 30s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0ed14cf06ce94cf08e9f96568b27dfa3 : SUCCESS in 11m 22s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/aaf125f39bc144a2be02c01d76b9c716 : SUCCESS in 1h 04m 53s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/11e5c4320e31429ca7c712d85d35965e : SUCCESS in 57m 03s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1afe55608a2a46dfb2822de175ce64fc : SUCCESS in 22m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f618c55a532544a6b62f2ea44a54826b : SUCCESS in 10m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/93eb80a15da9475abeb538af4bcdcbfd : SUCCESS in 4m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/667f82725e2e4cedaed217dc09ae8973 : SUCCESS in 21m 10s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d1378f585c0a482981a802edc49b4ec0 : SUCCESS in 48m 03s","accounts_in_message":[],"_revision_number":7},{"id":"0b229c80482ad24f72c952234b638c81ccc3c249","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-05-29 12:23:23.000000000","message":"Patch Set 7: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"60c3edee0d765cfa371bf0c328ee200676a69d29","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-29 19:34:44.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"62e4e92582a5b6ce427b904976311d306fa16b83","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 19:35:15.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"29dac575e294fb170326f8d714323826e13d3d4e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 20:41:31.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2ec3ea7b3162403a817d43f74d681443\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/67459dc56bb64314bdbc716e2fec139c : SUCCESS in 10m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/890437e3f14847fbacbc11f24c8b6851 : SUCCESS in 10m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/4ed9f3b4a7074617a79a93cf659820c7 : SUCCESS in 36m 08s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/dceef2606ebc4939b4c0a977f220fc77 : SUCCESS in 36m 36s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1973e1b1be664a3ba0f0031bc6bdfc79 : SUCCESS in 35m 16s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/51e62a7505734fd0b824359a7c99e418 : SUCCESS in 1h 01m 40s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/318487f3090443d4b72eb8fd30347920 : SUCCESS in 6m 35s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5c85d02cc2ef4ae1a9f2ead53b8aa5f6 : SUCCESS in 25m 45s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/3aef167839f246c1a8221f80be6d6894 : SUCCESS in 15m 48s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/69d87f719c2541f7a66ed7aa482452ef : SUCCESS in 11m 20s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f9cbdc7878a0434b9e26aa34608a840c : SUCCESS in 20m 21s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ea147d2bc39b415d909562919409fb22 : SUCCESS in 17m 21s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2747e57497884d1b80b7365a02661e9a : SUCCESS in 9m 03s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7e370bc02f2c435dbaca7c67b8954b2c : SUCCESS in 8m 19s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a2f9ecbf823b4b5db7475800b2c4018f : SUCCESS in 8m 56s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c1920b89513b40c898e0072caebcfe2c : SUCCESS in 7m 31s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/fee9397af6a84cff832f6aa49b017582 : SUCCESS in 40m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8fb600ef5f4049c7b3617cc41c1ea6a0 : SUCCESS in 35m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/079b8eaed4c54690a98894e836419df1 : SUCCESS in 35m 14s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/39263cc3ba424d9d929ea36dcabb0f77 : SUCCESS in 21m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/691cb0dbdbc24c1bbdb2a46cbccf8b06 : SUCCESS in 2m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ea7908e993274c54bf369056f37dbf9e : SUCCESS in 25m 00s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c5a92256476f49eea7171285cb2a3fae : SUCCESS in 41m 54s","accounts_in_message":[],"_revision_number":7},{"id":"3966781849eed39a71e08913f13550a1d756f056","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 20:41:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":7},{"id":"daf1acb942e4c0ebc0b4228598ec96e951046c4d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 20:43:06.000000000","message":"Patch Set 7:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/878cdd56933b4a4c86bad116d82bfbdb\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6f81e3a53e604a859200d1290d18dec2 : SUCCESS in 1m 23s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/d9979351c35347e8b5d474804c6f1db5 : SUCCESS in 45s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"72cb67c6e8596caef87a5646a42ef2cbcba2dc3e","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-05-29 23:12:54.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"b7fdd9743bf6697114526f972a3cd1618bb0f542","revisions":{"0a7a2cb05bb04998764fb9720cb41ec80d9d895f":{"kind":"REWORK","_number":1,"created":"2026-05-15 22:29:28.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/26/988826/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/1"}}},"commit":{"parents":[{"commit":"33967853276f0987a58e5b3aca450173adadc064","subject":"timestamps: check offset is an integer during construction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33967853276f0987a58e5b3aca450173adadc064"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:45.000000000","tz":-420},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to all places where we unpickle,\nnot just hashes.\n\nPartial-Bug: #2152384\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0a7a2cb05bb04998764fb9720cb41ec80d9d895f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0a7a2cb05bb04998764fb9720cb41ec80d9d895f"}]},"branch":"refs/heads/master"},"667aed0d7bc5eda0ba83ca145b6ec3f010166df1":{"kind":"REWORK","_number":2,"created":"2026-05-15 22:43:00.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/26/988826/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/2"}}},"commit":{"parents":[{"commit":"3b6a83b776ca2abaa357e0524e3b2431b7c18eb9","subject":"Merge \"Fix unit tests with keystonemiddleware 13.0.0\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3b6a83b776ca2abaa357e0524e3b2431b7c18eb9"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:42:54.000000000","tz":-420},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to all places where we unpickle,\nnot just hashes.\n\nPartial-Bug: #2152384\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/667aed0d7bc5eda0ba83ca145b6ec3f010166df1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/667aed0d7bc5eda0ba83ca145b6ec3f010166df1"}]},"branch":"refs/heads/master"},"8d63fbf96945b79868724e246cc38a6a0177e887":{"kind":"REWORK","_number":3,"created":"2026-05-21 11:42:52.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/26/988826/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/3"}}},"commit":{"parents":[{"commit":"ca8749f344168ad1c4e07fdfd24e68ca04c57eae","subject":"test_sharder.py: pass timestamp strings to put_object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca8749f344168ad1c4e07fdfd24e68ca04c57eae"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-05-21 11:40:09.000000000","tz":120},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to all places where we unpickle,\nnot just hashes.\n\nPartial-Bug: #2152384\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d63fbf96945b79868724e246cc38a6a0177e887"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d63fbf96945b79868724e246cc38a6a0177e887"}]},"branch":"refs/heads/master"},"89161efd633131ee3e5266e29203cb06d089fdb2":{"kind":"REWORK","_number":4,"created":"2026-05-21 11:50:30.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/26/988826/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/4"}}},"commit":{"parents":[{"commit":"ca8749f344168ad1c4e07fdfd24e68ca04c57eae","subject":"test_sharder.py: pass timestamp strings to put_object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca8749f344168ad1c4e07fdfd24e68ca04c57eae"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-05-21 11:50:11.000000000","tz":120},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to all places where we unpickle,\nnot just hashes.\n\nPartial-Bug: #2152384\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/89161efd633131ee3e5266e29203cb06d089fdb2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/89161efd633131ee3e5266e29203cb06d089fdb2"}]},"branch":"refs/heads/master"},"6258659a76f6d80a8c8be47603f0482746f0f4fb":{"kind":"REWORK","_number":5,"created":"2026-05-26 23:29:06.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/26/988826/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/5"}}},"commit":{"parents":[{"commit":"ca8749f344168ad1c4e07fdfd24e68ca04c57eae","subject":"test_sharder.py: pass timestamp strings to put_object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca8749f344168ad1c4e07fdfd24e68ca04c57eae"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-26 23:00:27.000000000","tz":-420},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to most places where we unpickle,\nnot just hashes. Ring builder files are the lone exception; both their\nsecurity boundaries and required-supported data types are radically\ndifferent from other pickle usage.\n\nPartial-Bug: #2152384\nCo-Authored-By: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Claude:claude-4.7-opus\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6258659a76f6d80a8c8be47603f0482746f0f4fb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6258659a76f6d80a8c8be47603f0482746f0f4fb"}]},"branch":"refs/heads/master"},"bdf83f09271647df72cf218635c61dd1b5e0b131":{"kind":"REWORK","_number":6,"created":"2026-05-27 16:12:29.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/26/988826/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/6"}}},"commit":{"parents":[{"commit":"ca8749f344168ad1c4e07fdfd24e68ca04c57eae","subject":"test_sharder.py: pass timestamp strings to put_object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca8749f344168ad1c4e07fdfd24e68ca04c57eae"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-27 16:11:26.000000000","tz":-420},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to most places where we unpickle,\nnot just hashes. Ring builder files are the lone exception; both their\nsecurity boundaries and required-supported data types are radically\ndifferent from other pickle usage.\n\nPartial-Bug: #2152384\nCo-Authored-By: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Claude:claude-4.7-opus\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bdf83f09271647df72cf218635c61dd1b5e0b131"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bdf83f09271647df72cf218635c61dd1b5e0b131"}]},"branch":"refs/heads/master"},"b7fdd9743bf6697114526f972a3cd1618bb0f542":{"kind":"REWORK","_number":7,"created":"2026-05-28 17:32:11.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/26/988826/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/26/988826/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/26/988826/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/26/988826/7"}}},"commit":{"parents":[{"commit":"887ec0bcf71af0b1e27f65ee032fac9b4b489b9d","subject":"Merge \"trivial: Clean up some bandit warnings\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/887ec0bcf71af0b1e27f65ee032fac9b4b489b9d"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-15 22:24:41.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2026-05-28 17:30:59.000000000","tz":-420},"subject":"Harden pickle unmarshalling","message":"Harden pickle unmarshalling\n\nPreviously, if an attacker gained control of a node, there were many\nways that they could drop malicious pickles to gain further access.\nMost notably, the REPLICATE verb in the object server responds with\npickled hashes; an attacker could use that to make lateral movement\nwithin the object layer.\n\nNow, harden our pickle unmarshalling: only allow a subset of imports\nwhich should all be safe. Apply this to most places where we unpickle,\nnot just hashes. Ring builder files are the lone exception; both their\nsecurity boundaries and required-supported data types are radically\ndifferent from other pickle usage.\n\nPartial-Bug: #2152384\nCo-Authored-By: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nCo-Authored-By: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nAssisted-by: Claude:claude-4.7-opus\nChange-Id: I00e27a402466cb24c94b22e5bde6d707a05c3609\nSigned-off-by: Tim Burke \u003ctim.burke@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b7fdd9743bf6697114526f972a3cd1618bb0f542"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b7fdd9743bf6697114526f972a3cd1618bb0f542"}]},"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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"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":""}}}]}
