)]}'
{"id":"openstack%2Fswift~927327","triplet_id":"openstack%2Fswift~master~Ib4690e274e3d05d4da3ad1322e1809b56f60288b","project":"openstack/swift","branch":"master","topic":"p-timestamp-v2-fixes","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-05-13 21:50:17.000000000","reason":"Vote got outdated and was removed: Code-Review-1"},"34930":{"account":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"last_update":"2026-02-27 19:02:09.000000000","reason":"Vote got outdated and was removed: Code-Review+1"},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-06-01 11:19:46.000000000","reason":"A robot voted negatively on a label"},"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-05-13 03:24:34.000000000","reason":"\u003cGERRIT_ACCOUNT_1179\u003e replied on the change","reason_account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}},"removed_from_attention_set":{"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-09-29 19:17:08.000000000","reason":"\u003cGERRIT_ACCOUNT_1179\u003e replied on the change","reason_account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}},"hashtags":[],"change_id":"Ib4690e274e3d05d4da3ad1322e1809b56f60288b","subject":"object-server: raise 500 on ec timestamp collision","status":"NEW","created":"2024-08-27 21:22:13.000000000","updated":"2026-09-29 20:34:36.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":156,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"39fbdc425873c0a85f9a7d013cf0815ae8ed3b18","_number":927327,"virtual_id_number":927327,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-29 20:34:36.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2026-09-29 20:14:43.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"}],"CC":[{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-08-27 22:25:30.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":"2024-08-28 19:13:36.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"CC"},{"updated":"2024-10-24 16:22:20.000000000","updated_by":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"reviewer":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"state":"CC"},{"updated":"2025-08-29 04:18:21.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":"CC"},{"updated":"2025-09-05 21:57:50.000000000","updated_by":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"reviewer":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"state":"REVIEWER"},{"updated":"2025-09-19 14:20:21.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-13 05:38:00.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"}],"messages":[{"id":"95d783afcf1352d435f0c4581908dc80f00ad24a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2024-08-27 21:22:13.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c7137cd792fcef9105bf3b473c43d8e218db17cc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-08-27 22:25:30.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/da8112d4cbcd41c18df613621d115051\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4f6c0231b5c8414da22a409e607c1f1f : SUCCESS in 8m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/ac0c681f5ca14c01ba62157cea5659bc : SUCCESS in 58m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/306ff4cd9dff4a149e874509b64691d7 : SUCCESS in 46m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/ff995b99298347b08b9858d59e0cce8d : SUCCESS in 50m 05s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7616700504d34e789b56251fed1b94c4 : SUCCESS in 18m 39s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a0f7c0764b144b5f9517547b726c67e9 : SUCCESS in 18m 33s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/518d8d417268494ab6c5bbc542976b74 : SUCCESS in 18m 19s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f55af04dc9224274a81b6b2fbf93cd24 : SUCCESS in 6m 37s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/c9493bf785e54cdd8ad6446e0158986f : SUCCESS in 18m 57s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/cd8a64d38cc1455dbe367fefaa129a37 : SUCCESS in 18m 40s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/5fc0bc69bd2545ec84c7e1e0fc29630f : SUCCESS in 22m 05s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/06fb5d3c988844af85fb66eade617c42 : SUCCESS in 22m 07s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/9408b71a971b4df6acc78e1a9b403c34 : SUCCESS in 23m 21s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/94db42f2cb6640c49da908cea5bb7ecd : SUCCESS in 18m 14s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/659e736a44664a288a8d167aa3e1add6 : SUCCESS in 19m 03s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/ee46f75b9466403cb18ee5f3ef7156e1 : SUCCESS in 21m 18s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/29f3ce1b03dd40e2bc90dfbfe656c869 : SUCCESS in 18m 11s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/d8d7e1b6f4bf417f8bc0913f406a6186 : SUCCESS in 17m 04s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/8a2a71a8a1974052a96d74c37997c71d : SUCCESS in 21m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/49e0b9b51e404f32a885dc9fc81abb23 : SUCCESS in 5m 59s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7fb924be8c9d465eb3fb709a7d4dcafb : SUCCESS in 17m 02s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/4b3a1005f7314e2cb211520e336f62dd : SUCCESS in 6m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2c3e44cf0dbc494e8b615d3f458062b3 : SUCCESS in 53m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/76ab4a1dd2de4349b3b65dd525e8e3e5 : SUCCESS in 35m 20s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e7a087283ac34d36b35e22f2b116ca2b : SUCCESS in 36m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ed1266e800864498899661a4d4cd3306 : SUCCESS in 21m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/03bce13d67094266976ccb9749624cc9 : SUCCESS in 4m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2dbf59d4fa3f453b8660b41767c66182 : SUCCESS in 17m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9b05ce85b700452d8a205587129b76d2 : SUCCESS in 48m 36s","accounts_in_message":[],"_revision_number":1},{"id":"47b017062cfd7199a1cc2d8ea684df2196c54a6d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-08-28 02:03:24.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d767b5e2962a4b0fa84e720d0beefd41\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/3837e0e6b0be4c34adf777547cb5eefb : SUCCESS in 56m 32s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/bc8129e5fdff46e7ac0b4564a1a93bab : SUCCESS in 58m 15s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/c99b62a88d5c4c5392eb4a01997b080f : SUCCESS in 49m 45s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/711a89987906423aba91df78f39e49f8 : SUCCESS in 51m 27s","accounts_in_message":[],"_revision_number":1},{"id":"10218b5002042d4d30f950c838eb59cab90ac621","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2024-08-28 19:13:36.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a77ef01566adbe078560c2d7287869e4c018a855","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2024-08-28 20:07:25.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"869ca2b1823f1d7d92eb443d547fb30b0d201b64","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2024-09-09 14:54:02.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"d32e0504d2f00b3aa188a2eac31a6aef105c3e89","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-09-09 15:50:09.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1703dc3caa4046cb9745f67b1d98a289\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eab85397f0c54236a490c975909cd561 : SUCCESS in 8m 00s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/adb6f7923446478fa2c36d260dbd2817 : SUCCESS in 42m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/61076d9e5e1241848371528e1e77acc1 : SUCCESS in 3m 57s","accounts_in_message":[],"_revision_number":2},{"id":"2a7c6f5c0fc70f571d70d4b1bb819cd10bfd4f1c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-09-09 17:44:09.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d2a134cf853d44519a43f627e0ba3cea\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/89b4c77222d94209a405eb09eaf3eabd : TIMED_OUT in 1h 31m 03s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/289dce418ed34c9daa8a60692910dd62 : SUCCESS in 1h 02m 35s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/4231957e9ed34ce381b1f4bf937db40d : SUCCESS in 1h 23m 45s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/2cd0c6521ad840d3a8519e1ba69781ce : SUCCESS in 1h 25m 03s","accounts_in_message":[],"_revision_number":2},{"id":"a6f8e9725e9c3ec52fc3354b2e9577c87a8dfdc3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2024-09-09 22:38:38.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"a82e62b0211858f2181efe4a7afda96a0d4521b3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-09-09 23:23:34.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6060982984f74b1fb0e4529dc86e8a21\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/08f2a82d06e34cc4b7f1f4058d1a383e : SUCCESS in 7m 16s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/fa9f551d04554106ab1ab5e37fef1087 : SUCCESS in 43m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/28dd499d1de24095b09f3bdf7bd5b5b4 : SUCCESS in 4m 20s","accounts_in_message":[],"_revision_number":3},{"id":"e4a56b23f148293edf78b3428f0958029e9719be","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-09-10 02:37:15.000000000","message":"Patch Set 3:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/25363c4dfca5423e9e4b7fc72e70ffea\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/9bf0f244d7f04b859531e9ade57ff646 : TIMED_OUT in 1h 31m 05s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/7d71e6547f364b918695d65301476c7f : SUCCESS in 1h 22m 38s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/b2756e26da214935a79150ede239f6c3 : TIMED_OUT in 1h 30m 54s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/394cb9f1bc0947ba9909e03281a2b614 : TIMED_OUT in 1h 31m 02s","accounts_in_message":[],"_revision_number":3},{"id":"f64bb79b62dafa5b119011bd3c909705f343b75c","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-02-05 16:09:01.000000000","message":"Patch Set 3: Code-Review-1\n\n(14 comments)","accounts_in_message":[],"_revision_number":3},{"id":"6983434069772330db7c088366042a374f14e386","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-08-12 22:42:48.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"6dffbc7e7b97f29b3e90a8e06ff588d3626bdd21","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-08-29 04:18:21.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"d70e933cf727fd89a3e2791839c298d863c40e36","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-05 21:57:50.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"a75f814706c176bedaa9f8f2031c90bbc2bf495e","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-05 22:01:06.000000000","message":"Patch Set 4:\n\n(7 comments)","accounts_in_message":[],"_revision_number":4},{"id":"d7675bd3a2bc460b56ce4965200308fa5d9c8613","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-05 22:05:39.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.","accounts_in_message":[],"_revision_number":5},{"id":"c5442783ba4453281dd27294b25e019012c86bdc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-05 23:01:47.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ef0bdc16821c4db592d1f4621c36c2a4\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/91e30567262a4e1e91c42e95c03e9ba8 : SUCCESS in 54m 25s","accounts_in_message":[],"_revision_number":5},{"id":"e9bfb048395e3e275d3d8b2521cb8f23da7e0c8b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-05 23:05:32.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/99c709b02d794102abb757aacae38a32\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/77c1195899a94395be2e81005968a9f6 : SUCCESS in 10m 53s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a8c2892eba554fc68873977e0646b683 : SUCCESS in 55m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d907fd131602414eac13088e619f789b : SUCCESS in 3m 01s","accounts_in_message":[],"_revision_number":5},{"id":"61b40c21c615b5f4274a0d9dcc6eb259d3bc6a83","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-09 02:45:05.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":6},{"id":"5830842fc254dfd922e52778fae5bd7d457d7aec","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-09 02:56:38.000000000","message":"Patch Set 6: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"b4c9331d3b138ff8cfb0366d85ad519c5855fae3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 03:50:25.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8dc97c6d43e34e498af0681994368a43\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/001406143435490f8a2be84816fe2fdf : SUCCESS in 10m 20s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/db7716e39bae4e3fa87c0befad21be1c : SUCCESS in 59m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5da051c2c3ce40798df5587b12d86e75 : SUCCESS in 3m 54s","accounts_in_message":[],"_revision_number":6},{"id":"c5656d69e2798d5cf1b92f32d608c0a624a3e13e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-09 03:59:25.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bb900180b9d2428b9d7afa4c5e728493\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f2032ea019b0487f8b7ea45b5632fa3c : SUCCESS in 1h 04m 21s","accounts_in_message":[],"_revision_number":6},{"id":"fb468752b9d2e6782a1c0d63b302e006452348d5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-09-15 23:00:55.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":7},{"id":"252b0428a25290b4f8211a0a30a66384e1a0fd24","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-16 00:00:50.000000000","message":"Patch Set 7:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6fed3f242c0b43409ebbb49640a397d9\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/36d49fc972df40f9ba4eb3ecc4669bf5 : SUCCESS in 58m 08s","accounts_in_message":[],"_revision_number":7},{"id":"09db4d7983df57d75679303fce27548715317c07","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-16 00:07:46.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f7cfa57f63904a298295c816d18ff768\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/049c4953b0494bc99515035dd38879a0 : SUCCESS in 10m 46s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/337454bc91f24432b16a1d75b19a89c1 : SUCCESS in 58m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/64c2dab6e4aa480ab67357f0cdc46d5b : SUCCESS in 4m 30s","accounts_in_message":[],"_revision_number":7},{"id":"19a591128ccc609870321298defcc4f804247bb6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-09-16 14:57:06.000000000","message":"Uploaded patch set 8: Patch Set 7 was rebased.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":8},{"id":"d16d50845d0165c42307bf5656c5afbe020f055f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-16 15:57:38.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dec8046a36074d22bfd215672a526104\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6f3e83777c2e4e57bad9dc799cb05069 : SUCCESS in 10m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/8a14f83f7128408bab2371d8ae5decd5 : SUCCESS in 45m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/88f1f98d53f94c1b8de7a73eb826af54 : SUCCESS in 3m 39s","accounts_in_message":[],"_revision_number":8},{"id":"124f4913a961608e9427d51fc163ad76edb7c259","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-16 16:29:53.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a05ed1dcae534eda9dbbbd56917da4f8\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5701f45717614f308851bdb7931fd16d : SUCCESS in 1h 10m 18s","accounts_in_message":[],"_revision_number":8},{"id":"c1bb7b43a5f243f412b097c32f0538c43ec7adf9","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-19 14:20:21.000000000","message":"Patch Set 8: Code-Review+1\n\n(18 comments)","accounts_in_message":[],"_revision_number":8},{"id":"7142b4554c973bf0259f4facf6810f2d74c7b59b","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-09-19 21:27:59.000000000","message":"Patch Set 8: Code-Review-1 Workflow-1\n\n(12 comments)","accounts_in_message":[],"_revision_number":8},{"id":"c5e5ff0f8491920bf9253a17e9662d22d55debfa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-09-19 23:11:04.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Code-Review+1, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":9},{"id":"18771a9ace76eaeb7be1d75ff6e94cc17eb68314","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-09-19 23:19:58.000000000","message":"Patch Set 9:\n\n(9 comments)","accounts_in_message":[],"_revision_number":9},{"id":"c399e6ec03a6ba88b7b921f4c4b6ee7ea51a0d7c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-20 00:10:54.000000000","message":"Patch Set 9:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a6dfd953b2954b8d947bdcddacb07130\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c26165b70f02403d8bc22c6ebaf8481d : SUCCESS in 58m 09s","accounts_in_message":[],"_revision_number":9},{"id":"d6a33c35bb1a3f54a84635aaf56f68307342ec3b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-20 00:15:30.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/77423e24980942d5969218a15cfdddf7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7bbfca16a75b443c96c16a3e7088975e : SUCCESS in 9m 53s\n- grenade https://zuul.opendev.org/t/openstack/build/f312b70455844f1d9b1b8e8d9ddac394 : SUCCESS in 59m 24s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e921bcac251040f3a924df975c7c860a : SUCCESS in 56m 58s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/54ae95d5ed5b452ba78c542f6b398981 : SUCCESS in 46m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/49a417a2b21d4a64a1e7db7da8d162cc : SUCCESS in 57m 14s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c7ee29879a2e46d6a752e2d94c8b91cb : SUCCESS in 19m 51s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0feb5d7da2684f918608080dda48a6a9 : SUCCESS in 18m 09s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/61cdb9edd10b427692530b5da3348729 : SUCCESS in 17m 16s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/48a9f9c96236409cade796a5b288c139 : SUCCESS in 8m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c82a6092ad50492b9f70eb60579501af : SUCCESS in 22m 03s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/ff8a75b1338042528d437b04b7d94ff9 : SUCCESS in 15m 20s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/0bc672e5488f4b94bd320bb19e2a8f2f : SUCCESS in 24m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/94f1808f02df42c4b1f8311e92404239 : SUCCESS in 24m 58s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/60489409c61d4be994d464e3ef7b3800 : SUCCESS in 13m 58s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4ad15fcba15e4b049bf1e1489349e803 : SUCCESS in 14m 46s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e66e3833bf834e47ba07be95f311b351 : SUCCESS in 18m 11s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/57729b667d22416d9c2e2932b2b6bbe9 : SUCCESS in 8m 37s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e2cedea4411d4e7ba866ccbcebac5d0e : SUCCESS in 18m 25s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/68d36edb18124dcfb0db555a9a4ce93f : SUCCESS in 9m 15s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0f8168d04aa34587b28efd45290294aa : SUCCESS in 48m 11s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/621d6f2235754eb29c2349e1f776ef94 : SUCCESS in 52m 30s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c09c9b2be9f04af59433e26a52159287 : SUCCESS in 37m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/48f856a55f7141de824964480bfa56b5 : SUCCESS in 25m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6c4939093ea546419fd1dca40aaaf571 : SUCCESS in 4m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f513540208f54061a1699c25abe2b4b2 : SUCCESS in 16m 16s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/50efe730feb04cf9b9aef8e7f3c18dce : SUCCESS in 48m 26s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1cb7b9292ccb43cf985e843ecd2de175 : SUCCESS in 54m 33s","accounts_in_message":[],"_revision_number":9},{"id":"1cdc094c088c52c15e580663efac7307e702adb9","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-23 15:23:02.000000000","message":"Patch Set 9:\n\n(3 comments)","accounts_in_message":[],"_revision_number":9},{"id":"ac4dd29ecf20ae11cab397b5f3b39526e0d4c8de","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-24 10:10:31.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"3c12d0606f44828a3210ba4dcf61e55b2879f021","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-25 06:09:04.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":10},{"id":"e35973f65093e5d9d73178f6563976f8ad026eb4","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-09-25 06:14:18.000000000","message":"Patch Set 10: Code-Review+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":10},{"id":"ff060c4c56289f6d5449645697e5f5ea3603cc1a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-25 06:59:39.000000000","message":"Patch Set 10:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/944550ed98024a16b33ab8817faba4b5\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c99169903e4e43eaa79de91ac73b1bb0 : SUCCESS in 48m 50s","accounts_in_message":[],"_revision_number":10},{"id":"c322e15aa17c5a7d3e232d021fb1d8b32ecd32db","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-25 07:18:20.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/98811d827a9e40fb938cb8a3745f5f84\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fbd2f1f153834b0b9485f604029dc21f : SUCCESS in 9m 56s\n- grenade https://zuul.opendev.org/t/openstack/build/9023dd6ee1a44d96b515a15e4fd3480f : SUCCESS in 34m 58s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/edfe1f9c723f43b3a2c5ba3cf6088477 : SUCCESS in 1h 04m 10s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/86ad5b38115d40409736e15c2cadcadd : SUCCESS in 48m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4a7fa1dde2c04f1d9fedf57ffe31f4d8 : SUCCESS in 46m 57s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/16b91d7230784d47bde4dd337ef523d5 : SUCCESS in 12m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5c8df872108f415cbc8c1d2da544cbb7 : SUCCESS in 19m 57s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fd32089e865542089049de6e536208dc : SUCCESS in 18m 57s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b609f48e786d43f0bd0b41cc7cb5ca33 : SUCCESS in 8m 28s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/27a508844cfc42bb9a88b58cd2fab182 : SUCCESS in 19m 45s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/6ac87bd3cb52415bab7b0a5f22f491c7 : SUCCESS in 17m 13s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d5f3a43ada964a198e9e88779a9909ae : SUCCESS in 27m 50s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/73f5acae7ede459a9943323a05db8c13 : SUCCESS in 28m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ebb514d6a4f04d729471db0e8bab9463 : SUCCESS in 14m 23s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/597a9a61ca724726b8d96e7fbb71ffde : SUCCESS in 15m 07s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1a571b2a182946d99d4ac6e586fbe3b4 : SUCCESS in 15m 54s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c6516858d71840d58417aa4dfa91cb8e : SUCCESS in 4m 58s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2b1c25e5c9ec4f41a494e02a06408af3 : SUCCESS in 15m 24s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/4382ed68d82f48c98b51fd1a66915f77 : SUCCESS in 6m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/856ae4c821954f7c9146f16af0f9ee75 : SUCCESS in 45m 46s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/aa473134b94c4ee3b9935dee7690a523 : SUCCESS in 56m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/da53c5a418eb46889e5f63042e133202 : SUCCESS in 32m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/78bb8398477a4525bfea3f6b14cc3663 : SUCCESS in 23m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/20444b939cc44e8d9b8c5de374a7200a : SUCCESS in 3m 19s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6a5a5df5640449b697911bda22ba7358 : SUCCESS in 18m 20s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/b3a07101267047119c59dbe37cf35cf2 : SUCCESS in 38m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d97f7324d412452c85bf9d0bdac36db2 : SUCCESS in 39m 57s","accounts_in_message":[],"_revision_number":10},{"id":"ec0fe93878008e2ec57a842f04065431f2e77d2d","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-25 14:32:13.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"d93eea271079c69c4cb1da441d2bc4540d9a344f","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-25 14:37:41.000000000","message":"Patch Set 10: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":10},{"id":"8e98150f38ff8db5c72240396ad64cfc424a6894","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2025-10-01 21:53:27.000000000","message":"Patch Set 10:\n\n(4 comments)","accounts_in_message":[],"_revision_number":10},{"id":"c5093469fd7cff9417efb72ee1ab9b50138e10d5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-11-17 06:37:08.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":11},{"id":"d6c5813fbf8fe79543ccd98824b49c8b4af233d0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-17 07:29:44.000000000","message":"Patch Set 11:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/34148acb2b4d414eb4f212253c07cfab\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6812e9ddbf9d4c4ca4037908bf993383 : SUCCESS in 50m 52s","accounts_in_message":[],"_revision_number":11},{"id":"2522a3c36e7d18fccf07a0ba0ff056090b17e626","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-17 07:42:13.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f2c18e0b6a294897922aec01ed2db650\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3e27c6c9b83b4e1ba7c32e3b96cf9b45 : SUCCESS in 5m 27s\n- grenade https://zuul.opendev.org/t/openstack/build/ccce668213c64ce6a117052962c1ba88 : SUCCESS in 57m 57s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/278df56176dc4b068bc07b03f6ce4c7a : SUCCESS in 59m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6ec5cb44a04d4d2db887bb2dce0ad7c8 : SUCCESS in 37m 01s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a16937ea1fd04e7dbaac1e5768e477d0 : SUCCESS in 35m 32s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9b6e6674665c4eb997fe5143c87e844a : SUCCESS in 11m 30s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/77386200f9be42d9ad85faac73f3eb88 : SUCCESS in 11m 47s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1d410dd260544cd7bb6e61ebfa9c50c2 : SUCCESS in 18m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/28208053cfeb4208be18ac63fb5f1783 : FAILURE in 4m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c4005f14330d4ef89d3e00db54084405 : SUCCESS in 10m 05s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/478dfd3f453b4d14b6554f90ace3dff8 : SUCCESS in 9m 56s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/83a62ca5527c4aa48688bf0f6ad9b305 : SUCCESS in 27m 14s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/faf440ccc1ac45c8b64413adc3a7a4b5 : SUCCESS in 19m 00s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7bb29a49d3f54617a176944d81079e10 : SUCCESS in 14m 12s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4c1c9828a9584f1eb12545dcaca4cb0b : SUCCESS in 8m 59s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/dd052f9246ed4d18a9d0262c390aaf62 : SUCCESS in 14m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/50b683205c46449492c10ccd8c1467de : SUCCESS in 8m 36s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/fa16130624f34543a048ea19bc7a16d4 : SUCCESS in 14m 56s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/7cb41a7118024a729795373c287b5698 : SUCCESS in 8m 09s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4aded7b4f8754614a85d03fff5fad549 : SUCCESS in 32m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/276d4882173d407e925039366bccfb9f : SUCCESS in 46m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/937ae13970cd473bb440c26112068f76 : SUCCESS in 20m 49s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bad80c988a0145569fa02d5ee89d70da : SUCCESS in 12m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/57b3f388243f4afc8b0ab065df489fbe : SUCCESS in 3m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/567ec02ee8744aa2817143b58b81d39a : SUCCESS in 19m 23s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/4c1ae4084d764301b6b3d713eb190889 : SUCCESS in 47m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/03bb18ffca7b4605910c1c9dbab122d4 : SUCCESS in 36m 39s","accounts_in_message":[],"_revision_number":11},{"id":"282bebab1b2ea5493c657ab12abb0450e409ea7b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-12-03 17:29:07.000000000","message":"Uploaded patch set 12: Patch Set 11 was rebased.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":12},{"id":"1ed0af0a3c486e67bbaab9683b61c22281d38645","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 18:40:08.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6d47b13e82d1448180ee8d7f425ea129\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/efa7686b8141491a83aef36e42635b23 : SUCCESS in 7m 29s\n- grenade https://zuul.opendev.org/t/openstack/build/462fbd43fd1b4158b8f10db74e4ea996 : SUCCESS in 1h 04m 52s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/cb947c3830d54bf8a4c153d22c7ebd02 : SUCCESS in 59m 42s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/594a0939cd8a49ba9714d8d9f02de3da : SUCCESS in 44m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/71730b0f6ca5432d85d49cf7b3663a48 : SUCCESS in 41m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/33ad524227e8443190ca30332eae1556 : SUCCESS in 20m 29s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b5ad0fc1f156459ba935bbd73b5447c0 : SUCCESS in 15m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9ea705e1329c40148273624171d2a08a : SUCCESS in 16m 01s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5e2dc06897d04208a03d99818e26edf6 : SUCCESS in 6m 35s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c09a4c391a4f4c85b0e9f7bea2ff291a : SUCCESS in 23m 54s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/077ba4a3813b45bc9f713e85779dd126 : SUCCESS in 15m 14s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/ea41a8b18a674614826dfe681d749636 : SUCCESS in 19m 44s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fb8b52032dbc4cef98684221052a610a : SUCCESS in 22m 41s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/175ac216698e48feb42f016b02c9f774 : SUCCESS in 14m 06s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/e5b3438da0be4e29b1b9de6166a2d0c4 : SUCCESS in 14m 29s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/027703710ae14acfb1391b3c4dfb949a : SUCCESS in 9m 12s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3b9e2d8c055c4a5c9f0be027cb70dc21 : SUCCESS in 6m 36s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/162cd63616aa4acf93ec54748aa4c10a : SUCCESS in 19m 12s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/819b44c217214b14bcef96383ad9d815 : SUCCESS in 8m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a39716da31324525beedc4da527484f4 : SUCCESS in 53m 45s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c6b45b1b97c84fc683c13f8dcbc49465 : SUCCESS in 50m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f824390ba778415c8728cf773d793485 : SUCCESS in 34m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0b921f285e044a89b89a38bb821b5981 : SUCCESS in 16m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/496b17f475a546a2812e5e5b0ebca41f : SUCCESS in 3m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ba289d06db2746a2886ab48817713968 : SUCCESS in 17m 34s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/64d02007158a4d18bb99b56cf6b5a8ef : SUCCESS in 48m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/15c649391c0244dcb443ac0d27509e98 : SUCCESS in 39m 40s","accounts_in_message":[],"_revision_number":12},{"id":"e1dda1b50c968c2079173c842cf5fd5acc8d9d58","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 19:26:47.000000000","message":"Patch Set 12:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3a8684caa68748ed8f26b5bd0d781a67\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/084ec02684454712abb7691358d489ce : SUCCESS in 33m 30s","accounts_in_message":[],"_revision_number":12},{"id":"727822dd2828afc28e9cb64240e9a2cb42caa943","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-12-09 18:20:32.000000000","message":"Patch Set 12: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":12},{"id":"24791b6a204e033a96e121d82dd94c13e4daee25","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-12-10 02:34:34.000000000","message":"Uploaded patch set 13.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":13},{"id":"35ea0fab0fa8ba613279c65f77e7c73fcb75a615","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2025-12-10 02:35:35.000000000","message":"Patch Set 13: Code-Review+1","accounts_in_message":[],"_revision_number":13},{"id":"458e943c02acaa07140d5e982da2a24cb95d896b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-10 03:45:45.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c52106abafc24d718be47799c71d0c30\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9ef1d2cb5c5c47e4a09b53bbad050392 : SUCCESS in 9m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/cf9c34f65e1e42f395099ba0bf70f3cc : SUCCESS in 31m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c0ba5f14f7cb42068bdd27e611c97152 : SUCCESS in 29m 47s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/3feb484f05ad41cabf0603965e37b343 : SUCCESS in 41m 25s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e528e5ec0ef34e53b4b3220ae951cad4 : SUCCESS in 1h 06m 02s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a3f2a86ede044fbc825703f068d8056f : SUCCESS in 18m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6815e57dfc8b4ab98a1bf48168666e11 : SUCCESS in 19m 48s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f6a1265f3a5b4e5d8d87264ddba65202 : SUCCESS in 20m 50s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/22349e037d514565807c4eb06aa0649d : SUCCESS in 8m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7b5cee58862249b787d45ab32e9d1775 : SUCCESS in 26m 40s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/cbe5dd6936b344f98f75f7045f83fb19 : SUCCESS in 16m 31s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/12b4173a2f4f4037bff3ff328c0c48da : SUCCESS in 29m 15s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5824f2e4c34241d28dab6d28a9615bda : SUCCESS in 30m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/1990616539864308a5d1779c597bace6 : SUCCESS in 14m 57s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c7f8fd8f3693400fba3db2f80ee604b5 : SUCCESS in 14m 42s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0fbf7253ed864d69a5630483c9541012 : SUCCESS in 16m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/347cfcf0f8f147e6ae832bcd6630371f : SUCCESS in 7m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d1a6cad02b4d4f2bbb6a9c3da8e5b5b5 : SUCCESS in 16m 39s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1771353a647b4d0b9865cdf91af52205 : SUCCESS in 8m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/eb375a00ae3a4e95b6deb12b48e61881 : SUCCESS in 1h 00m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ab1a3dc372e6478aa98b54b8452ad782 : SUCCESS in 54m 45s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1f27a5619b30411aa98f0b3f0605e559 : SUCCESS in 53m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2eaefe328dcd42c5a38bcc49452acdf4 : SUCCESS in 27m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ab52e59337e2443081951e524c34a3b2 : SUCCESS in 4m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/260f8a9c80bf4adbab058fccf6fd7231 : SUCCESS in 18m 31s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/20a9288597984b8091eda23fce9f6135 : SUCCESS in 29m 13s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/acd7a01ddfc0412eb9dc6a160d7e1137 : SUCCESS in 57m 45s","accounts_in_message":[],"_revision_number":13},{"id":"e1942f0132cdaa2f58763074139ba74d263e012b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-10 04:47:42.000000000","message":"Patch Set 13:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1dbf139fdd8441b88bf6e22423b2486b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/0b0fa1ad0455470d81cdf1935d5eb695 : SUCCESS in 1h 04m 07s","accounts_in_message":[],"_revision_number":13},{"id":"a76bc4d054c58e85ebe8d52de2c68ccc08d86db8","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-12-11 11:08:11.000000000","message":"Patch Set 13: Code-Review+1","accounts_in_message":[],"_revision_number":13},{"id":"bdc9d74cca7f8641b0fd5b339d42bdc1ecb918af","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-02-27 19:02:09.000000000","message":"Uploaded patch set 14.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":14},{"id":"03b9015c573c7d870bec900caea0259babadaf84","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 20:17:20.000000000","message":"Patch Set 14:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7229c2f3fdd24a4c9d32d9cc966d5f62\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/20e5394d164f466aa91c73541a6918de : SUCCESS in 28m 51s","accounts_in_message":[],"_revision_number":14},{"id":"b775ff4733f97f9e8efea3abd5caac6a3ddafaaa","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 20:27:41.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2c0b86aa68b640aca98bf521454370d3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/64877bec93414f19a6b78ef5c59603ea : SUCCESS in 8m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/0556242c068b4775ab55138f40314717 : SUCCESS in 42m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/dd9fc9c233a14488b9a4fef76773b1e0 : SUCCESS in 1h 12m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7beee656c3364786938f59a889fd46a8 : SUCCESS in 56m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/69cd3c98653246798c2c06fc9ebf3028 : SUCCESS in 1h 04m 41s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0cbefbb6b41e4a3386efdfef2cac242a : SUCCESS in 17m 28s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f97912821fa9425ab0de78bfd3b700ab : SUCCESS in 11m 38s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b4b80058dcf44e4caa4246fdd6d51387 : SUCCESS in 19m 55s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7ba6c1e945024b518b49a6a953cc525d : SUCCESS in 6m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e62ac4009faf4444a781bbb903f55f9a : SUCCESS in 10m 39s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/c9a512c5b2274fb783845fae4cf54c31 : SUCCESS in 14m 29s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/f6d48add05ad46418a02440987d28abe : SUCCESS in 33m 00s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/ba4d7dda71bd4378bd3228d54c994214 : SUCCESS in 25m 17s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/110393e4a8d24594b31c8dbdd39ce260 : SUCCESS in 14m 52s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/64735d6353024bd8a9e6e1727a129843 : SUCCESS in 17m 19s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/48bd4e60e412433396a7a5d21991bbea : SUCCESS in 16m 59s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/21eec476f64a47fe8f98b4aece3602d9 : SUCCESS in 6m 10s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/29c354b35f8e4c629d2e919cc0471c60 : SUCCESS in 9m 11s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/11e296b41cc74aa6ae3d9eff2b817e5f : SUCCESS in 7m 18s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c90069fb8bf047e69a95635b8ddb2095 : SUCCESS in 55m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c5803c95c54c4a889f6cb9f272ee0d65 : SUCCESS in 52m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ad6ad4892f9c44fa9a3d7b8b32ee58a5 : SUCCESS in 34m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/82be40177af84cc3963364c44305426c : SUCCESS in 29m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d60dce1512c54680b84e1e3af548ec16 : SUCCESS in 2m 45s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fca0b14d052e4f2ebd54ade442f73dd2 : SUCCESS in 9m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c5df8998e1994f41b7865d669938b476 : SUCCESS in 1h 04m 24s","accounts_in_message":[],"_revision_number":14},{"id":"36d6f1fb1a935e193dcea06173d670f2dc13075d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-12 02:05:05.000000000","message":"Uploaded patch set 15.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":15},{"id":"f757bcbfb1a944e864081604c77b9d599582c0ef","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-12 03:54:07.000000000","message":"Patch Set 15: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc4c2d7eb4cb413e83b25bd52b3e4ec7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/736c5bf2c41047d58969348757eec776 : SUCCESS in 10m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/3f22c199ee394a569907e24c1b71b54a : SUCCESS in 44m 05s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e121ef1499be44929fef2ee5b2cfa27b : SUCCESS in 35m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/82fce2c0e5844291ba7f1b10c744f050 : SUCCESS in 55m 57s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/894010c6d0cd443199b034d7da3cc1d4 : SUCCESS in 44m 15s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8750b4dde53143a69e9ed92de53b08bd : SUCCESS in 19m 44s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/09339e21d78941e5b3881e01b1ed7cc3 : SUCCESS in 22m 53s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e515789751834b56a26ecd5a325249e9 : SUCCESS in 11m 33s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8f973bf401284b4ab69a1d61cc9d5c1e : SUCCESS in 7m 58s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7a23cd3817fd449387b877cfb908e68d : SUCCESS in 16m 24s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d59bd2bc6a8b4f84bbdda712c67abc0b : SUCCESS in 16m 50s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4885cbd89ed54f76807cd05798a78435 : SUCCESS in 29m 19s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/16286588097c4c8dbef3e6d9a25483a7 : SUCCESS in 19m 32s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/08b2d09c32e34bb79375414cf5712d5d : SUCCESS in 11m 36s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1666ce87c2934df2863a22a37a64c3b0 : SUCCESS in 8m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/a2079f6f60914806bde5b004747ecca7 : SUCCESS in 15m 08s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9d6df8aba6554c4fba32f3552fdb2d93 : SUCCESS in 7m 50s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/cab84bdac7b844cba613bd868ac9144c : SUCCESS in 17m 45s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/001368329e23448a9e8aae29927971c0 : SUCCESS in 10m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ad7a8e9126e443a09087feeb0c5b2337 : SUCCESS in 58m 49s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b5292cc73e9c4dfdbe31a912c6c6f2c8 : SUCCESS in 51m 04s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4425a97913ec4c83a878827b438ac457 : SUCCESS in 34m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d2d199c3c80140249105afee3c093ea6 : SUCCESS in 17m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/047a9a5d1f42442aa94c4ef8cbf751b2 : SUCCESS in 4m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9dfb157989fa4b60a7302d1cffee1d79 : SUCCESS in 18m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/28a33ec6714344ac9fba268e1094fc17 : SUCCESS in 53m 53s","accounts_in_message":[],"_revision_number":15},{"id":"fe5f1a5177d7513adca00fa90709cac544f9a337","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-12 06:04:43.000000000","message":"Patch Set 15:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b09e55ded12b4c96a2d85353e9b4738c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6b0877358099466ca4eb9c4783a4875b : SUCCESS in 35m 17s","accounts_in_message":[],"_revision_number":15},{"id":"8d6dcd54094343bd409460ec47cb82b970d49247","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 03:21:28.000000000","message":"Uploaded patch set 16.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":16},{"id":"9d73661780e26223f132106b7b86ec2ed7d7874b","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 03:24:34.000000000","message":"Patch Set 15: Code-Review+1\n\n(22 comments)","accounts_in_message":[],"_revision_number":15},{"id":"448b40884f35392be7ac9f42685d03c1766bdb89","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 04:28:31.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88e59d28000e4082a4435cc4f6851238\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/50cbff6d44df4ac09cbb28c85c610d91 : SUCCESS in 9m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0d97f37e5e14483ba173ca1ce386b0b8 : SUCCESS in 9m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/d26af0787544427ca27250351b168289 : SUCCESS in 1h 00m 46s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/475994ea64da410c97170f46b1c8863e : SUCCESS in 39m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/fa64ef06d9b842c38b2f3f2502b54e9b : SUCCESS in 54m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d3a5d30dab124cf4a8bfa29062746a5e : SUCCESS in 33m 43s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/af108aac37e0434d99e5718232c68306 : SUCCESS in 20m 00s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6fa86a0303c945ea9e41e7e24e1034b2 : SUCCESS in 11m 16s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/38af3de09166494fa93ed32c1367ff6f : SUCCESS in 21m 34s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/349dd203435343e3811b615a29ff26fb : SUCCESS in 7m 31s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9f23abe426194f868eac1eab8b4a0f40 : SUCCESS in 14m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9d9fe0b4237c49fca76786b579643324 : SUCCESS in 18m 25s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b0a02397575347ba8f5002f9b8f7edcb : SUCCESS in 50m 16s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/52ba5c388de445048500e407beb7a819 : SUCCESS in 20m 46s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/44f685339edc45c88f478787f7023ff6 : SUCCESS in 15m 31s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a3fffa4131ba41679cbd058cfcd298c1 : SUCCESS in 14m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/bfe20dbb994345eeabd9e70ec50cedf0 : SUCCESS in 16m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/2fc22425fed44d989808fb9d8f2a5a92 : SUCCESS in 5m 26s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/127b97c274004c46bc8763bd0b5cdfe7 : SUCCESS in 16m 26s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/634bfd39d7464e3cb7b128321f1ad5f6 : SUCCESS in 5m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/363b86ef5cf04131bd719a77d832964e : SUCCESS in 37m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8e9f1b2d029a47ce88c0cdf02c5d07a7 : SUCCESS in 57m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/2b1cc417cc7b4bf2a14abc6e7e628500 : SUCCESS in 29m 59s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/22f88f37d2274c11b565dea14a378f49 : SUCCESS in 15m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bf755847d21d4114bc1fa7172f02c0ce : SUCCESS in 4m 56s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/4f15f39821b64bb99319fd09b70fd155 : SUCCESS in 24m 05s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2e726602a4eb42728b4371ea402a10b6 : SUCCESS in 1h 01m 33s","accounts_in_message":[],"_revision_number":16},{"id":"5fd2c94c9cfdce0dde739c9e9e143b5de181273f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 04:32:10.000000000","message":"Patch Set 16:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ada4d1d2cdf84cf28fefafd028c1ddbc\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/154871efd4cb488a8d0aa247695770ad : SUCCESS in 35m 21s","accounts_in_message":[],"_revision_number":16},{"id":"d586fe9bb58c53c0be81ef621db9890c6ce14049","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-13 05:38:00.000000000","message":"Patch Set 16: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":16},{"id":"3ccf124ad8cd07694a0dab0dc4e62ef3877a4f96","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-13 05:38:36.000000000","message":"Patch Set 16:\n\n(1 comment)","accounts_in_message":[],"_revision_number":16},{"id":"c22919ecfe50a3ba569f81a6b9d33d3eee87d1ee","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 09:34:23.000000000","message":"Patch Set 16:\n\n(3 comments)","accounts_in_message":[],"_revision_number":16},{"id":"fec3e67a9a794ae616249d4b6c6ba608cd63c492","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-13 17:32:18.000000000","message":"Uploaded patch set 17: Patch Set 16 was rebased.\n\nCopied Votes:\n* Code-Review-1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":17},{"id":"83e536901b760073c5ad74e4119220db8e81525a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 18:23:41.000000000","message":"Patch Set 17:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1c974fafd89a424b9b847470851f5c39\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/8662f267d1f34ddfb4c43dbe0ad4f8e6 : SUCCESS in 40m 42s","accounts_in_message":[],"_revision_number":17},{"id":"35969de91578f8a572b7308e09c09d97a74fa43a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 18:51:13.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6295d7a49ca041439664b9904ebad849\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82dec15781de4ab4ae0e2732c2d89b23 : SUCCESS in 10m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5581b017b6f24529915bbbf30e46313e : SUCCESS in 8m 24s\n- grenade https://zuul.opendev.org/t/openstack/build/f5b9882962cb42efb05883754ea653cd : SUCCESS in 1h 08m 40s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/67421470b0d942318874b36e044b7882 : SUCCESS in 1h 12m 14s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c43fd4c24cf543889e736d5512b33122 : SUCCESS in 55m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/69a3e71cd0414fc2b58c64cac34aae8f : SUCCESS in 54m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ad6c1027cce44cd0a64373c8cff84be4 : SUCCESS in 19m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0b3ec93c5a2f4014b77faf3e32601554 : SUCCESS in 20m 08s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b119de633b494c84b71f931d761362ee : SUCCESS in 21m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3ecc5137e049425fba5e15a6592cce7b : FAILURE in 4m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c91d1baae66443598c64a799301f09f0 : SUCCESS in 22m 05s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e8701e383bf34a018fd769c13dc18203 : SUCCESS in 15m 13s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a3574f8bc58f45c4b26a2d215b64d330 : SUCCESS in 20m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/9d01ccc487a742debe8e5f7f265ee98c : SUCCESS in 21m 24s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0b718455605f4a8aa8a30de7ac984542 : SUCCESS in 16m 09s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ae908080c99647f58784654167b3cfe7 : SUCCESS in 17m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/265bfd42523649d9afa46825b0f524fe : SUCCESS in 17m 10s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/74d043c74aa04dfbb3612fa6256261c1 : SUCCESS in 6m 45s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/118840e567634b968cb3ac761089d78f : SUCCESS in 16m 20s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/aae7aff255984b2e91b96584eada54b5 : SUCCESS in 9m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f3a86b3953764197902b9a1323de48cd : SUCCESS in 52m 43s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5df06c3746034c8293214f96d3d352fc : SUCCESS in 52m 24s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0ebd5536dfd94c26bab0f7d2a09bcac3 : SUCCESS in 55m 36s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/09eb2cc7a6874b12b35b397fcc7dd362 : SUCCESS in 27m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0cee267cb6f14d56a01f2d8489d14962 : SUCCESS in 4m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/850439f532b14654be322c74145f7864 : SUCCESS in 18m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d09f5b2aa732474c8df18c50299193d9 : SUCCESS in 58m 58s","accounts_in_message":[],"_revision_number":17},{"id":"e5ef1977703bf219452a7a8aa992da62d8467909","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 21:50:17.000000000","message":"Uploaded patch set 18.\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":18},{"id":"3e9135012f2e4215b19883d3055f56edf6f089ad","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 22:02:41.000000000","message":"Patch Set 18: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":18},{"id":"7703dfbb3ed2d7fdf8c47693120d9f8ef55826b8","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-13 22:05:14.000000000","message":"Patch Set 18:\n\n(1 comment)","accounts_in_message":[],"_revision_number":18},{"id":"c573ec357829622e0d54595a1e2a8038d9b929c9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 23:01:46.000000000","message":"Patch Set 18: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ceeea83889bb444dae00950d9d527e8d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bacfc989aff74ee8bdd8a5cb464811e0 : SUCCESS in 5m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/26f6e02f080249bcb8a500a835182971 : SUCCESS in 8m 49s\n- grenade https://zuul.opendev.org/t/openstack/build/9c5d5a3214db4fbbaf0e32846cea27a2 : SUCCESS in 1h 06m 19s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/258c5c8ec12d453c9bd9e2802256bf43 : SUCCESS in 1h 04m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6e2438a9f4cc4278bdb8056247a8f2d1 : SUCCESS in 38m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b23126d7760447b0b6aa41afb7d8df0f : SUCCESS in 1h 04m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/08afe04b393e4d4cb91bcd4584781ea0 : SUCCESS in 19m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/085ab978db83464f8f0ad0bae4de97f4 : SUCCESS in 20m 22s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/98fa1aeee6d0481fb37a61aaa67a298d : SUCCESS in 12m 28s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/029c265447104d6e8bd9f6540bce6132 : SUCCESS in 7m 02s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3db64302679544d6a6b9294ed9e47bcf : SUCCESS in 26m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5ca5ab6032db4567bb5d6d8c507f0d01 : SUCCESS in 23m 48s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d21b4cafb6a749a4b1a787ddb186e5f4 : SUCCESS in 30m 41s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/023fa175d31e4ca39b01170a757ad96c : SUCCESS in 22m 35s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/313a0a235c1c4c7b9aefc62c325e5f2e : SUCCESS in 17m 04s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4c40480863f04632afb8aefb1ac8da9a : SUCCESS in 14m 39s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/abe56156b4ec42a08f6a3507057fabed : SUCCESS in 13m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b3b0852a871c423a9f0a84c67eb879f9 : SUCCESS in 7m 22s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/afb12a0adbd44add85f1286bddd65ccf : SUCCESS in 19m 44s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/738399a065d748038d12bf48b5aa578c : SUCCESS in 8m 11s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/d35bea2c29784e4bb5bf8f3302fdde7b : SUCCESS in 59m 29s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9ffe3b89a70141db9b3892744fede152 : SUCCESS in 35m 46s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4459c5786325452bba682eb2af972420 : SUCCESS in 54m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c02c4d8b68e64047932ce6243b6f3845 : SUCCESS in 32m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e8efb1e4bba042658e9726875d99a2a0 : SUCCESS in 4m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/259e57ecdaa446a1b9b15b7dbdf60913 : SUCCESS in 18m 33s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/dd7517cbd66148d9ac420405942d3259 : SUCCESS in 51m 51s","accounts_in_message":[],"_revision_number":18},{"id":"3915b64c86deeef585cd311943eb6f37a323e839","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 23:29:19.000000000","message":"Patch Set 18:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2e1540c0ded54b8b9f57274ec0fd17ef\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ac390a59928f43f2bd1e3b86211ee3c8 : SUCCESS in 33m 46s","accounts_in_message":[],"_revision_number":18},{"id":"2b035892e4a4b956e84613d3b97a72f2f21cc7a4","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-05-15 15:20:14.000000000","message":"Patch Set 18: Code-Review+1\n\n(18 comments)","accounts_in_message":[],"_revision_number":18},{"id":"5452c007eb06264debac785b62b5569e9f3ac327","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-21 07:12:44.000000000","message":"Uploaded patch set 19: Patch Set 18 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":19},{"id":"6fea871777a3d19c67e1900b84d997e4feca8f22","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 08:30:44.000000000","message":"Patch Set 19: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/886c61938ebe49019cee087d82e54519\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/19032d2c59cc424292d78dfb36fd29d2 : SUCCESS in 6m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/26509c5010954e74b9073f68794f478a : SUCCESS in 8m 10s\n- grenade https://zuul.opendev.org/t/openstack/build/ca905856299e4b1aa3b72c56d89fd1ad : SUCCESS in 36m 39s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ca331a9f52cd453e9db0b04cc1708f9e : SUCCESS in 1h 09m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/dcf4888745ef4e0c8c6f922ea6251fde : SUCCESS in 33m 15s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/451e787802394c3c987e9ef68b1d3a7b : SUCCESS in 1h 11m 25s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e6da8e3f012048d2baa2da8127585580 : SUCCESS in 21m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/165df9e43b4b4e96878723c3baf07fa6 : SUCCESS in 19m 23s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/33841cc5972e45c6a74efd91e250be79 : SUCCESS in 10m 18s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2d26d7bd5cbc462484906faca7f725bf : SUCCESS in 6m 31s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/27bfec916d5642db8927719b294a577b : SUCCESS in 17m 48s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5a690295b1654273a50f12e7d29e70d0 : SUCCESS in 16m 15s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c57c0f290feb42cba27430adfa0e7456 : SUCCESS in 11m 14s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f3dd84281ad64716a73d7ddb1cf05b8f : SUCCESS in 9m 04s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f030de5601434345b5d3afe8f80fc4a9 : SUCCESS in 7m 59s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/49d1306ee92d42e9993ca619c0263d3f : SUCCESS in 8m 04s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ad01ce1e098a4304a4445694a2a797a7 : SUCCESS in 9m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b56d5e739422481a8906ad32f41b8616 : SUCCESS in 4m 17s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c584fdb10fd243f0b16251acf9049170 : SUCCESS in 10m 14s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f27fc9167de24da394a98e7fdaecdbe1 : SUCCESS in 5m 02s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/51950c0d02dc4a8d9b43397fcca36bda : SUCCESS in 1h 00m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/af1dd37f171b4bb58ffd4a907c25170b : SUCCESS in 54m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fcf91b05432c4873bea3c02e69ae6d15 : SUCCESS in 55m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f7d4d43b73b54abcaea8af1ffdd399a6 : SUCCESS in 21m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ce9ae823fd9c40309e9bb2dd2dffdef0 : SUCCESS in 4m 04s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/06c3010a23a24273a36130a54a376740 : SUCCESS in 19m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6dace2615b664b6f92aacb34c7159626 : SUCCESS in 35m 49s","accounts_in_message":[],"_revision_number":19},{"id":"07a8e609472260c1220ea94565f4afc416fc471b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 08:32:27.000000000","message":"Patch Set 19:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fc7b7152d0d44b8d950a982c77e0de3d\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a1c3d9adab8a45229b4016789df93de5 : SUCCESS in 56m 51s","accounts_in_message":[],"_revision_number":19},{"id":"c31be985e2a3fa40ccb25703217be16bb67e2390","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-29 21:37:51.000000000","message":"Uploaded patch set 20.\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":20},{"id":"55a8aa57e8f52ba931573926189ebba8d934682f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-29 21:47:05.000000000","message":"Patch Set 20:\n\n(1 comment)","accounts_in_message":[],"_revision_number":20},{"id":"7b9d06770e834a9f435acf6ec25ee2e05ee335a6","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 22:08:38.000000000","message":"Patch Set 20:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/60d86f1fabd346d4a151c306c31ca703\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/478b89865be344d9b8a93f22c9c14e2a : FAILURE in 28m 53s","accounts_in_message":[],"_revision_number":20},{"id":"e8152cbb5ce8cf150c235b1500e788f69ccd09d0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 22:52:27.000000000","message":"Patch Set 20: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/51a3aaa983aa4c959e94bc8e3b57f530\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc97829f013949e8aa906cb2f815e608 : SUCCESS in 5m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5e1dce8e141e4cd38c20f2a3caae9549 : SUCCESS in 8m 30s\n- grenade https://zuul.opendev.org/t/openstack/build/104cf18c7ecd45259f2cc596ae760728 : SUCCESS in 1h 08m 57s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c129a6fb31404d1ab90d8ecd7748a46c : SUCCESS in 45m 37s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/79617ab85e02440ebee90b772889fbe7 : SUCCESS in 52m 13s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2222ad8c75854a1e9e13d42bfc9bded4 : SUCCESS in 1h 06m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/13c0420c49c74c718470960537c4e31e : SUCCESS in 20m 43s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/44f34acbd26d490899ca586af9923a5c : SUCCESS in 18m 43s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/072d7dfef6614ae196780a4ebb6066d9 : SUCCESS in 17m 22s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5c4862d75b494578acd7d1d937a537e0 : SUCCESS in 5m 38s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/57ca76d7734e459eb3a64498b4564874 : FAILURE in 19m 41s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4da2240b2f7845f1b761cfa158246281 : FAILURE in 27m 07s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/0c8c3bd9ef014d2e9716b3666270fb77 : FAILURE in 31m 46s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/dd35c737e05646ec9a284c8cb657b892 : FAILURE in 13m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/2769adfe535e494989b7d261b04f8ccc : SUCCESS in 15m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/def771143e9341a0bf3230c0796f15fb : SUCCESS in 12m 01s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1a5e6e2f70374efeab03041b8491a45c : SUCCESS in 15m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/80c38ab51448405caf894c95f2f0e228 : SUCCESS in 7m 05s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e1c1a2ffd08e4d6891de27b79a370db6 : SUCCESS in 10m 19s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/83c68e0c808647a8ad39b0cc6d736078 : SUCCESS in 8m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4ff96ba159694ef4a7a8ed880a975002 : SUCCESS in 40m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0c18f7d9044e4f4cbad78eafa91a9b59 : SUCCESS in 57m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/deb06281ed534eb29ebebc30429632e6 : SUCCESS in 52m 27s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/33673863ad664a47ae4f09314fc449c0 : FAILURE in 27m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/51a7f56614cd42fda226ced7180de6ed : FAILURE in 3m 35s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ecee7e53e2234ed58e377d0a3d3bae60 : SUCCESS in 10m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8c9d48f1baed4fa894c5ddf18c24377e : SUCCESS in 30m 29s","accounts_in_message":[],"_revision_number":20},{"id":"61d0cef20ee225a9c10d88d2a70efc7f532ff877","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-06-01 09:46:15.000000000","message":"Uploaded patch set 21.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":21},{"id":"73367decff0a7d7ca7485b95acc5b79f03ec29d1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-06-01 09:53:47.000000000","message":"Uploaded patch set 22: Patch Set 21 was rebased.","accounts_in_message":[],"_revision_number":22},{"id":"a9b8fd54dedc735b04a493a4bdf8ccef3b15a53b","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-06-01 09:55:11.000000000","message":"Patch Set 22:\n\n(5 comments)","accounts_in_message":[],"_revision_number":22},{"id":"cccb9596ea0dcd69154b45c7055dbf957613fafd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 11:19:46.000000000","message":"Patch Set 22: 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/90b0030b49974e2180fb562365a8ca9d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c65ae30514cb406782442089f5f75f62 : SUCCESS in 11m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ada42910460049d681ddf044c70db883 : SUCCESS in 9m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/a22338a43e90435f84adeea07fede422 : SUCCESS in 1h 24m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b3898ce2521a4496a07745f49df48a90 : SUCCESS in 1h 03m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/910f619ed21c4696ab397be7bd1b5038 : SUCCESS in 59m 22s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/01f0e4406cea4d73ac450ee8cce3b02d : FAILURE in 1h 09m 10s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0db12c73077a4a4a8c0e487648651715 : SUCCESS in 15m 49s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/27a74c773ca243a5a3c5165abee1977b : SUCCESS in 20m 38s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d81c3766205045cbbb53d16f9736a19b : SUCCESS in 23m 02s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9ca9dd518c7446c48f502ad68be3b4fc : SUCCESS in 6m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ff6fac7a50c84c1f8865cee29d8bfa94 : SUCCESS in 19m 15s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8cac8f96d7f9496e8ded39e7b3175a4c : SUCCESS in 16m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/59475686809a4204bbce863c936d9471 : SUCCESS in 24m 48s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/83d3784f67e24e4d8b65d6a086fd3cf1 : SUCCESS in 21m 41s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/950b162d26bd43d0a9166834ca3fd554 : SUCCESS in 14m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2d9b9f2f922d4b9bbd684c375e771732 : SUCCESS in 15m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/53848129c55d4e1291be5e2246700ae0 : SUCCESS in 8m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ce63f4a8fa214c1385ca853724b65487 : SUCCESS in 5m 28s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/16f3060dc1894100ab0c88f6c873c3b4 : SUCCESS in 19m 08s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ba0d125b85d746d29868587b67c6c946 : SUCCESS in 8m 10s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/db20a950e74a4a52a14b196b2c40a77f : SUCCESS in 1h 04m 24s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f2ade71c5bfa48f5a8355c3880d17858 : SUCCESS in 53m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/36a67e72a7f9466099f559d98f31d02d : SUCCESS in 52m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e6330ac690134c3e92f52d3f4ff1f62c : SUCCESS in 21m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9318f9d7169d46c2b67c954a7b0b5581 : SUCCESS in 4m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/de50896d672e4f66a6bb6a50eb06524d : SUCCESS in 19m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3fb603fad20c4cfa8ed16d5aa5305b67 : SUCCESS in 55m 19s","accounts_in_message":[],"_revision_number":22},{"id":"51a34d62f369ed677e528099762e85623b01857e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 11:41:00.000000000","message":"Patch Set 22:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9c0057994d3d4888a6ef388bcf6b80b0\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/3cad48cab64d41f4bd9a40073dae834a : SUCCESS in 1h 06m 09s","accounts_in_message":[],"_revision_number":22},{"id":"8a8e513e03b8f0acf35d3a024b1ad80cafd8348f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-06-02 21:59:47.000000000","message":"Patch Set 22: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":22},{"id":"8eb104a7977a07d2c41d1b68e7efa050b3f47d0c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-06-26 07:45:17.000000000","message":"Uploaded patch set 23: Patch Set 22 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":23},{"id":"22777fde51d95e64cb03bb88b29b1a606d4139bb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 08:49:15.000000000","message":"Patch Set 23:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/815bf75d9c34433dbfd893d0dc2e923f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e920b8538d5343b78c620216fb90f2f7 : SUCCESS in 1h 00m 12s","accounts_in_message":[],"_revision_number":23},{"id":"3e53f36f6bd312c98522deb3fd8183e9531e004c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 08:57:15.000000000","message":"Patch Set 23: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2f5db483454242049593aad1da753d09\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/31ccb4564a0f43ddb0ca766ea4277296 : SUCCESS in 4m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9433d6dd6f634550894631d2255b6747 : SUCCESS in 8m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/e6bda459494047deb827243f2a0b4627 : SUCCESS in 46m 28s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/654de4cac630401ebc4da5ca37cc5bc5 : SUCCESS in 1h 00m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2219ef360d5a417184ce1101b13b6008 : SUCCESS in 34m 33s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cb718735ca6c473a8445ce3749042a8c : SUCCESS in 1h 01m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/12a649f208c04c038a7b9c4915eaea53 : SUCCESS in 15m 12s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cf1302f2777143eab145889781e0953b : SUCCESS in 12m 06s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/32a9b746d73548708a9d45694ea8a0af : SUCCESS in 20m 50s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e9b6ab9727354262af985b795553cb8c : SUCCESS in 6m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/323506a9a84f4503b7e8106cf57539f4 : SUCCESS in 24m 38s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4465f625cc4144969d067a8e863be295 : SUCCESS in 10m 25s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/bbe2f68304fc4dab97997626d1a4565b : SUCCESS in 30m 25s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/19904bb5fc0846a1afc99b49136aba61 : SUCCESS in 19m 58s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ad9a5c59d94a440f872817c8524a1006 : SUCCESS in 15m 05s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/f3be8b9b9b5247ed99926054c0d913a5 : SUCCESS in 9m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/29a69cc981cd4cc7aba972648dd783ab : SUCCESS in 15m 26s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/aa7c3de9010143bfafaa08d2a7fa7c8e : SUCCESS in 8m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8c45771597e548438d9d1d248258ea4d : SUCCESS in 19m 20s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/933d7b5c31bd4cad93c83c9a1f1bf211 : SUCCESS in 8m 32s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9dce7d021ba74d4a91bfb77c4c8e672b : SUCCESS in 1h 04m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b873a89d003b437bba0ec1e92dd793ad : SUCCESS in 26m 14s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7e770c3d45d64da4a3c8278f7b998e9d : SUCCESS in 1h 00m 26s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/403aff246605432dbb29eac2cd120179 : SUCCESS in 32m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bb4b0726e45d467ab582c61c78e54080 : SUCCESS in 3m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d6d27cb3e3c4463e8ffb10b57e3b87cb : SUCCESS in 19m 10s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9f98bb5022a54bc29c19309e9388f86b : SUCCESS in 32m 19s","accounts_in_message":[],"_revision_number":23},{"id":"138ad2fb2f668982231a18e1ac7ff199f7f0a3e1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-07-06 13:30:47.000000000","message":"Uploaded patch set 24: Patch Set 23 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":24},{"id":"4ca4a90a917117aae8f77024ff539c5077ff7fb3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 14:54:19.000000000","message":"Patch Set 24: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1f9b33ec26bf46b6adf42059fee6b891\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7912aaea4c8a440989fdc255d837f8cd : SUCCESS in 12m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/efb00e5e5fc54aaa9a85c152ac6f41a0 : SUCCESS in 9m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/e0ead60ba9234467b9b071677b0c8e03 : SUCCESS in 1h 07m 02s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f7f4f811211f4ab2a1be98e471e8e279 : SUCCESS in 1h 14m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/885ae75f2a244ac293a8db4f22cde4cf : SUCCESS in 58m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/91014a0a382f48e986d727d1f4d8bd86 : SUCCESS in 1h 05m 56s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/377b04b47c064d4ab118a75774573198 : SUCCESS in 20m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/aafa0a0905b642a48705a1c2e6d61945 : SUCCESS in 24m 47s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f5a5b46250f343cb907e39d13600ade9 : SUCCESS in 17m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3ad155e2d70347c9b7230038626fc977 : SUCCESS in 7m 47s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/52e4bda94c794aebb1c0cbaaccc9973d : SUCCESS in 23m 34s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4ab4e2edf663478bbf6eccd722148361 : SUCCESS in 24m 01s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6431e4492a5f447da71fba695fbebf53 : SUCCESS in 32m 27s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d3a023a6b9654405b0d727e9663444e9 : SUCCESS in 21m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/a8a47e8055304860b2fadcc93ae64918 : SUCCESS in 17m 51s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ade4d65f6c8d4bd880c8410203e1fc22 : SUCCESS in 16m 38s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e52e5de9f67d4fcf95d7d7186fd3c7a9 : SUCCESS in 20m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ea539fe21ca741acb8e11f4765dd19c1 : SUCCESS in 9m 35s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6b0f0cea0fc94dd0bf60af3773f24c38 : SUCCESS in 25m 30s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/cf6100bbc7864f86acd36ba14685a350 : SUCCESS in 7m 54s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/26a00366ec644aa3a645cce533989577 : SUCCESS in 58m 12s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b58d3b88aeeb4fc18b3bd2c743cf8f8f : SUCCESS in 52m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bd3fa389c7494c178c0ee1876bb007d1 : SUCCESS in 51m 55s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/300bb894751147a8b4a0def4b075ee32 : SUCCESS in 29m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ad976a2fb1624218ac3619e67cab345c : SUCCESS in 4m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/90ec5e06b4fc4f788ad8b3f66489e6b8 : SUCCESS in 17m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c6e8d18402ff41d2bc475230c2ebfca7 : SUCCESS in 1h 07m 50s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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.\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.","accounts_in_message":[],"_revision_number":24},{"id":"1b2a4559c8432bead6fe9082292b9803231cdb11","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 16:07:35.000000000","message":"Patch Set 24:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/80efda38c47b4bb1a729ae79d0f022a1\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f06a77ffaea4445db572e09e49b935a6 : SUCCESS in 31m 35s","accounts_in_message":[],"_revision_number":24},{"id":"05f954dfcd29121b5a143353708e7d6a5fcd6735","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-28 15:18:06.000000000","message":"Uploaded patch set 25.\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":25},{"id":"45012d4f8ce1879393af8019ecd1805fc9b70f00","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-28 15:43:32.000000000","message":"Uploaded patch set 26.","accounts_in_message":[],"_revision_number":26},{"id":"4b394915b3346d0856ca42c8d5dfb9952033cbcd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-28 15:45:58.000000000","message":"Uploaded patch set 27.","accounts_in_message":[],"_revision_number":27},{"id":"101d30a60ae58020d9aa28db2c8128e8f8b01607","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-28 16:51:41.000000000","message":"Patch Set 27:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0126d3fa61c543a19198282d5f62e512\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/683008af4f6d49c494f721def2507361 : SUCCESS in 1h 02m 12s","accounts_in_message":[],"_revision_number":27},{"id":"8be898ca368f96985f4d1ac2bb1a5ced734b1acc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-28 18:07:57.000000000","message":"Patch Set 27: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f11247d4ecbb49ee93ed24d80f08d2ba\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e8f2f4383b2d492bbc305d49ef740cec : SUCCESS in 11m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/68d491c3babf4b6a9ae29757afad6edc : SUCCESS in 11m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/f40c052eb3f44b09a2b03e70e9d1f46a : SUCCESS in 39m 05s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/314683e47050473797cd3a01be53b710 : SUCCESS in 1h 12m 03s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/19e7a5692e334ff9a47464d74538f994 : SUCCESS in 56m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/20c55de6d3ef47d88dd9981208cda432 : SUCCESS in 1h 09m 25s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4ba94793685547beaea2f2f7975aac7b : SUCCESS in 21m 05s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5618b0528ef5402ea60c2ff3bceb69de : SUCCESS in 22m 30s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8d50f09defa54db483b11b0dac88955d : SUCCESS in 22m 20s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/10af3602b433420bbfb793733610cf8e : SUCCESS in 7m 22s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/983141fd454442df933db452202dbf37 : SUCCESS in 27m 37s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d04edb541e964e5fbf6d8b4f291eb10e : SUCCESS in 26m 22s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/60c2323d07424d6ab7a29946917d1417 : SUCCESS in 33m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/aaba60f4266e49c7a50de15dcbb008c3 : SUCCESS in 10m 11s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9031548646f54cb1a36d80ff39062ff8 : SUCCESS in 15m 44s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/247ef95a9e004e05b1b0c2aba5168899 : SUCCESS in 14m 31s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/dc7684447a1845cf93a4d64713c90e75 : SUCCESS in 17m 29s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/6da90ef00b5440ac8b41c7f96ced3ad8 : SUCCESS in 19m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b11e8176901c434d87af42befa5d07dc : SUCCESS in 7m 27s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/196cb6a8f5df408697ceb67a045d0135 : SUCCESS in 6m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/cc084fd35daf4ce2b587af77d2cc5972 : SUCCESS in 57m 29s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c67d295f63a04773accd19e44dc83ef0 : SUCCESS in 31m 38s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/396d41e9ad3b426d83bb62ab6a01b576 : SUCCESS in 56m 04s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9f0449b4db6648dfa99f9848804d08ac : SUCCESS in 26m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/faf728e8ee774238ab009b8cdef0bf3b : SUCCESS in 4m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e77d538abb30464cb45fb47bf32e73a8 : SUCCESS in 20m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1915cc781c43455c8ea45f3f37adca22 : SUCCESS in 56m 01s\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-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":27},{"id":"d32a5985e1d2f179b36151103497e87f49ec230b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-29 19:16:41.000000000","message":"Uploaded patch set 28: Patch Set 27 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":28},{"id":"745c3065433bc76534422ffc7946dd98639ad1f7","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-29 19:17:08.000000000","message":"Patch Set 27: Code-Review+1\n\nCopied votes on follow-up patch sets have been updated:\n* Code-Review+1 has been copied to patch set 28 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\").\n\n(13 comments)","accounts_in_message":[],"_revision_number":27},{"id":"7f0873f7809f38b4c272bb9c22973f903caa382b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 20:00:27.000000000","message":"Patch Set 28:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b936628c228d42fe9ff84d1d5cc3a917\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/0625e6cde5c0411483169f04d24e34f9 : SUCCESS in 34m 32s","accounts_in_message":[],"_revision_number":28},{"id":"49633dcb48aea0e831c99b71eeddb5a2649e07fb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-29 20:14:43.000000000","message":"Patch Set 28: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":28},{"id":"39fbdc425873c0a85f9a7d013cf0815ae8ed3b18","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 20:34:36.000000000","message":"Patch Set 28: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/69a831d02de74b8ebb92c9425f7a3a56\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/14523b0529a74cb6a9329cfcac5c43f3 : SUCCESS in 11m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b9c8487a599149a7ba69bd3dc9e4304c : SUCCESS in 10m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/97a95a9a1c6b4f17b04056b5b2e5dcf0 : SUCCESS in 38m 19s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/19f5e802478643b9af34d4ba189437a2 : SUCCESS in 1h 06m 36s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c10b2fb5546046229de1b0e397f4d1ae : SUCCESS in 40m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4ebb0d644a894e5a853aca9ac4699111 : SUCCESS in 30m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f102c85b202b4e3993d14cd890c4a3bf : SUCCESS in 20m 29s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e27ceadff98341dc8d1666330576d641 : SUCCESS in 20m 54s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f5684539db3d4d23aa178cbde682d5e3 : SUCCESS in 22m 22s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/601808867f1240babd6d25a4c8ec6599 : SUCCESS in 7m 01s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/76d72d22a47a425db2de71e3c3aac668 : SUCCESS in 12m 15s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e78b3f9b4cda4db7a9c8d085a216af9e : SUCCESS in 13m 53s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/f2d86770da0249289efe12383e6bbc15 : SUCCESS in 18m 40s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6310c9af4b1848d7834cd1f966ac2c80 : SUCCESS in 17m 17s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/92429ee40bd04cad8d77ee1d4281bb25 : SUCCESS in 16m 42s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/39e9e0d3289c46e5af039d3c472e7b56 : SUCCESS in 16m 46s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/69dfeb3b6acd4107aca4deb70e895be4 : SUCCESS in 14m 20s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/a48bc3ca7cf94e129f4a65ec04b0a509 : SUCCESS in 14m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0b61031e4adf4bf9b2a06f78f9c6f333 : SUCCESS in 5m 02s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/cdb812b21d8a4645b5d9a48fd75694ad : SUCCESS in 6m 41s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ca7b98a990234fc88e4d730eaf731b3d : SUCCESS in 39m 27s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/15766126abcc4c9baf66352c1e84c203 : SUCCESS in 56m 35s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/aa2ba9b187b14f2cb2caafaf77ad617d : SUCCESS in 25m 26s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1d23fb59ed3c4f8698a96ca882fc37a6 : SUCCESS in 31m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/459f0a4df4564b62b9d371f7daac26f3 : SUCCESS in 4m 07s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c503967d77534a6faafce6280b55781b : SUCCESS in 19m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/57a0216269c64ddb8d56eb85936d1326 : SUCCESS in 59m 15s\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-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":28}],"current_revision_number":28,"current_revision":"33faeb8fd74df988eebcdbb0ff689932c9986e56","revisions":{"95a77af9a72f3bea4db2e142354bd0feb243d213":{"kind":"REWORK","_number":1,"created":"2024-08-27 21:22:13.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/1"}}},"commit":{"parents":[{"commit":"769baae36e2e47b57b6390c7bc5e5b210d4fb2c3","subject":"Merge \"account info: Add --sync/-s option\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/769baae36e2e47b57b6390c7bc5e5b210d4fb2c3"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"subject":"wip: testing timestamp collison","message":"wip: testing timestamp collison\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/95a77af9a72f3bea4db2e142354bd0feb243d213"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/95a77af9a72f3bea4db2e142354bd0feb243d213"}]},"branch":"refs/heads/master"},"80d5ee2d77b6398d456a72920090efc9871156af":{"kind":"REWORK","_number":2,"created":"2024-09-09 14:54:02.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/2"}}},"commit":{"parents":[{"commit":"769baae36e2e47b57b6390c7bc5e5b210d4fb2c3","subject":"Merge \"account info: Add --sync/-s option\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/769baae36e2e47b57b6390c7bc5e5b210d4fb2c3"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-09-09 14:53:49.000000000","tz":-300},"subject":"wip: probe testing timestamp collison","message":"wip: probe testing timestamp collison\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80d5ee2d77b6398d456a72920090efc9871156af"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80d5ee2d77b6398d456a72920090efc9871156af"}]},"branch":"refs/heads/master"},"182f85a2353528332911b72dff40d3f854dcaf80":{"kind":"REWORK","_number":3,"created":"2024-09-09 22:38:38.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/3"}}},"commit":{"parents":[{"commit":"769baae36e2e47b57b6390c7bc5e5b210d4fb2c3","subject":"Merge \"account info: Add --sync/-s option\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/769baae36e2e47b57b6390c7bc5e5b210d4fb2c3"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-09-09 22:38:29.000000000","tz":-300},"subject":"wip: probe testing timestamp collison","message":"wip: probe testing timestamp collison\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/182f85a2353528332911b72dff40d3f854dcaf80"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/182f85a2353528332911b72dff40d3f854dcaf80"}]},"branch":"refs/heads/master"},"35cbc9e5f8a7927460f0940c9b91dc5a46b7a06f":{"kind":"REWORK","_number":4,"created":"2025-09-05 21:57:50.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/4"}}},"commit":{"parents":[{"commit":"769baae36e2e47b57b6390c7bc5e5b210d4fb2c3","subject":"Merge \"account info: Add --sync/-s option\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/769baae36e2e47b57b6390c7bc5e5b210d4fb2c3"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-09-05 21:54:41.000000000","tz":-420},"subject":"Test: timestamp collisons when uploading same EC object.","message":"Test: timestamp collisons when uploading same EC object.\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\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/35cbc9e5f8a7927460f0940c9b91dc5a46b7a06f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/35cbc9e5f8a7927460f0940c9b91dc5a46b7a06f"}]},"branch":"refs/heads/master"},"36336f07d70db98151dd9c0a505ff3e4d865dd64":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2025-09-05 22:05:39.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/5"}}},"commit":{"parents":[{"commit":"21325988dfe7d63d1f3ef78b9af8a2297f787e1f","subject":"CI: Remove a bunch of unnecessary bindep profiles","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/21325988dfe7d63d1f3ef78b9af8a2297f787e1f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-09-05 22:05:18.000000000","tz":-420},"subject":"Test: timestamp collisons when uploading same EC object.","message":"Test: timestamp collisons when uploading same EC object.\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\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/36336f07d70db98151dd9c0a505ff3e4d865dd64"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/36336f07d70db98151dd9c0a505ff3e4d865dd64"}]},"branch":"refs/heads/master"},"553a4049b7b36d6e7fde50aa04f2553f5ccbf897":{"kind":"REWORK","_number":6,"created":"2025-09-09 02:45:05.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/6"}}},"commit":{"parents":[{"commit":"21325988dfe7d63d1f3ef78b9af8a2297f787e1f","subject":"CI: Remove a bunch of unnecessary bindep profiles","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/21325988dfe7d63d1f3ef78b9af8a2297f787e1f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-09-09 02:42:48.000000000","tz":-420},"subject":"Test: timestamp collisons when uploading same EC object.","message":"Test: timestamp collisons when uploading same EC object.\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\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/553a4049b7b36d6e7fde50aa04f2553f5ccbf897"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/553a4049b7b36d6e7fde50aa04f2553f5ccbf897"}]},"branch":"refs/heads/master"},"d06e6454beefa8389802d2211d1474bfc4aa1044":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":7,"created":"2025-09-15 23:00:55.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/7"}}},"commit":{"parents":[{"commit":"4bca5e6c853aa4e8a968c07427d2fd574f716f05","subject":"test: do not create timestamp collision unnecessarily","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4bca5e6c853aa4e8a968c07427d2fd574f716f05"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2025-09-15 23:00:08.000000000","tz":-300},"subject":"Test: timestamp collisons when uploading same EC object.","message":"Test: timestamp collisons when uploading same EC object.\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d06e6454beefa8389802d2211d1474bfc4aa1044"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d06e6454beefa8389802d2211d1474bfc4aa1044"}]},"branch":"refs/heads/master"},"e5559f7ed00e330cee6aea02d4e1fbc8c33ba98c":{"kind":"TRIVIAL_REBASE","_number":8,"created":"2025-09-16 14:57:06.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/8"}}},"commit":{"parents":[{"commit":"7b05356bd0bb66b912f369571972c3dec5fc5710","subject":"test: do not create timestamp collision unnecessarily","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7b05356bd0bb66b912f369571972c3dec5fc5710"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2025-09-16 14:52:18.000000000","tz":-300},"subject":"Test: timestamp collisons when uploading same EC object.","message":"Test: timestamp collisons when uploading same EC object.\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e5559f7ed00e330cee6aea02d4e1fbc8c33ba98c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e5559f7ed00e330cee6aea02d4e1fbc8c33ba98c"}]},"branch":"refs/heads/master"},"c14a2e46b2a676529bf4fbd168831d8a66782b87":{"kind":"REWORK","_number":9,"created":"2025-09-19 23:11:04.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/9"}}},"commit":{"parents":[{"commit":"b035ed1385ee729411adbd459bb03033e90bb13a","subject":"add Christian O to AUTHORS","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b035ed1385ee729411adbd459bb03033e90bb13a"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2025-09-19 23:02:53.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response.  Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c14a2e46b2a676529bf4fbd168831d8a66782b87"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c14a2e46b2a676529bf4fbd168831d8a66782b87"}]},"branch":"refs/heads/master"},"00e8873798438cb5d409f3774ead31cd1a1f2ea2":{"kind":"REWORK","_number":10,"created":"2025-09-25 06:09:04.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/10"}}},"commit":{"parents":[{"commit":"b035ed1385ee729411adbd459bb03033e90bb13a","subject":"add Christian O to AUTHORS","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b035ed1385ee729411adbd459bb03033e90bb13a"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-09-25 05:33:36.000000000","tz":-420},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response.  Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (except the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/00e8873798438cb5d409f3774ead31cd1a1f2ea2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/00e8873798438cb5d409f3774ead31cd1a1f2ea2"}]},"branch":"refs/heads/master"},"ea459c377f511c7cc23734e5fb37f94cdf6fc1a3":{"kind":"REWORK","_number":11,"created":"2025-11-17 06:37:08.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/27/927327/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/11"}}},"commit":{"parents":[{"commit":"5f89d14ebb6e6fed3b2ef507f8084fe7f05fc951","subject":"s3token: Enable secret caching by default","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5f89d14ebb6e6fed3b2ef507f8084fe7f05fc951"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2025-11-17 06:34:55.000000000","tz":660},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response.  Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ea459c377f511c7cc23734e5fb37f94cdf6fc1a3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ea459c377f511c7cc23734e5fb37f94cdf6fc1a3"}]},"branch":"refs/heads/master"},"a164d3e6c83b1bac19a72bdbc44a8536617eb3a2":{"kind":"TRIVIAL_REBASE","_number":12,"created":"2025-12-03 17:29:07.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/12"}}},"commit":{"parents":[{"commit":"760829a75a6598aab5a1865b20ac9e2b988355b8","subject":"account: Use Timestamps better in test_backend unit tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/760829a75a6598aab5a1865b20ac9e2b988355b8"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-12-03 05:27:47.000000000","tz":-480},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response.  Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a164d3e6c83b1bac19a72bdbc44a8536617eb3a2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a164d3e6c83b1bac19a72bdbc44a8536617eb3a2"}]},"branch":"refs/heads/master"},"3a13bf78d1b6cf06aae8dc7f5142e6d91ff591aa":{"kind":"REWORK","_number":13,"created":"2025-12-10 02:34:34.000000000","uploader":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"ref":"refs/changes/27/927327/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/13"}}},"commit":{"parents":[{"commit":"760829a75a6598aab5a1865b20ac9e2b988355b8","subject":"account: Use Timestamps better in test_backend unit tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/760829a75a6598aab5a1865b20ac9e2b988355b8"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Jianjian Huo","email":"jhuo@nvidia.com","date":"2025-12-10 02:27:06.000000000","tz":-480},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3a13bf78d1b6cf06aae8dc7f5142e6d91ff591aa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3a13bf78d1b6cf06aae8dc7f5142e6d91ff591aa"}]},"branch":"refs/heads/master"},"c9eb562b8dd9285dd465ef61784a89dc8b1565cd":{"kind":"REWORK","_number":14,"created":"2026-02-27 19:02:09.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/14"}}},"commit":{"parents":[{"commit":"51b068309a626d2228ab69b5158ee857e96d101d","subject":"tests: more timestamp iter refactoring","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51b068309a626d2228ab69b5158ee857e96d101d"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-02-27 19:01:42.000000000","tz":-360},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c9eb562b8dd9285dd465ef61784a89dc8b1565cd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c9eb562b8dd9285dd465ef61784a89dc8b1565cd"}]},"branch":"refs/heads/master"},"cf1537b6af35ec9277e3d254f39afd38ae578070":{"kind":"REWORK","_number":15,"created":"2026-05-12 02:05:05.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/27/927327/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/15"}}},"commit":{"parents":[{"commit":"bb378869ba1adc3db90eb8b20c97636cf2213938","subject":"Merge \"tests: more rebalance_missing_suppression_count scenario\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb378869ba1adc3db90eb8b20c97636cf2213938"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-05-12 02:04:48.000000000","tz":600},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nThis patch is an improvement in that we won\u0027t return a 201 to a client\nunless a durable and consistent frag set is written.\n\nBut we\u0027ll need more work to ensure that a set of non-durable frags are\nguaranteed to be or become consistent.  Even with this change, it should\nbe possible for a non-durable frag to be written while there are other\ndurables with the same timestamp - but we don\u0027t know how to write that\ntest yet [1].\n\nTODO: The object-server traceback is not very subtle.\n\n[1] In this case we expect ssync will unfortunately make the\nnon-conforming frags durable leaving you basically in the same state as\nyou were on master today (excpet the proxy is guaranteed to be able to\nread from the consistent frag set; at least until you loose disks)\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf1537b6af35ec9277e3d254f39afd38ae578070"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf1537b6af35ec9277e3d254f39afd38ae578070"}]},"branch":"refs/heads/master"},"eb645619550136db9623820775b579df55a82008":{"kind":"REWORK","_number":16,"created":"2026-05-13 03:21:28.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/16"}}},"commit":{"parents":[{"commit":"bb378869ba1adc3db90eb8b20c97636cf2213938","subject":"Merge \"tests: more rebalance_missing_suppression_count scenario\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb378869ba1adc3db90eb8b20c97636cf2213938"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-13 03:20:34.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eb645619550136db9623820775b579df55a82008"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eb645619550136db9623820775b579df55a82008"}]},"branch":"refs/heads/master"},"fe367a03609de61652cabc8cf420a81a00e8bd05":{"kind":"TRIVIAL_REBASE","_number":17,"created":"2026-05-13 17:32:18.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/27/927327/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/17"}}},"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":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-05-13 17:30:44.000000000","tz":60},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fe367a03609de61652cabc8cf420a81a00e8bd05"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fe367a03609de61652cabc8cf420a81a00e8bd05"}]},"branch":"refs/heads/master"},"ada6585714967f3cfd0f78248ca8860a756b583d":{"kind":"REWORK","_number":18,"created":"2026-05-13 21:50:17.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/18"}}},"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":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-13 21:49:45.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ada6585714967f3cfd0f78248ca8860a756b583d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ada6585714967f3cfd0f78248ca8860a756b583d"}]},"branch":"refs/heads/master"},"9f7411de74169e38d642d31869f25df2653ce159":{"kind":"TRIVIAL_REBASE","_number":19,"created":"2026-05-21 07:12:44.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/27/927327/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/19"}}},"commit":{"parents":[{"commit":"3392fa3ce5df938c8392ac04ff6b69e36b17eadd","subject":"test_sharder.py: use self.ts() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3392fa3ce5df938c8392ac04ff6b69e36b17eadd"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-05-21 07:01:35.000000000","tz":600},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9f7411de74169e38d642d31869f25df2653ce159"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9f7411de74169e38d642d31869f25df2653ce159"}]},"branch":"refs/heads/master"},"999f7db86071f9047286d24bf47c7dcc4021ecbb":{"kind":"REWORK","_number":20,"created":"2026-05-29 21:37:51.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/20"}}},"commit":{"parents":[{"commit":"3392fa3ce5df938c8392ac04ff6b69e36b17eadd","subject":"test_sharder.py: use self.ts() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3392fa3ce5df938c8392ac04ff6b69e36b17eadd"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-29 20:37:42.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/999f7db86071f9047286d24bf47c7dcc4021ecbb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/999f7db86071f9047286d24bf47c7dcc4021ecbb"}]},"branch":"refs/heads/master"},"8556933982741cdbc897c6b9cdd5b3df3568dc49":{"kind":"REWORK","_number":21,"created":"2026-06-01 09:46:15.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/27/927327/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/21"}}},"commit":{"parents":[{"commit":"3392fa3ce5df938c8392ac04ff6b69e36b17eadd","subject":"test_sharder.py: use self.ts() helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3392fa3ce5df938c8392ac04ff6b69e36b17eadd"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-06-01 09:45:44.000000000","tz":60},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8556933982741cdbc897c6b9cdd5b3df3568dc49"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8556933982741cdbc897c6b9cdd5b3df3568dc49"}]},"branch":"refs/heads/master"},"c189d64890ed12f193f7d29248a0315cafc7ab37":{"kind":"TRIVIAL_REBASE","_number":22,"created":"2026-06-01 09:53:47.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/27/927327/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/22"}}},"commit":{"parents":[{"commit":"1e016935edf7e6b2fd9df8eec5a2d2e4f3ef265b","subject":"Merge \"Log unexpected relinker worker failures\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e016935edf7e6b2fd9df8eec5a2d2e4f3ef265b"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-06-01 09:50:10.000000000","tz":60},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c189d64890ed12f193f7d29248a0315cafc7ab37"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c189d64890ed12f193f7d29248a0315cafc7ab37"}]},"branch":"refs/heads/master"},"357d37635324eb69cf9e5ee4fde5f3ee4f86d37d":{"kind":"TRIVIAL_REBASE","_number":23,"created":"2026-06-26 07:45:17.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/27/927327/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/23"}}},"commit":{"parents":[{"commit":"40a65193e991e4d9d96d59a67c1bf843ae244322","subject":"Merge \"Fix timestamp collision in test_DELETE_container_updates\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/40a65193e991e4d9d96d59a67c1bf843ae244322"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-06-26 07:38:02.000000000","tz":600},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/357d37635324eb69cf9e5ee4fde5f3ee4f86d37d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/357d37635324eb69cf9e5ee4fde5f3ee4f86d37d"}]},"branch":"refs/heads/master"},"083c4b89e893cb1f7278b82830c30ee07e3e3189":{"kind":"TRIVIAL_REBASE","_number":24,"created":"2026-07-06 13:30:47.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/27/927327/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/24"}}},"commit":{"parents":[{"commit":"cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f","subject":"versioning: ignore Timestamp.offset when creating version-id","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-07-06 13:23:16.000000000","tz":60},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (excpet the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you loose disks).\nThis change doens\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/083c4b89e893cb1f7278b82830c30ee07e3e3189"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/083c4b89e893cb1f7278b82830c30ee07e3e3189"}]},"branch":"refs/heads/master"},"c98c18d7eb095725bda38d44d7d7c6fa6880cb98":{"kind":"REWORK","_number":25,"created":"2026-09-28 15:18:06.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/25"}}},"commit":{"parents":[{"commit":"cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f","subject":"versioning: ignore Timestamp.offset when creating version-id","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-09-28 14:54:58.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (except the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you lose disks).\nThis change doesn\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nAssisted-By: Codex:gpt-5\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c98c18d7eb095725bda38d44d7d7c6fa6880cb98"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c98c18d7eb095725bda38d44d7d7c6fa6880cb98"}]},"branch":"refs/heads/master"},"c3da9f8a137c1933b4243ef58da5182a3444312d":{"kind":"REWORK","_number":26,"created":"2026-09-28 15:43:32.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/26"}}},"commit":{"parents":[{"commit":"cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f","subject":"versioning: ignore Timestamp.offset when creating version-id","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-09-28 15:29:27.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (except the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you lose disks).\nThis change doesn\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nAssisted-By: Codex:gpt-5\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c3da9f8a137c1933b4243ef58da5182a3444312d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c3da9f8a137c1933b4243ef58da5182a3444312d"}]},"branch":"refs/heads/master"},"793696d28224204120c0d8949b2c65462cb5f7bf":{"kind":"REWORK","_number":27,"created":"2026-09-28 15:45:58.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/27"}}},"commit":{"parents":[{"commit":"cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f","subject":"versioning: ignore Timestamp.offset when creating version-id","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cdae92c47cca4cc152a80e32ea7c70f39ccf6f7f"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-09-28 15:45:33.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (except the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you lose disks).\nThis change doesn\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nAssisted-By: Codex:gpt-5\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/793696d28224204120c0d8949b2c65462cb5f7bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/793696d28224204120c0d8949b2c65462cb5f7bf"}]},"branch":"refs/heads/master"},"33faeb8fd74df988eebcdbb0ff689932c9986e56":{"kind":"TRIVIAL_REBASE","_number":28,"created":"2026-09-29 19:16:41.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/27/927327/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/27/927327/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/27/927327/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/27/927327/28"}}},"commit":{"parents":[{"commit":"e60791398bfefc0f2b3c4b0012c292d983248765","subject":"Merge \"tempurl: Disallow X-Copy-From on tempurl requests\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e60791398bfefc0f2b3c4b0012c292d983248765"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2024-08-27 21:20:08.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-09-29 17:27:38.000000000","tz":-300},"subject":"object-server: raise 500 on ec timestamp collision","message":"object-server: raise 500 on ec timestamp collision\n\nBasically if trying to create a new non-durable EC object at the exact\nsame timestamp while another thread is trying to commit: just blow up\nthe second writer so it\u0027s never even non-durable and let the first one\ntry to finish.  If neither proxy request gets a durable quorum they both\nreturn a 503 response. Well behaved clients should try and re-upload a\nPUT that returns 503.\n\nIn order to only raise 500 for concurrent PUT collision with same\ntimestamp, object-server also use metadata-aware collision detection:\nif metadata matches (in case of collision with 3R replication under the\nsame PUT request), PUT will silently succeed; only if metadata differs,\nraise FileExistsError exception and 500 Error back to proxy server.\n\nNOTE: The object-server traceback is not very subtle.\n\nThis patch is a MINOR improvement in that we won\u0027t return a 201 to a\nclient unless a durable quorum of consistent frag set is written.\n\n... not a complete set mind you, just a measly quorum; the rest can be\ninconsistent; so this patch is only *barely* useful.\n\nThere is ongoing work to ensure that a quorum of frags are guaranteed to\nbe or become consistent.  Even with this change, it is possible for a\nnon-durable frag to be written while there are other durables with the\nsame timestamp.  In this case we see that ssync will unfortunately make\nthe non-conforming frags durable leaving you basically in the same state\nas you were on master today (except the proxy is guaranteed to be able\nto read from the consistent frag set; at least until you lose disks).\nThis change doesn\u0027t include that test only because we don\u0027t know how to\nmake it stable yet [1].\n\n[1] Related-Change-Id: I0e52517927815a4731c37adb3d7c85d82e60a3c9\n\nPartial-Bug: #1971686\n\nAssisted-By: Codex:gpt-5\nChange-Id: Ib4690e274e3d05d4da3ad1322e1809b56f60288b\nCo-Authored-By: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-By: Alistair Coles \u003calistairncoles@gmail.com\u003e\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33faeb8fd74df988eebcdbb0ff689932c9986e56"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33faeb8fd74df988eebcdbb0ff689932c9986e56"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
