)]}'
{"id":"openstack%2Fswift~999615","triplet_id":"openstack%2Fswift~feature%2Fmpu~I6b634cc8bfa3233632921bbeb7e550024fd15cd2","project":"openstack/swift","branch":"feature/mpu","topic":"p-mpu-head-versions","hashtags":[],"change_id":"I6b634cc8bfa3233632921bbeb7e550024fd15cd2","subject":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources","status":"MERGED","created":"2026-08-03 14:02:05.000000000","updated":"2026-08-04 10:17:52.000000000","submitted":"2026-08-04 10:16:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"999615-p-mpu-head-versions","meta_rev_id":"8a84c5cb49b77f14b41f51921b5ffd9bb6c26f65","_number":999615,"virtual_id_number":999615,"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-04 10:16:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":2,"date":"2026-08-04 07:54:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":1,"date":"2026-08-04 07:54:47.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-03 15:06:21.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"}],"messages":[{"id":"fbc534e9af45d1f9c87c7c0d0ce9c51212cd2246","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-03 14:02:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7a4257e127b4753fce853ff4af0fb2f1e5b82e38","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 15:06:21.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9dc88d4d6fa54c049839c525ecc57737\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/4775ad158eed4bc0afbc39dbb9d17a1a : SUCCESS in 3m 13s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d5b8a97e37ca465d9d51391546d54e07 : SUCCESS in 6m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/addc3c17a4ab470aa86ced48a0d66f7b : SUCCESS in 8m 56s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bf1578734cb840fc81f8a62ba865d545 : SUCCESS in 16m 59s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/71e13980684340819c6827854ae08c6d : SUCCESS in 16m 00s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/42e4dcbb406945839b0f3f98763c658b : SUCCESS in 23m 41s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2bf9e1b9138e4896a9cd570ef8ffb662 : SUCCESS in 7m 16s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/3dbc1442b11b4a6184fc0015b72656e5 : SUCCESS in 26m 18s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8ca92602017e4d52971ca55c918119b6 : SUCCESS in 22m 47s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/828400ddc44f43fe8f2a2672d3e6be95 : SUCCESS in 35m 40s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/21fcac52ef1d45119e7ffb7241b5d4ea : SUCCESS in 23m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/3ad4f973a36c4d1c934fe329ff892e4e : SUCCESS in 9m 38s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/05bfa9260f36446795998f3331d82e84 : SUCCESS in 16m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/89c8cedf690143b7927fd85d8498c926 : SUCCESS in 16m 28s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/22b4e60ede65446db35ea283011c8d10 : SUCCESS in 14m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/56201e0853b54579835d12595748e918 : SUCCESS in 6m 46s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e603d4a6ce134c8a9924b9a4f881cc29 : FAILURE in 8m 37s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/66da60d8dc6544b395fcdd9926632211 : SUCCESS in 10m 46s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/e3a8b1f65132412b8a0566512b247204 : SUCCESS in 54m 11s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2110c56249a64d71996a82d073786861 : SUCCESS in 23m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/791a677c2f1b45a2bc9356c2fbc80e7f : SUCCESS in 3m 02s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ebaa4dc4c6a943908e97f44d5fe63b71 : SUCCESS in 15m 56s\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":1},{"id":"ac9a88d412b8d022c11df2b8678493930d250719","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 16:29:20.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fb8144de6eaf4b47b6ba61f1a964b44c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/37484a69e741496bac649f705a5cd8f5 : SUCCESS in 1h 20m 05s","accounts_in_message":[],"_revision_number":1},{"id":"fb095c52798805e0183e19f38a03fe4155ab7395","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-04 07:52:03.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"0aeb1fc7804432542f0c40e4dca67ada4859422f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-04 07:54:29.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"1ab0a27d8f324312182024d5f7b89b93c209efe5","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-04 07:54:47.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"4a9657bda80aae90d5f4df4d16ce797cb2a40b83","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 08:41:11.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/305392f9c68b4af8af19f51e05cc8632\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1725ebdc92424adf981f675f29d42b91 : SUCCESS in 46m 20s","accounts_in_message":[],"_revision_number":3},{"id":"5aa2ab9e68a9e61cd02d2e3f2f9388a2a8b1d742","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 09:05:29.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2d32e2932e054c3cbf7a3d8397015f4b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/329af9344340441db68e8f136335b46f : SUCCESS in 3m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6d21d6d13a6f4ab1af065dabbf34b8e6 : SUCCESS in 11m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d19befa691a44a1a0c89de0ede0e450 : SUCCESS in 9m 02s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/778759c0fa9e4d9ba7f0ad2aad9babfa : SUCCESS in 29m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7bf29bbb831c45d388d8f4c5617d333c : SUCCESS in 21m 02s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/948c2a022e75421e8e21ed502f9644df : SUCCESS in 20m 34s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e5591289edf14ad48e80ac3543f0f76b : SUCCESS in 6m 54s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7aa6d8c0650b4dd6a902f8c48ef1f35b : SUCCESS in 25m 27s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8b39725d469749108358f884fbd55c8a : SUCCESS in 26m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/8f377c9a012746d6a47c7a87cebe4000 : SUCCESS in 34m 12s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/cecfb7c52976477581dec5534d7563a7 : SUCCESS in 21m 05s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8819f1aa8a964319837185809b807d51 : SUCCESS in 16m 40s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/91700e6d869744008eae5bc4ab859d0c : SUCCESS in 14m 58s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/c3e4861b3fa0433fa65298dcd0d6f6dc : SUCCESS in 19m 42s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d4202990931044e7bbc583f0fc123a93 : SUCCESS in 23m 39s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/18c6b040d61f439283856db91dd76e11 : SUCCESS in 6m 40s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/09af7b1f21dd4906ae969dddfb860852 : FAILURE in 7m 35s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/9767d67415cc4a269166234cba24f37c : SUCCESS in 11m 33s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/6af79dfde3a249479c07006bcdb5662e : SUCCESS in 1h 01m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b87b4851f7144b0cbfaa985a1d790a57 : SUCCESS in 29m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a80d83af4ac54ab8b4e8c849751048b2 : SUCCESS in 4m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/19af4c4bf12a47ec88daf677674ad1be : SUCCESS in 27m 07s\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-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":3},{"id":"20e3a38301138da9baefff7c0476ef4e51e52665","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 09:07:13.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"3faad0cfc757a9afb8a513f231fabd0366a6ed69","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 10:16:31.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55322e49e3b14961aa259667e86d3680\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/26041d67fd1e46f98422e58adfb206e8 : SUCCESS in 4m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/118d80e92b9843f1aebb13184535bb89 : SUCCESS in 10m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bbaab6531f33451eaccd3038153093ed : SUCCESS in 9m 32s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/aa49a25f996c4140bc78310c2f12dd10 : SUCCESS in 7m 00s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e63ff052f85d47309e5af794df7a29c1 : SUCCESS in 11m 13s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/65d6a5549aaf4adf9efca3c0597c97fc : SUCCESS in 25m 09s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/211068f132984f919bb6729187d135b2 : SUCCESS in 26m 24s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/4243d946e16c4147920fe941ae60b9a2 : SUCCESS in 27m 04s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/14c1c856fe3346828cd4e447a8801fda : SUCCESS in 8m 28s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c8a78dcd0c1541d788af5075722324e0 : SUCCESS in 12m 32s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b3529d9af6814d6d9ea4c09d4ef3a24d : SUCCESS in 17m 50s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8f5a5a11f47740f78989dfa92ef7d2a2 : SUCCESS in 6m 33s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e366549c411849a9bda27a3a3524a7da : SUCCESS in 9m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/40ea2923db594c77afa06d3fe61fc6c2 : SUCCESS in 1h 07m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c675d7a0cf4447bfb266eaad4bbcda68 : SUCCESS in 11m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a6650714c98b4843b783cc8f9ca27d07 : SUCCESS in 4m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a02993f797a646779df2258794c749a9 : SUCCESS in 22m 03s","accounts_in_message":[],"_revision_number":3},{"id":"3a27c4cf86e05b98e5c839af55cb17d8bd53419d","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 10:16:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"8a84c5cb49b77f14b41f51921b5ffd9bb6c26f65","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 10:17:52.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cc88c916cd7b41db9f322b298ac3ae19\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5cb37d0ae312437b8ccccf34b7781912 : SUCCESS in 1m 00s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/ce235bdbea4b4567a58b33ae87fd1e27 : SUCCESS in 48s (non-voting)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"a4bb547e3faa257a5411f40d1349150160ca0ab3","revisions":{"7c5bc5be4de3105c066dc751b3e8d3baa46d9f2a":{"kind":"REWORK","_number":1,"created":"2026-08-03 14:02:05.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/999615/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/15/999615/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/15/999615/1"}}},"commit":{"parents":[{"commit":"b2985cbef5bf7b6fcd6a82d0751c6e9fd940fddc","subject":"mpu: make make_mpu_internal_client public","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b2985cbef5bf7b6fcd6a82d0751c6e9fd940fddc"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-03 13:20:25.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-03 14:01:45.000000000","tz":60},"subject":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources","message":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources\n\nAdd a swift-mpu-tool command, installed as a console script, that uses\nan InternalClient to work with MPU resources for a given account and\ncontainer. The tool has three subcommands:\n\n  info      Groups MPU resources by user object name and then by upload\n            id, since a single object may have more than one concurrent\n            upload. For each object it also HEADs the user object\n            (sending X-Backend-Include-Mpu-Sysmeta: true) to find the\n            completed manifest and attach it to the matching upload id.\n            An optional object argument restricts the search to a single\n            object using the listing marker/end_marker, and --limit caps\n            the number of objects searched. By default the raw listing\n            fields are emitted as JSON; --summary produces a compact\n            plain-text report with per-upload part counts.\n\n  list      Lists either the hidden parts container or the hidden\n            sessions container for a given account and container,\n            printing each item one per line as name and content-type\n            with no interpretation or grouping.\n\n  make      Creates a test MPU object via three API calls: POST ?uploads\n            to create a session, PUT a single 5 MB part, then POST with\n            a manifest to complete. Creates the container first if it\n            does not exist.\n\nAssisted-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nChange-Id: I6b634cc8bfa3233632921bbeb7e550024fd15cd2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7c5bc5be4de3105c066dc751b3e8d3baa46d9f2a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7c5bc5be4de3105c066dc751b3e8d3baa46d9f2a"}]},"branch":"refs/heads/feature/mpu"},"15d82bbc2f477ce374f1ea73d11c1e30095807fe":{"kind":"REWORK","_number":2,"created":"2026-08-04 07:52:03.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/999615/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/15/999615/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/15/999615/2"}}},"commit":{"parents":[{"commit":"5d7caaef31a60404a8fc82c3fa4b124f24f248ef","subject":"mpu: make make_mpu_internal_client public","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5d7caaef31a60404a8fc82c3fa4b124f24f248ef"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-03 13:20:25.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-04 07:48:51.000000000","tz":60},"subject":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources","message":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources\n\nAdd a swift-mpu-tool command, installed as a console script, that uses\nan InternalClient to work with MPU resources for a given account and\ncontainer. The tool has three subcommands:\n\n  info      Groups MPU resources by user object name and then by upload\n            id, since a single object may have more than one concurrent\n            upload. For each object it also HEADs the user object\n            (sending X-Backend-Include-Mpu-Sysmeta: true) to find the\n            completed manifest and attach it to the matching upload id.\n            An optional object argument restricts the search to a single\n            object using the listing marker/end_marker, and --limit caps\n            the number of objects searched. By default the raw listing\n            fields are emitted as JSON; --summary produces a compact\n            plain-text report with per-upload part counts.\n\n  list      Lists either the hidden parts container or the hidden\n            sessions container for a given account and container,\n            printing each item one per line as name and content-type\n            with no interpretation or grouping.\n\n  make      Creates a test MPU object via three API calls: POST ?uploads\n            to create a session, PUT a single 5 MB part, then POST with\n            a manifest to complete. Creates the container first if it\n            does not exist.\n\nAssisted-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nChange-Id: I6b634cc8bfa3233632921bbeb7e550024fd15cd2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/15d82bbc2f477ce374f1ea73d11c1e30095807fe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/15d82bbc2f477ce374f1ea73d11c1e30095807fe"}]},"branch":"refs/heads/feature/mpu"},"a4bb547e3faa257a5411f40d1349150160ca0ab3":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-08-04 07:54:29.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/999615/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/15/999615/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/15/999615/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/15/999615/3"}}},"commit":{"parents":[{"commit":"c1b9f39231aa6fafc61aec4859a21b86d00982ac","subject":"mpu: allow internal client to GET/HEAD sysmeta","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c1b9f39231aa6fafc61aec4859a21b86d00982ac"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-03 13:20:25.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-04 07:54:18.000000000","tz":60},"subject":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources","message":"mpu: add swift-mpu-tool CLI to inspect and create MPU resources\n\nAdd a swift-mpu-tool command, installed as a console script, that uses\nan InternalClient to work with MPU resources for a given account and\ncontainer. The tool has three subcommands:\n\n  info      Groups MPU resources by user object name and then by upload\n            id, since a single object may have more than one concurrent\n            upload. For each object it also HEADs the user object\n            (sending X-Backend-Include-Mpu-Sysmeta: true) to find the\n            completed manifest and attach it to the matching upload id.\n            An optional object argument restricts the search to a single\n            object using the listing marker/end_marker, and --limit caps\n            the number of objects searched. By default the raw listing\n            fields are emitted as JSON; --summary produces a compact\n            plain-text report with per-upload part counts.\n\n  list      Lists either the hidden parts container or the hidden\n            sessions container for a given account and container,\n            printing each item one per line as name and content-type\n            with no interpretation or grouping.\n\n  make      Creates a test MPU object via three API calls: POST ?uploads\n            to create a session, PUT a single 5 MB part, then POST with\n            a manifest to complete. Creates the container first if it\n            does not exist.\n\nAssisted-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nChange-Id: I6b634cc8bfa3233632921bbeb7e550024fd15cd2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a4bb547e3faa257a5411f40d1349150160ca0ab3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a4bb547e3faa257a5411f40d1349150160ca0ab3"}]},"branch":"refs/heads/feature/mpu"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
