)]}'
{"id":"openstack%2Fswift~982860","triplet_id":"openstack%2Fswift~master~I26b753e9e57e96bd38474d1d00f3ec99214aa19b","project":"openstack/swift","branch":"master","topic":"p-timestamp-v2","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-04-08 18:01:09.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-04-08 19:04:24.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I26b753e9e57e96bd38474d1d00f3ec99214aa19b","subject":"versioning: use x-backend-timestamp as source version","status":"MERGED","created":"2026-03-31 14:54:16.000000000","updated":"2026-04-08 19:06:18.000000000","submitted":"2026-04-08 19:04:24.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":14,"unresolved_comment_count":4,"has_review_started":true,"submission_id":"982860-p-timestamp-v2","meta_rev_id":"9cd81c999a0d86343ea7f7412e609213b2c71898","_number":982860,"virtual_id_number":982860,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-08 19:04:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":2,"date":"2026-04-08 03:44:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-08 17:26:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-08 17:26:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-31 15:53:53.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-03-31 16:57:16.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2026-04-08 03:44:49.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2026-04-08 17:26:25.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":"REVIEWER"}],"messages":[{"id":"b177b928ecfc55a3e70a5d9100a31c29da93e425","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-31 14:54:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7065cb286a082c3de1ce9f663ce2ac4f0f3faf1c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-31 15:53:53.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fd396c280b5041539d25e538978366fc\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d04baead49ba470e8a040b5ef6587fdb : SUCCESS in 12m 32s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fd45ea3334b5442f8d06497754af1e4f : SUCCESS in 18m 38s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2e50f5835f634232a08a7861e1047049 : SUCCESS in 14m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/dd67529ab3e349ceb98ffaf0d2d4c332 : SUCCESS in 18m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/624fb44b44274e0ab3d9ea2a3c7d9c9e : SUCCESS in 6m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/9d1edb8c4e1546deb8579e2f9e8d0e1a : SUCCESS in 23m 59s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9539ef9222aa4925a7156d9896d9d679 : SUCCESS in 22m 20s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c72a2a00938b4e4a88c0b1eb8fc85d2e : SUCCESS in 28m 57s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/3d739bdea56b42f592b27083d13a3a5f : SUCCESS in 19m 49s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/bc80968af61e455d8b1c538b20b79f01 : SUCCESS in 15m 34s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fa2cf0e07b214878ae52ccba0896adc0 : SUCCESS in 15m 45s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0604565c738c4c398006ca2552793c1f : SUCCESS in 14m 44s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/07f37fc9944a4c94ae92aa67100a2807 : SUCCESS in 38m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/73508b48359342488ef9eeb2ecda5694 : SUCCESS in 46m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/12ae8d0511264799b6f75b942af9bed5 : SUCCESS in 20m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/495c7c5b56514a72854f0ee09936bdf9 : SUCCESS in 5m 47s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/de0ad9135f314ca9bdfa4d6047c54d1f : SUCCESS in 18m 16s","accounts_in_message":[],"_revision_number":1},{"id":"c954bf0eaba25a9bad788dd9b8d0b91f079278c4","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-03-31 16:57:16.000000000","message":"Patch Set 1: Code-Review+1\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"41afba2079acf82a84553a4ec068ef12f82f422a","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-03-31 17:22:17.000000000","message":"Patch Set 1: Workflow-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"f775a96db4c441a5f16cebc898f2d01342ad241a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-31 17:22:58.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b74651b6ce1b41f6bd134a507381b588\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/298d3f66a0f246f2b59701c6104dc46f : SUCCESS in 35m 44s","accounts_in_message":[],"_revision_number":1},{"id":"d09675766e35a0c65bfda4f0aa6eb0fa6c7a6274","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-04-07 13:17:09.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":2},{"id":"e3334023b3b846cc290b4bb92d3defe29cc58ee3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-07 14:39:48.000000000","message":"Patch Set 2: 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/b63c00eef1c646c3bea37a9b2b8167e3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d98999f59dab4281ad03d49f3e423630 : SUCCESS in 11m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/08ddb3249b9d4dcab59da54d4ac837ba : SUCCESS in 1h 05m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b4fa64f0b50b464e8d4aa38031a3f372 : SUCCESS in 50m 18s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a7ce657e6bcf44a2b31d85f80a7e0f10 : SUCCESS in 57m 04s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4d3d78d1b78c45eeb66b58ac268a47a2 : FAILURE in 30m 24s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/198437e539a04e3a9b9928a1d6b7d86c : SUCCESS in 19m 32s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8561e5400a8d4105964d0f35a71086d2 : SUCCESS in 19m 45s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/426e120c27d74c0294d19cc33a306278 : SUCCESS in 16m 48s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/411d6c92e6fd43788cb53aa2e124f1a6 : SUCCESS in 7m 06s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a1722c9229774d9ab6393d40b0b4e839 : SUCCESS in 28m 08s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9e49147ec0c04ef8abbbd03d5a5f6593 : SUCCESS in 22m 47s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/bf4abb8671b147b59423687c40626083 : SUCCESS in 30m 43s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7631f6af76954e14ac36123af8621f58 : SUCCESS in 24m 34s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ce372d8bf5e946518b30600582af7d24 : SUCCESS in 15m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/95a3d18029d54b6b93c816fcb12a264c : SUCCESS in 15m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/abf9c5c338ec48e88da76831a1a93356 : SUCCESS in 13m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/1196b7f07b96454d97480042fa439046 : SUCCESS in 7m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/26f2f7e37c8d4538926a497654a34541 : SUCCESS in 18m 11s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3570161a5cbc44e2b68269958a68340e : SUCCESS in 8m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4f647c0f815242ba813d0c974448fb9a : SUCCESS in 56m 55s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/33b3407f7daa4502a6d84f08bab8ec0e : SUCCESS in 51m 07s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/32360ca30a734414863019ab2cf64b7c : SUCCESS in 54m 07s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c56bb5fda8684c8bafe628c0053a9f3e : SUCCESS in 27m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f6a1309525084fbc94ae25ff16165590 : SUCCESS in 5m 00s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/af829865ebb145cfaa1fb3c491a6d478 : SUCCESS in 17m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a0ddde9545af4a7aa555f538465c5f8f : SUCCESS in 1h 01m 15s","accounts_in_message":[],"_revision_number":2},{"id":"25b3e06eba6b11e0a2517a73e70ec9969ad9a15d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-07 14:43:34.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/920cb5f3a23a4bd687c6417b0a3bbb1a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f011427560e5459d848e99b399641586 : SUCCESS in 31m 09s","accounts_in_message":[],"_revision_number":2},{"id":"ba1ed3890cd05f6e6e6810a43c0760d3ee1cc4db","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-04-07 15:48:32.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"4cbf705c36b9e5f4c8de2184df092bf19f80e8fa","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-07 16:17:21.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/51f92a99c88e41519c012fb3542a02cc\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/67a9820cd9584540ba56efc4755940a0 : SUCCESS in 27m 16s","accounts_in_message":[],"_revision_number":3},{"id":"8f6b4e65e203ea6ee41959606a8aa96efe9e5c83","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-07 17:00:31.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c1ba7ff10cdb4ac0a982426d737f5238\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b3ba18d784c04361967241e853ddfb8a : SUCCESS in 9m 31s\n- grenade https://zuul.opendev.org/t/openstack/build/32677e8eff7e4fe8bc3fc3ee2a5dcee6 : SUCCESS in 1h 03m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a3bec85555814d739d024646003fb5a4 : SUCCESS in 1h 02m 57s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b8a7d493543f4447ba15f57ce02ec79e : SUCCESS in 35m 59s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/27c7506c7e9b4bce958ca2f1ba245b46 : SUCCESS in 1h 00m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4ceb6c22f44a4922b8a41795d6a9a013 : SUCCESS in 21m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e46ba385e49c45bc9a326eea762bc2d4 : SUCCESS in 18m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5c13d88d40da43f682230952acbad7da : SUCCESS in 20m 18s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9f8ac20a006d4d47a7b56ae058076835 : SUCCESS in 8m 22s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/04b3035e472f45dd9f16e45919bf0bcb : SUCCESS in 19m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/3c4821fa06974053b3bf5226d248cb43 : SUCCESS in 17m 42s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/adf6fc06b19a4a999f2dd9ac98e40d25 : SUCCESS in 17m 12s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/53a9e5365bea42bc90e8e382fabcdc31 : SUCCESS in 19m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/63d944a11f634eaf8e4fc2ad99e0c7ed : SUCCESS in 13m 17s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c51c3bb6ee264f6098246345ee8a2b75 : SUCCESS in 14m 36s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/3590918d019d4053a2e91a849f970a94 : SUCCESS in 12m 30s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5f4e0423578241269e31b01cfaedb79d : SUCCESS in 14m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b78dc4d4ef1c41a58f5c5504de27e38d : SUCCESS in 12m 54s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/718377ed3aa14eb19f1eecb05c7cc816 : SUCCESS in 7m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/51c12d9565e6412fb63e03ba9d801281 : SUCCESS in 1h 02m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/bf4a33bff2f848549fb1e23f7fea4351 : SUCCESS in 50m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/504a71a04b6747008211530461557984 : SUCCESS in 52m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5199e9a174a5484dbd8b118eeea84d2a : SUCCESS in 20m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e933613ecfd44275a02cd7d596cf9f14 : SUCCESS in 3m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/80b027372ddd4ce9b82f1982dfc4ea78 : SUCCESS in 9m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2cb13804c7d941cd93e0b2854830edb0 : SUCCESS in 1h 06m 03s","accounts_in_message":[],"_revision_number":3},{"id":"1a192821111cad07b343fe6c8aabd33b2c2854ff","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-08 03:44:49.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"2a0ea7385c6f7202bcf2a6132402b227da7c0eac","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-04-08 16:34:28.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"d639e67547c26678482015669cc77de71ba3c581","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-04-08 17:26:25.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"e042e3595e3b15815f69a97c8e225b444df7b610","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 17:27:03.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"536d2a8fc10eed92c94990f3c518cd0540c34826","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-04-08 18:01:09.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"fc52770c777e05770efd067b274b0800c9d0ea8b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 19:04:24.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bbb80bfa27ed4024b0088d1dea9051d1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc8c0db24b3e4b53b812400c2ec1b81d : SUCCESS in 7m 31s\n- grenade https://zuul.opendev.org/t/openstack/build/1172b3f3ff3d481c90917b7711729dfe : SUCCESS in 52m 12s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8494da0808e44549bf04347d0db79dc7 : SUCCESS in 38m 04s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/eb6690a36d0f4201b87e75100ffbc438 : SUCCESS in 59m 04s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/777abd8b672847be97c207952281d827 : SUCCESS in 1h 08m 46s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/002dfc639e914f478a341f530ce6e041 : SUCCESS in 7m 11s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/66683253367149f5b070d863dd2caadf : SUCCESS in 25m 56s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/751c470400ab4134b1231945430f37cf : SUCCESS in 22m 24s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/df270dad42214361bb42c25cf6cb5da3 : SUCCESS in 39m 48s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a556728b086942e3bd8ae7fbe78df020 : SUCCESS in 19m 36s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6a0e1e68b0264db0ac94871e52262786 : SUCCESS in 8m 18s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/53ff366a739f498f963c993471ba7b22 : SUCCESS in 15m 58s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f3cc797295714036b7023d40dd75dec3 : SUCCESS in 16m 51s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/40245ec4336447ed8ec9e2aaf1e222a6 : SUCCESS in 6m 58s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2144c48ca1584dcb9cdd61ad532aafc2 : SUCCESS in 5m 26s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2b3f562a42d147399ca98e9559562263 : SUCCESS in 1h 07m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ae88b3be15a84c92b3da49d097876041 : SUCCESS in 28m 21s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e5f55015524f4ce3909ff28f1f1e77b7 : SUCCESS in 50m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2c252bd96dc74f5aae95ec7e23bbdf14 : SUCCESS in 22m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4aec58822cbc4be283c525e6019d6eea : SUCCESS in 5m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/147ee09fcedd4750ab9931b75c3afbfa : SUCCESS in 19m 10s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ee09fe1080a84377ac229b84005a83b8 : SUCCESS in 1h 02m 20s","accounts_in_message":[],"_revision_number":3},{"id":"4e7ac0d072c3357c0da85ae41dfea6c8e73685df","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 19:04:24.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"9cd81c999a0d86343ea7f7412e609213b2c71898","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 19:06:18.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/85f18d2215d84fadacfb26a7fd6d9dc1\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/01142655d941451cad74f31565c1dfb7 : SUCCESS in 51s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/ea51b4a68e434ad99ea61b9f84229f57 : SUCCESS in 45s (non-voting)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"8cc481de13d9ac1046ca27c637c716d2e8d1711f","revisions":{"59f4a402f9a015b969dbbf16ee1fee48b58ff37a":{"kind":"REWORK","_number":1,"created":"2026-03-31 14:54:16.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/982860/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/982860/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/982860/1"}}},"commit":{"parents":[{"commit":"fc2f3a37a2d599d4862d4a08b0902c9f3cb03884","subject":"s3api: add API support for optional bucket inventory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fc2f3a37a2d599d4862d4a08b0902c9f3cb03884"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-31 13:41:51.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-03-31 14:53:55.000000000","tz":60},"subject":"tests: fix timestamp to version_id conversions","message":"tests: fix timestamp to version_id conversions\n\nObject versioning middleware uses the internal format of a request\nx-timestamp when constructing version-id\u0027s. Tests should do the same.\n\nChange-Id: I26b753e9e57e96bd38474d1d00f3ec99214aa19b\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/59f4a402f9a015b969dbbf16ee1fee48b58ff37a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/59f4a402f9a015b969dbbf16ee1fee48b58ff37a"}]},"branch":"refs/heads/master"},"963b0b1eedc2b0717c5c58ed3dfe9fa9bfad3af5":{"kind":"REWORK","_number":2,"created":"2026-04-07 13:17:09.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/982860/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/982860/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/982860/2"}}},"commit":{"parents":[{"commit":"d2b8945bd99ee0af98fc37fe1d841449acbd957c","subject":"tests_multi_get: fix timestamp formats","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d2b8945bd99ee0af98fc37fe1d841449acbd957c"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-07 13:06:21.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-07 13:16:51.000000000","tz":60},"subject":"versioning: use x-backend-timestamp as source version","message":"versioning: use x-backend-timestamp as source version\n\nWhen an object PUT to a versioned container overwrites an existing,\nunversioned, object, the unversioned object is copied to the versions\ncontainer. The unversioned object is given a version based on its\ntimestamp. Previously the inverted form of the GET response\nx-timestamp header was used to construct this version. The response\nx-timestamp header is the normal form of the object\u0027s timestamp, which\nwas safe to invert but lacks any extended timestamp information such\nas an offset.\n\nSince the Related-Changes it is safe to invert a Timestamp with an\noffset/hex part. This patch therefore modifies the object versioning\nmiddleware to use the x-backend-timestamp header of the unversioned\nobject GET response to construct its version name. The\nx-backend-timestamp header has the internal format of the object\ntimestamp, so the copied version name now retains all information\nembedded in the source object\u0027s timestamp.\n\nAlso, take advantage of the recently added\nTimestamp.increment_offset() method in object_versioning middleware..\n\nAlso, fix unit tests where the normal format of a PUT request\nx-timestamp is used to generate version-ids for new versions, rather\nthan the internal format. The middleware uses the internal format.\n\nRelated-Change: I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5\nRelated-Change: If0b5f11f38405e69ae1b54d73b667abf0abfb89b\nChange-Id: I26b753e9e57e96bd38474d1d00f3ec99214aa19b\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/963b0b1eedc2b0717c5c58ed3dfe9fa9bfad3af5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/963b0b1eedc2b0717c5c58ed3dfe9fa9bfad3af5"}]},"branch":"refs/heads/master"},"8cc481de13d9ac1046ca27c637c716d2e8d1711f":{"kind":"REWORK","_number":3,"created":"2026-04-07 15:48:32.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/982860/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/982860/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/982860/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/982860/3"}}},"commit":{"parents":[{"commit":"694d25bb1a87f9426ac7ad1f3817c51f5bf13a34","subject":"Improved offset support in Timestamp.__invert__","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/694d25bb1a87f9426ac7ad1f3817c51f5bf13a34"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-07 13:06:21.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-07 15:22:16.000000000","tz":60},"subject":"versioning: use x-backend-timestamp as source version","message":"versioning: use x-backend-timestamp as source version\n\nWhen an object PUT to a versioned container overwrites an existing,\nunversioned, object, the unversioned object is copied to the versions\ncontainer. The unversioned object is given a version based on its\ntimestamp. Previously the inverted form of the GET response\nx-timestamp header was used to construct this version. The response\nx-timestamp header is the normal form of the object\u0027s timestamp, which\nwas safe to invert but lacks any extended timestamp information such\nas an offset.\n\nSince the Related-Changes it is safe to invert a Timestamp with an\noffset/hex part. This patch therefore modifies the object versioning\nmiddleware to use the x-backend-timestamp header of the unversioned\nobject GET response to construct its version name. The\nx-backend-timestamp header has the internal format of the object\ntimestamp, so the copied version name now retains all information\nembedded in the source object\u0027s timestamp.\n\nAlso, fix unit tests where the normal format of a PUT request\nx-timestamp is used to generate version-ids for new versions, rather\nthan the internal format. The middleware uses the internal format.\n\nRelated-Change: I4898c8250fe85dbbf66d0ab3d24b0ae9802820f5\nRelated-Change: If0b5f11f38405e69ae1b54d73b667abf0abfb89b\nChange-Id: I26b753e9e57e96bd38474d1d00f3ec99214aa19b\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8cc481de13d9ac1046ca27c637c716d2e8d1711f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8cc481de13d9ac1046ca27c637c716d2e8d1711f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
