)]}'
{"id":"openstack%2Fswift~957033","triplet_id":"openstack%2Fswift~feature%2Fmpu~If2cd7e4476a22a9e5e205244955b5286869e9072","project":"openstack/swift","branch":"feature/mpu","topic":"p-mpu-s3-compat-versioning","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2025-08-22 11:53:38.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}},"hashtags":[],"change_id":"If2cd7e4476a22a9e5e205244955b5286869e9072","subject":"WIP mpu: introduce s3-compat mode for object-versioning","status":"MERGED","created":"2025-08-11 17:12:07.000000000","updated":"2025-09-02 12:24:26.000000000","submitted":"2025-09-02 12:21:10.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"957033-p-mpu-s3-compat-versioning","meta_rev_id":"63c331de4a83c90cf001afcb3adc6f74dfad9767","_number":957033,"virtual_id_number":957033,"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":"2025-09-02 12:21:09.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":"2025-09-02 10:50:07.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":"2025-09-02 10:50:07.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":"2025-08-11 18:04:04.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":"9a1fd2715010dff945afffefd17cf5160d44f196","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-11 17:12:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"85f3f1407c640b5d4e59a0f641df66063002b491","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-11 18:04:04.000000000","message":"Patch Set 1: Verified-1\n\n(5 comments)\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/f2405840f532431495cc732cd053bcb6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/877f0dcd59de4ae9a8231f7046706de4 : SUCCESS in 9m 23s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/01456040badf40be8b9648341ce86b4f : FAILURE in 16m 02s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2dcb4b1a86db452c88ea000d670bcc1b : FAILURE in 24m 30s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f088cf46a81542ef84bb77d5fbca9fc2 : FAILURE in 17m 12s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4fa88bba62e843d693ec5b01f3c6ea2b : SUCCESS in 6m 49s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/0ab0a989526446618aafbf5b9016ec54 : FAILURE in 21m 57s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/9a00bdd6ad524c01beec8691b5509520 : FAILURE in 14m 25s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/695b838ce3bf4bf8b599314c74df7957 : FAILURE in 18m 36s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/bf58ef9da8b4482cbf01df72839cf2a3 : FAILURE in 30m 45s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/01aea6a6d2cb4e1ba12ec7cddc5f7b79 : FAILURE in 16m 36s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/08f851ee33e248c1a1a52083ac0b3033 : FAILURE in 17m 00s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2d68b24fd9c74269ac5b58ffbb009ce7 : FAILURE in 17m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ad96c9d92a084db68035e0caa58662a5 : SUCCESS in 6m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e5dcd8c222654e05bc6331183fbf74d1 : FAILURE in 18m 13s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3665362ef02e4c849127969a8c78934e : FAILURE in 8m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/e378421ff0834d26994dd7e6bc65537d : FAILURE in 49m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0658e30620594a488473d7f7a94f3fb5 : FAILURE in 21m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e15830a23c06476e85dc4c891e618150 : FAILURE in 2m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0ef5c2bb3a484391b9f778c25d7f16ba : SUCCESS in 8m 54s","accounts_in_message":[],"_revision_number":1},{"id":"3ad5a3f1e8e97a1e3b5a6845b37c47cff2f718f8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-11 19:04:00.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fa48222f0abc42149b5f2cd09f097799\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d1c4d96dad004400adb083c3f6b737af : FAILURE in 1h 47m 14s","accounts_in_message":[],"_revision_number":1},{"id":"50907b38abf4dfccacabd22f2b53f90955e8cc9e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-15 13:34:04.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"0258c572127a44624860e0d7d0b61fb7b12f2a04","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-15 14:23:06.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/4017bf550e6541aeac003ba5059f249e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/05467bdd4ca44a6cba4b459fae1ff1ee : SUCCESS in 5m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b37494c52f2f4f5ea293141fa3780fb5 : FAILURE in 12m 42s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cfa703305a4f4e3a8bc7cc372855f24b : FAILURE in 13m 01s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/80ee019773c6487f846515409ded0952 : FAILURE in 10m 45s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0d87de64933543fcb1f95079bd3d9f42 : SUCCESS in 3m 31s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/941749be70004ddaa8e51a4e19099f9f : SUCCESS in 10m 38s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/7ded5b1ffb54469baa7beb6e2a1779f7 : SUCCESS in 22m 29s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/c4cf9b3498304179857fcd7699bfc865 : SUCCESS in 24m 43s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6ea8e44860854eb6b7727db69ea83cbb : SUCCESS in 24m 35s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9ee3dd9dd3ef44fc81346ff6131480c3 : SUCCESS in 17m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/adcd8a1d6afe4886bfc8b490de30acc3 : SUCCESS in 9m 37s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9be5ce28bb434dd2aa44f74dff39f513 : SUCCESS in 8m 17s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/27d1812d804b4e26a4e5f69dc55c0098 : SUCCESS in 5m 38s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6422fcdb5adb40089304e911739553fb : FAILURE in 7m 37s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1cb1a137bd694c39a2e944f096afef6b : FAILURE in 10m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4c7f7d0f4c3e4ef488dcbfea66126a05 : SUCCESS in 39m 16s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/904a89dbe1ec41de8324ade62cafcece : SUCCESS in 22m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e416189d9e9d4c8699999f887d112bea : SUCCESS in 3m 16s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/dfa8c0fdbd81499ebd9cbe46502e5402 : SUCCESS in 11m 50s","accounts_in_message":[],"_revision_number":2},{"id":"66417ab8f5354f413177698e2b76685bfe060a48","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-15 17:15:04.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/69e58060efc245678328de1dadc1166b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9171755402474587a0db81c628a7f076 : SUCCESS in 1h 50m 53s","accounts_in_message":[],"_revision_number":2},{"id":"2db0f14b705468ef918c7597498cad1da54b4993","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-19 13:15:44.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"3cc0b04a77bd665aa1ff4269d355ed391108465b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 14:24:28.000000000","message":"Patch Set 3: 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/57ea4b7172ae41edb691dbbec67b71d2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3dae78af762e401dbb1c74832ad74c9a : SUCCESS in 6m 35s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fa805efb58514232a18a624cfd0a9d0d : FAILURE in 17m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb2ec1f81d0b43deb428662fbd387f8d : FAILURE in 11m 00s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c793e19256ed41f5a5e2752bcc3c843d : FAILURE in 17m 49s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2f91cff86c7b4319a94d769e7ec17b6b : SUCCESS in 5m 29s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/971621365c9b49b5acc562fe6d107289 : RETRY_LIMIT in 13s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/63d3297824d944a4a7f6a9365f4b4185 : FAILURE in 11m 06s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d80617d4f2004c62a9518096594e2184 : FAILURE in 10m 41s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b81819d52b7d4b55ab648cf68244ad9c : FAILURE in 26m 14s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/73b3060dc1f24982871527640f269afa : SUCCESS in 15m 37s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/60448625d20f4268b9cb5eded0ca6894 : SUCCESS in 10m 21s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ab9ee6101d7d4c1095d30ae5af0157df : SUCCESS in 16m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c53a74f4c904499885f802296e6422e5 : SUCCESS in 7m 17s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/18d3fe4b567c46ec86c0a303362d18ac : FAILURE in 14m 04s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/15bc7fdc909046099353bb3cfff64269 : SUCCESS in 10m 12s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/e24e414dd9c84a9bbb14ab1fac35233d : SUCCESS in 1h 07m 39s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/414ef933e124479aa4e46a6bdfbb8d81 : RETRY_LIMIT in 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b5a40498e1ab46febb2c0a69a11aa8c5 : SUCCESS in 4m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/121eb18d9c5a4fcbac94b86e89f953e0 : SUCCESS in 8m 34s","accounts_in_message":[],"_revision_number":3},{"id":"7d252a4aab56edcfd9ebbea7edcbaddedac4d8f1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-19 15:59:24.000000000","message":"Patch Set 3:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dcd0344180dc464a9542ad17b845cb1c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/0be8956fd4c9454288e706fad0c6d23b : FAILURE in 1h 25m 04s","accounts_in_message":[],"_revision_number":3},{"id":"f27ca04fc1d2ec27cba12c458c7700cd61a207c9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-21 15:30:03.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":4},{"id":"2effba17f4141cc3446552fba372245883bd474e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-21 16:33:29.000000000","message":"Patch Set 4: 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/b59e08acebb3485888c331aed86631d3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7aa93ccb1e054ef49692233739531044 : SUCCESS in 11m 08s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b72ff6668e5f4fb9aa5912f77b416533 : SUCCESS in 21m 20s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cceb8a4647e048b085855bb0f159c3d7 : SUCCESS in 21m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/38c2fccf61d5423bbe7810dc744cfba9 : SUCCESS in 21m 10s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a68bf59d2a9e4d6983c53dbd8d2a094d : SUCCESS in 5m 22s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b0bdbda8b33e4f5fa9003839251566e9 : FAILURE in 30m 25s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/71c2b062b37944bc942c10cccd35e509 : FAILURE in 21m 41s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/f8aface9cb0e46bfab38ee1702a53643 : FAILURE in 10m 45s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/e1aeb263d97a4354af610666e70039b5 : FAILURE in 31m 45s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/4a37a6b83a8f46b6889747de58d9feaa : SUCCESS in 9m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/308bd1fa09ba4ced8e5f9c8c120d06f5 : SUCCESS in 16m 34s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4ecd35e6aed3489c8c393e121630be27 : SUCCESS in 17m 21s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/398216bead7a40a79778059b0a0d13a0 : SUCCESS in 6m 34s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e2ec9203385c47268747f5ed7c835374 : FAILURE in 16m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/17c8a49d404b4cc6b7f698980bbd15fa : SUCCESS in 9m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9182616e271740aa900c448ea57f75bf : SUCCESS in 58m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/629c7e373d1a4bfabc5b9d617521db0e : FAILURE in 28m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/806755763d1d4825a0a7478a46935f46 : SUCCESS in 4m 39s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6cccc17cbe3f4792b30e0e25aa997263 : SUCCESS in 19m 11s","accounts_in_message":[],"_revision_number":4},{"id":"a65a494bbdc8d1f6d9df0c2e1847350a07eed61d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-21 19:14:43.000000000","message":"Patch Set 4:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e03b172b338047558a2fa7dc9dc3acb1\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b1b3295cf47e4b1faae751a9bc515c56 : FAILURE in 1h 33m 20s","accounts_in_message":[],"_revision_number":4},{"id":"d612b198835d0b5fdc0dffbf07fa88c37e1bd013","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-22 11:45:49.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":5},{"id":"1abf1466432a2f529ac5668c1bf768c89268fc43","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-08-22 11:53:38.000000000","message":"Patch Set 5:\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"7df9137b420b716b55641f2a072dc8e5e5ae8f57","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-22 12:45:19.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7269abf2ef9e4f66b28a33101e8f8aa0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2a7bbf73199e4226acc93ea620d575da : SUCCESS in 9m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d15e094b395947f483de27ef23fdca75 : SUCCESS in 19m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/de0bf4456b1a468b809f5b7b49a0125e : SUCCESS in 21m 16s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/58e1918173364e4c8a1f9262e4436302 : SUCCESS in 19m 18s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2a67f409cd6e41cdbb08735b9cbc4b0b : SUCCESS in 5m 22s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a0dbd8618a1841c99832d8869831d9ba : SUCCESS in 22m 55s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/fa0ec75e7be54456af7ff4df9766044f : SUCCESS in 20m 01s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d679c171919046c4b82736979c98ff51 : SUCCESS in 28m 35s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/927441a108ac44378f66f9ad33e774aa : SUCCESS in 29m 36s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/b710fa106c2b466a8014b95ed425bbc5 : SUCCESS in 16m 27s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/27213b3f5acb414ab7f88cf2eb344f38 : SUCCESS in 14m 59s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/5afd60c39e7b404584dc8169c0426369 : SUCCESS in 17m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c4b6c2aedca844c8a4fab40eb98c07d5 : SUCCESS in 5m 49s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/073f2e84e0224b71903e0a244d66fab1 : FAILURE in 15m 19s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2cb5011a7add48798f2136e855aee542 : SUCCESS in 8m 16s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/7b5a7799cdbb4a53aa66f4b486ddfb4f : SUCCESS in 54m 56s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c33341a1bff14cde966524108520edc7 : SUCCESS in 32m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1cc84a0970564193860f1af108e2d8b0 : SUCCESS in 4m 30s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a866c969ba024dcdb556be7c63413957 : SUCCESS in 18m 27s","accounts_in_message":[],"_revision_number":5},{"id":"23f3ac0adbdae4549f6963f240b6265e26aa1353","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-22 13:54:38.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/76e1df7c0c84452ba67e6607d54ae1b3\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ab86120151514abb9051213b50af4c04 : SUCCESS in 1h 41m 28s","accounts_in_message":[],"_revision_number":5},{"id":"1567030004adafa455dec41591cccf81790f7dc2","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-02 10:50:01.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"4b1777ddb3b168f00b1a99c0725f9b54616b1f9b","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-09-02 10:50:07.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"36ae781a39cefe398aadc192adbb45519c084e88","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-02 10:50:32.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"c19a49fb557dd3f4e54bae4cebbfa256b4bad4f4","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-02 12:21:09.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9f51ad73df7245dd835aa94092b6fe7b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fbd5665c7745478f92c26e6335ba5865 : SUCCESS in 11m 09s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/07eaf9fa928c4958ab7b673c4b5f6aff : POST_FAILURE in 6m 51s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4d499885d8d9487aaa4306e5aa11e675 : SUCCESS in 21m 57s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/23f817aec1bb4ecbbda217d33b567fc9 : SUCCESS in 8m 04s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d4e779c2af854716a9da08ba15652af1 : SUCCESS in 31m 26s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/077ff6e4e3534304a6bbbf0b1a2684d6 : SUCCESS in 21m 08s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ad345db1569341fa8c4c2b15f572d9fc : SUCCESS in 16m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/80075b9800d14a3995b54e95d3391729 : SUCCESS in 8m 25s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/785e91ea79f74fc2a49e31c3ee62c91d : SUCCESS in 16m 29s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e7bb7a5cdaf5412fa44ed900059efef0 : SUCCESS in 6m 46s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ffc8aafef774447faede04c9c131267c : SUCCESS in 8m 30s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ee38d718cc494d49aa108005c2fd3f2e : SUCCESS in 46m 45s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a6a898212c844680b5fa98ff052cab1d : SUCCESS in 21m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f6e4de94845543b2b5ab998c6964c8ff : SUCCESS in 4m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9660412412f6445e97ee1668b7669095 : SUCCESS in 8m 45s","accounts_in_message":[],"_revision_number":5},{"id":"b49c1433971eea2c5fbb57f6da1e848297d663dd","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-02 12:21:10.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"63c331de4a83c90cf001afcb3adc6f74dfad9767","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-02 12:24:26.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3b27ad49dd73431d85f2d4400c859cb6\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/da59a9d8d61e4694844c89f5f69773d8 : SUCCESS in 3m 05s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/d5188661dd354161b1de5c22d9bd7c60 : SUCCESS in 38s (non-voting)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"d615069b04084d6a4e5c92a3743fb12b4b78786b","revisions":{"593bfc2b32d754685f31ee33d66cfe2e98b6963b":{"kind":"REWORK","_number":1,"created":"2025-08-11 17:12:07.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/33/957033/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/957033/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/957033/1"}}},"commit":{"parents":[{"commit":"aae329dcd323844b70e4a6dc6fcc13c6177d4c50","subject":"WIP s3 compat test: null version behavior","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aae329dcd323844b70e4a6dc6fcc13c6177d4c50"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-11 17:07:25.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-11 17:07:25.000000000","tz":60},"subject":"WIP mpu: there\u0027s only ever one \u0027null\u0027 version","message":"WIP mpu: there\u0027s only ever one \u0027null\u0027 version\n\nTODO:\n- cleanup lots of cruft : this is a spike!\n- some compat tests still failing w.r.t. mpu - investigate\n\nspike to modify object-versioning so it only keeps one \u0027null\u0027 version:\n\n- null versions are names \\x00\u003cobj name\u003e\\x00null in the versions container.\n- null versions are copied to the versions container using their original\n  data timestamp.\n- null versions are woven into the versions listing based on their\n  last_modified time\n- once versioning has been enabled, but suspended, null versions continue\n  to be written to the versions container and symlinked.\n\nChange-Id: If2cd7e4476a22a9e5e205244955b5286869e9072\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/593bfc2b32d754685f31ee33d66cfe2e98b6963b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/593bfc2b32d754685f31ee33d66cfe2e98b6963b"}]},"branch":"refs/heads/feature/mpu"},"a479551fce8ddbf7c02364bb2c11d704767bddb4":{"kind":"REWORK","_number":2,"created":"2025-08-15 13:34:04.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/33/957033/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/957033/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/957033/2"}}},"commit":{"parents":[{"commit":"71480ee675544d6157e6c52f05684d72d439ce01","subject":"mpu: refactor object-versioning part 2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/71480ee675544d6157e6c52f05684d72d439ce01"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-22 17:26:32.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-15 13:32:46.000000000","tz":60},"subject":"WIP mpu: introduce s3-compat mode for object-versioning","message":"WIP mpu: introduce s3-compat mode for object-versioning\n\nTODO:\n- cleanup lots of cruft : this is a spike!\n- more tests\n\nspike to modify object-versioning to be s3-compatible it only keeps one \u0027null\u0027 version:\n\n- containers created via s3api have \u0027s3-compat\u0027 sysmeta flag\n- object-versioning has new s3-compat mode for these containers:\n- null versions are names \\x00\u003cobj name\u003e\\x00null in the versions container.\n- null versions are copied to the versions container using their original\n  data timestamp.\n- null versions are woven into the versions listing based on their\n  last_modified time (this needs improving)\n- once versioning has been enabled, but suspended, null versions continue\n  to be written to the versions container and symlinked.\n\nAdd an s3api compatibility test to verify that only one null version\nis ever retained. A PUT while versioning is suspended will replace any\nprevious null version. Also verify behavior of DELETE?versionId\u003d\u003cnull\u003e\nrequests.\n\nChange-Id: If2cd7e4476a22a9e5e205244955b5286869e9072\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/a479551fce8ddbf7c02364bb2c11d704767bddb4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a479551fce8ddbf7c02364bb2c11d704767bddb4"}]},"branch":"refs/heads/feature/mpu"},"c73f635cc71cfb0b132fff11e12a3d6074058a75":{"kind":"REWORK","_number":3,"created":"2025-08-19 13:15:44.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/33/957033/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/957033/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/957033/3"}}},"commit":{"parents":[{"commit":"35060c40f5de744a2314f727c4b61127ca8f8a17","subject":"mpu: refactor object-versioning part 2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/35060c40f5de744a2314f727c4b61127ca8f8a17"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-22 17:26:32.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-19 13:15:31.000000000","tz":60},"subject":"WIP mpu: introduce s3-compat mode for object-versioning","message":"WIP mpu: introduce s3-compat mode for object-versioning\n\nTODO:\n- add unit tests for s3-compat mode\n- add swift API func tests for s3-compat mode\n- test backwards compatibility with existing non-s3-compat versions\n  containers\n- make null version insertion in listing scale to mutli-page listings\n\nAdd an s3-compatible mode to object versioning such that it only keeps one\n\u0027null\u0027 version:\n\n- containers created via s3api have \u0027s3-compatible-versions\u0027 sysmeta flag\n- object-versioning has new s3-compat mode for these containers:\n- null versions are names \\x00\u003cobj name\u003e\\x00null in the versions container.\n- null versions are copied to the versions container using their original\n  data timestamp.\n- null versions are woven into the versions listing based on their\n  last_modified time (this needs improving)\n- once versioning has been enabled, but suspended, null versions continue\n  to be written to the versions container and symlinked.\n\nAdd an s3api compatibility test to verify that only one null version\nis ever retained. A PUT while versioning is suspended will replace any\nprevious null version. Also verify behavior of DELETE?versionId\u003d\u003cnull\u003e\nrequests.\n\nChange-Id: If2cd7e4476a22a9e5e205244955b5286869e9072\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/c73f635cc71cfb0b132fff11e12a3d6074058a75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c73f635cc71cfb0b132fff11e12a3d6074058a75"}]},"branch":"refs/heads/feature/mpu"},"5c1bcd488c81e55f075822938bb8daeb1ea658d7":{"kind":"REWORK","_number":4,"created":"2025-08-21 15:30:03.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/33/957033/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/957033/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/957033/4"}}},"commit":{"parents":[{"commit":"c5773a10c99bc45f23448dd9d4da8be6e04d9254","subject":"mpu: refactor object-versioning part 2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c5773a10c99bc45f23448dd9d4da8be6e04d9254"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-22 17:26:32.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-21 15:29:52.000000000","tz":60},"subject":"WIP mpu: introduce s3-compat mode for object-versioning","message":"WIP mpu: introduce s3-compat mode for object-versioning\n\nTODO:\n- add unit tests for s3-compat mode\n- add swift API func tests for s3-compat mode\n- test backwards compatibility with existing non-s3-compat versions\n  containers\n- make null version insertion in listing scale to mutli-page listings\n\nAdd an s3-compatible mode to object versioning such that it only keeps one\n\u0027null\u0027 version:\n\n- containers created via s3api have \u0027s3-compatible-versions\u0027 sysmeta flag\n- object-versioning has new s3-compat mode for these containers:\n- null versions are names \\x00\u003cobj name\u003e\\x00null in the versions container.\n- null versions are copied to the versions container using their original\n  data timestamp.\n- null versions are woven into the versions listing based on their\n  last_modified time (this needs improving)\n- once versioning has been enabled, but suspended, null versions continue\n  to be written to the versions container and symlinked.\n\nAdd an s3api compatibility test to verify that only one null version\nis ever retained. A PUT while versioning is suspended will replace any\nprevious null version. Also verify behavior of DELETE?versionId\u003d\u003cnull\u003e\nrequests.\n\nChange-Id: If2cd7e4476a22a9e5e205244955b5286869e9072\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/5c1bcd488c81e55f075822938bb8daeb1ea658d7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5c1bcd488c81e55f075822938bb8daeb1ea658d7"}]},"branch":"refs/heads/feature/mpu"},"d615069b04084d6a4e5c92a3743fb12b4b78786b":{"kind":"REWORK","_number":5,"created":"2025-08-22 11:45:49.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/33/957033/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/957033/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/957033/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/957033/5"}}},"commit":{"parents":[{"commit":"c5773a10c99bc45f23448dd9d4da8be6e04d9254","subject":"mpu: refactor object-versioning part 2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c5773a10c99bc45f23448dd9d4da8be6e04d9254"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-22 17:26:32.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-08-22 11:45:36.000000000","tz":60},"subject":"WIP mpu: introduce s3-compat mode for object-versioning","message":"WIP mpu: introduce s3-compat mode for object-versioning\n\nTODO:\n- add unit tests for s3-compat mode\n- add swift API func tests for s3-compat mode\n- test backwards compatibility with existing non-s3-compat versions\n  containers\n- make null version insertion in listing scale to mutli-page listings\n\nAdd an s3-compatible mode to object versioning such that it only keeps one\n\u0027null\u0027 version:\n\n- containers created via s3api have \u0027s3-compatible-versions\u0027 sysmeta flag\n- object-versioning has new s3-compat mode for these containers:\n- null versions are names \\x00\u003cobj name\u003e\\x00null in the versions container.\n- null versions are copied to the versions container using their original\n  data timestamp.\n- null versions are woven into the versions listing based on their\n  last_modified time (this needs improving)\n- once versioning has been enabled, but suspended, null versions continue\n  to be written to the versions container and symlinked.\n\nAdd an s3api compatibility test to verify that only one null version\nis ever retained. A PUT while versioning is suspended will replace any\nprevious null version. Also verify behavior of DELETE?versionId\u003d\u003cnull\u003e\nrequests.\n\nChange-Id: If2cd7e4476a22a9e5e205244955b5286869e9072\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/d615069b04084d6a4e5c92a3743fb12b4b78786b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d615069b04084d6a4e5c92a3743fb12b4b78786b"}]},"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":{}}},{"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":{}}}]}
