)]}'
{"id":"openstack%2Fswift~999080","triplet_id":"openstack%2Fswift~master~I5daf7b6bbf8ab02e9132df805c9d0fe5278c938e","project":"openstack/swift","branch":"master","topic":"p-versioning-refactor","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-07-30 12:53:30.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I5daf7b6bbf8ab02e9132df805c9d0fe5278c938e","subject":"versioning: refactor class methods to module functions","status":"MERGED","created":"2026-07-29 10:19:51.000000000","updated":"2026-07-30 12:55:36.000000000","submitted":"2026-07-30 12:53:30.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":3,"has_review_started":true,"submission_id":"999080-p-versioning-refactor","meta_rev_id":"f8bfab07963fbc400fdaeb36c546395b224709aa","_number":999080,"virtual_id_number":999080,"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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-30 12:53:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":2,"date":"2026-07-30 11:30:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":1,"date":"2026-07-30 11:30:09.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-29 11:47:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-07-30 11:30:09.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"}],"messages":[{"id":"d8be9c2dd6e1101c3b585734bf9fc74be1f78024","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-07-29 10:19:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"dee2821db36fd0c6c95ab3f0beed91e49abff58d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 11:47:05.000000000","message":"Patch Set 1: 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/210ceb4cc4c64a86a85740b6f89f33ef\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0a1aee26ca604551b1f62d705f936677 : SUCCESS in 10m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f2086fb36d924e619a80948e75e71a46 : SUCCESS in 9m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/9ca67f5f15454faa8cfd7150d5c99c4a : SUCCESS in 1h 09m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/25b599204a6f43118117d65e65d40e92 : SUCCESS in 1h 07m 44s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ac4dffeadd5e40e49bda32437524262b : SUCCESS in 53m 12s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/03e7e7956b4d4a5cb26dbf489d7bd493 : SUCCESS in 57m 54s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b6ceb8c2a51d4d64b8c48c031e3924d5 : SUCCESS in 21m 05s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/74d3c12e049e419abeaddb1a4e0577ec : SUCCESS in 17m 46s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c469fb56dc5b4240bca9db9cbed76d82 : SUCCESS in 19m 41s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8f08e4f698954fb4b7d09f4e60672754 : SUCCESS in 7m 30s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ebd227ce9f324bb4b490a4572b7d88b8 : SUCCESS in 25m 57s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ba4dd919e8f140438587ccb17413b3f8 : SUCCESS in 22m 38s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/e39cee2b3758446cbaaf1914ab947434 : SUCCESS in 29m 45s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d0f9434c1c01423498251a01e2f9fc00 : SUCCESS in 21m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c0db52c02410465e9e9c62d552750fc8 : SUCCESS in 18m 14s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c8849cd7bcf0443e8b546bbae47b439b : SUCCESS in 14m 50s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/61423363b712413e894b69d0bcd9293c : SUCCESS in 16m 03s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/9973523e121640e791ec089a30b253d0 : SUCCESS in 19m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/89d1e54a0dfc4abab93e2ffbbd4c216d : SUCCESS in 6m 15s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6eb189600ed24943857bbe2818f66948 : FAILURE in 8m 41s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2fd32b8b55e44d6082e7276965b09597 : SUCCESS in 8m 05s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c5576d0de8054766864ad3aab318001f : SUCCESS in 1h 00m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8e073aecdb424e4bae790398fea566a6 : SUCCESS in 56m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e009860a2f3f4d25a7b2aa54168959ab : SUCCESS in 52m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/282ce94e9bdf4d5487f7467d3930e8aa : SUCCESS in 29m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/385ad88c79404db8acffab02cf88dc0b : SUCCESS in 4m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fd778faa3cd644f1b8fd800b7410a05a : POST_FAILURE in 19m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9b0ff11edd4a4d95a547211a40730d62 : SUCCESS in 55m 22s\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-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":1},{"id":"4789e934443aa8f956b0d5a2cf7145d8ab76f1d0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 14:06:33.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3595d7e8d6604f1ca0606449fa192f64\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1a9104e65c554f499db6d6496e77d299 : SUCCESS in 56m 59s","accounts_in_message":[],"_revision_number":1},{"id":"c58cf2f380bdaf218da7d651ac333e7d52c7a60e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-07-29 14:16:19.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7763025fa34f16576519255ce324cfda8cfe92ad","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 15:43:39.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5a37adab679942e0aa67cb99b1e20151\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3ce1b7296eeb4d3386be5672dbe7dd22 : SUCCESS in 11m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9b4a7f26fb784fc1bb57d10de36c40bc : SUCCESS in 4m 40s\n- grenade https://zuul.opendev.org/t/openstack/build/dd410fc0bb184ad49788acf79c045d70 : SUCCESS in 55m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bcfaf4a2efdb4168a6c080f2ca76a8c5 : SUCCESS in 44m 58s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/be8cec3f6d6a44e6863967765f6cb0e6 : SUCCESS in 50m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9b5d6e3b3874427494f7965ccea83dfc : SUCCESS in 52m 52s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6c458f5503d94de2a3d642458d948231 : SUCCESS in 16m 58s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ae5869089b1c428a8b6ce9476624b875 : SUCCESS in 21m 33s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/18639171e64a4f9cb7de8447b406eb38 : SUCCESS in 21m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1b9e8d7c0e9e4778b47b4271ebd05d35 : SUCCESS in 7m 07s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1684f2b2a0e14cd69c005c57db5bcd1e : SUCCESS in 26m 02s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/349a9ef777ee40d1bcccd099f0981e38 : SUCCESS in 21m 35s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/aef68edd1fa642bf817eda71f9782896 : SUCCESS in 31m 48s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/94d32c8304e7431bb024c5d4843a67b3 : SUCCESS in 11m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cc356bba6130450793bad3b85595981d : SUCCESS in 8m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/db74ba2f0b7245779a78eeae5a9dae21 : SUCCESS in 14m 58s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/66cd4fd0ad9d43d8833456075f69f40a : SUCCESS in 17m 13s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/00f5332523a045d68e0973ebcc4d1480 : SUCCESS in 19m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/4ca58f9c70d643eb8fc99b8454f2c6a8 : SUCCESS in 6m 54s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/eb36ae992c5b4cc8b76c09d493c1760a : FAILURE in 8m 45s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d46c9ab9397949e8b23d36af5a41c722 : SUCCESS in 15m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f2b07364868b47ee8dc2ea2413a39052 : SUCCESS in 1h 02m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fe5441e1dd2c49a4984af58c6e7b6a0f : SUCCESS in 37m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c879e54c06bc490986f50479766ed13b : SUCCESS in 22m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/67374af3adbc47dfa816f7995062d899 : SUCCESS in 29m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b9828ac21e04ef682ef4765910cc35d : SUCCESS in 6m 21s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c556b0a27ae44600b6eae1930bbbc480 : SUCCESS in 20m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9aa178b348d0490c9d3c84a282c30b3d : SUCCESS in 1h 04m 22s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":2},{"id":"c75fc3505a0bd043dc18088e3d8b17a39e0ebcbe","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 21:53:13.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/10eb5f9f13da4d6ab0f70e94d6691613\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ec78c40031174782953452bcc09ccd92 : SUCCESS in 1h 22m 06s","accounts_in_message":[],"_revision_number":2},{"id":"cc8cc7db12699f5cbb6fee8c17b058a18b923d2c","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-07-30 11:30:09.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"564d7cd390ce6c1d915d86e70c4e193994205206","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 11:30:42.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b83b379ba46185c3bcbe9193134cc3be17db5e70","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 12:53:29.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2dfe8dae7b564b09a66b719177859b51\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b39e642dac643f98f2b02bcbb752149 : SUCCESS in 8m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/64f8ed00330c4d048c9eff46b70cb8b1 : SUCCESS in 8m 19s\n- grenade https://zuul.opendev.org/t/openstack/build/c62709b5098847809443f3bec1f0cd1c : SUCCESS in 47m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6c49835cd852469b939b561a3c7da41b : SUCCESS in 1h 05m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d0af560fc5f7426faed391f51c3f9f78 : SUCCESS in 51m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c49ea68d14da4e34a9dc14016c66c2b0 : SUCCESS in 39m 28s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/c6c73b05201e4252ba8c371699dcd409 : SUCCESS in 7m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/dd5ad2e82f984ca39b34d1596003b46a : SUCCESS in 17m 46s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/dcdeed18413947c5a2e343f3c2359bf5 : SUCCESS in 23m 23s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/30dd7a4f2c494357bbf6375cec6d6488 : SUCCESS in 31m 30s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d01c718c8941408dbbf2445432f070e9 : SUCCESS in 22m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/634f671b24e34e81800eff208e652dde : SUCCESS in 14m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4c7624fe6297450d9ea9ecd35102f170 : SUCCESS in 16m 16s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/308376338b2241c79b2a631f6c27f2d7 : SUCCESS in 16m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/66f6e0e6d6fb4ba9811f47c34a1baba1 : SUCCESS in 5m 40s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/12cef6ea1a554c2193f7971a1398fc28 : SUCCESS in 8m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b7f56a8cd3f54b6c9ffa007d3d8542f3 : SUCCESS in 54m 21s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0119e1607cca4df48ff5d2c15fa65dce : SUCCESS in 58m 00s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a037d334f53d455c9c5afda5386447a9 : SUCCESS in 27m 30s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0b183430518f485386330f5e1abd5110 : SUCCESS in 27m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/da57279aaee745a28dd7434aab490c01 : SUCCESS in 2m 57s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3d57d971d5b54fe6ab63a5f074c1c542 : SUCCESS in 18m 20s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/591ed14ff9204eea993c18ee05afc353 : SUCCESS in 56m 28s","accounts_in_message":[],"_revision_number":2},{"id":"4f18b6eeb89b54f9b478c3f7916020004240ea29","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 12:53:30.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"f8bfab07963fbc400fdaeb36c546395b224709aa","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 12:55:36.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3266ae0d4f024dab9c256a556eb9431b\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4875946453f0486ea2c18453f67353db : SUCCESS in 51s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/371828ca23c040049648067f004c969a : SUCCESS in 52s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ae4536e02c5dd73b30e2ef92599d99c6a723f7dd","revisions":{"91e278e99a5b3ddec8263ac7b37175d4e338c4fc":{"kind":"REWORK","_number":1,"created":"2026-07-29 10:19:51.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/80/999080/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/80/999080/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/80/999080/1"}}},"commit":{"parents":[{"commit":"318a19317fb0f6a0e39b033bd1b19f0087b6818d","subject":"versioning: refactor ObjectContext","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/318a19317fb0f6a0e39b033bd1b19f0087b6818d"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-07-29 09:07:34.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-07-29 10:19:37.000000000","tz":60},"subject":"versioning: refactor class methods to module functions","message":"versioning: refactor class methods to module functions\n\nPreviously the ObjectVersioningContext class had some helper methods\nfor building and parsing version container and object names. These\ncould be static methods. This patches moves those methods to be module\nfunctions, making them more easily available to other potential\ncallers.\n\nNote that \u0027ObjectVersioningContext._split_version_from_name\u0027, whose\nreturn tuple included the version as a Timestamp instance, is moved to\n\u0027parse_versions_object_name\u0027, whose return tuple includes the\nversion_id as a string i.e. the Timestamp.internal representation. The\nmotivations for this particular change are:\n\n- The function name is changed from \u0027split_...\u0027 to \u0027parse_...\u0027 because\n  it does more than split the object name; the function also inverts\n  the timestamp part of the split name to translate to the version_id.\n\n- The return type is changed because all callers of\n  _split_version_from_name previously used the Timestamp.internal\n  representation of the returned \u0027version\u0027. This change better\n  encapsulates use of Timestamp to translate between version_id and\n  version object names, and returns the value that callers actually\n  want.\n\n- The change of return type for the version part also means that the\n  interface now mirrors that of build_versions_object_name, which is\n  passed a version_id string.\n\nChange-Id: I5daf7b6bbf8ab02e9132df805c9d0fe5278c938e\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/91e278e99a5b3ddec8263ac7b37175d4e338c4fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/91e278e99a5b3ddec8263ac7b37175d4e338c4fc"}]},"branch":"refs/heads/master"},"ae4536e02c5dd73b30e2ef92599d99c6a723f7dd":{"kind":"REWORK","_number":2,"created":"2026-07-29 14:16:19.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/80/999080/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/80/999080/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/80/999080/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/80/999080/2"}}},"commit":{"parents":[{"commit":"b0f92bd978266f30c20cfc9b37c63f3df81a22a2","subject":"statsd: send None label values as an empty string","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b0f92bd978266f30c20cfc9b37c63f3df81a22a2"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-07-29 09:07:34.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-07-29 14:00:17.000000000","tz":60},"subject":"versioning: refactor class methods to module functions","message":"versioning: refactor class methods to module functions\n\nPreviously the ObjectVersioningContext class had some helper methods\nfor building and parsing version container and object names. These\ncould be static methods. This patches moves those methods to be module\nfunctions, making them more easily available to other potential\ncallers.\n\nNote that \u0027ObjectVersioningContext._split_version_from_name\u0027, whose\nreturn tuple included the version as a Timestamp instance, is moved to\n\u0027parse_versions_object_name\u0027, whose return tuple includes the\nversion_id as a string i.e. the Timestamp.internal representation. The\nmotivations for this particular change are:\n\n- The function name is changed from \u0027split_...\u0027 to \u0027parse_...\u0027 because\n  it does more than split the object name; the function also inverts\n  the timestamp part of the split name to translate to the version_id.\n\n- The return type is changed because all callers of\n  _split_version_from_name previously used the Timestamp.internal\n  representation of the returned \u0027version\u0027. This change better\n  encapsulates use of Timestamp to translate between version_id and\n  version object names, and returns the value that callers actually\n  want.\n\n- The change of return type for the version part also means that the\n  interface now mirrors that of build_versions_object_name, which is\n  passed a version_id string.\n\nChange-Id: I5daf7b6bbf8ab02e9132df805c9d0fe5278c938e\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/ae4536e02c5dd73b30e2ef92599d99c6a723f7dd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ae4536e02c5dd73b30e2ef92599d99c6a723f7dd"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
