)]}'
{"id":"openstack%2Fswift~985096","triplet_id":"openstack%2Fswift~master~I6b1caa3915fba8862ea141851cd339b32dbee963","project":"openstack/swift","branch":"master","topic":"whalbawi.relinker-consec-suff","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-04-20 19:47:21.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I6b1caa3915fba8862ea141851cd339b32dbee963","subject":"test_relinker: simplify helper methods","status":"MERGED","created":"2026-04-17 12:28:58.000000000","updated":"2026-04-20 19:48:26.000000000","submitted":"2026-04-20 19:47:21.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":8,"unresolved_comment_count":6,"has_review_started":true,"submission_id":"985096-whalbawi.relinker-consec-suff","meta_rev_id":"7443e71ff9288abd8b3bfa3a44f09cee035e58c8","_number":985096,"virtual_id_number":985096,"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-20 19:47:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"}],"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":2,"date":"2026-04-20 18:53:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-20 16:06:02.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"}],"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":1,"date":"2026-04-20 18:53:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-17 12:59:09.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":"CC"},{"updated":"2026-04-17 13:29:44.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-04-20 16:06:02.000000000","updated_by":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"reviewer":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"state":"REVIEWER"},{"updated":"2026-04-20 18:53:57.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"}],"messages":[{"id":"de026dd033df88adb476932fd2a886d351853a17","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-04-17 12:28:58.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8f361cb8503240b82c995278410976be3e349de8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 12:59:09.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bf3a6fdeaf8c49978f07738e086ef73e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/726aea9cda7d46cab2169368efe69eea : SUCCESS in 28m 49s","accounts_in_message":[],"_revision_number":1},{"id":"8725fe4f7da3d7ddd6e2ed21f6906c33e52a48f0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 13:29:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c0cf0bcc17be47fa9f5aed89004ce86a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5dbcb6ce92614f6ead6226bc79119c77 : SUCCESS in 10m 34s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c7f01100e401413d88b68cbd412d6877 : SUCCESS in 22m 09s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/43389ae5724a4b7f805e8d7eeaa3331f : SUCCESS in 20m 03s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/08f90d4ca9bc42369603db4fd852e9ec : SUCCESS in 20m 28s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4ed27b303f2742e3b157fb63fc1d533d : SUCCESS in 6m 34s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e8755de623fb489d81c4fd6dcc0cbedd : SUCCESS in 27m 05s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ed8147a5932741f28f92d8383c6707aa : SUCCESS in 14m 27s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4160685e0e764a11a9303d0416c6dc93 : SUCCESS in 24m 45s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6f69aaa23a2b45feadb9024d36cb5ab4 : SUCCESS in 14m 05s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/b607d57cbe3d47bda70fc832fec4bf57 : SUCCESS in 15m 47s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/544e05e38838491d8780cc5f341240a4 : SUCCESS in 15m 58s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/363b60026cbd4f3e8c10c476eebeeb05 : SUCCESS in 8m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e10a5cf9ffaf4f02aa59786efd4853ae : SUCCESS in 54m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1202d386cb3f46c3b99457b59717d4d4 : SUCCESS in 52m 09s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5c3240fbe7734bd68cefc264b57dcdb6 : SUCCESS in 11m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/19299ae1ac1d411cb985008f6bf5e267 : SUCCESS in 4m 12s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6d18b70b2dfe4225bc323f90daefda35 : SUCCESS in 19m 10s","accounts_in_message":[],"_revision_number":1},{"id":"bc3eb9309fa07c6feaffbc4b3516ceb6ef557dff","author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"date":"2026-04-20 16:06:02.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"51c6f83e55339d275030597ad8283269aad19020","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-04-20 18:53:57.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(7 comments)","accounts_in_message":[],"_revision_number":1},{"id":"5b8cc34e97cb57680f2615112dc1d23cb31cd840","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 18:54:15.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"94cedb284b72dd0de31c4aed77e87b19cf75d3c1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 19:47:21.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f5473e55e13e49329464b67d2eef74fe\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/471aad17845f4f388f21af60064fcdd0 : SUCCESS in 6m 32s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/9d497435b4c84386a1dc44916f3b9036 : SUCCESS in 7m 08s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/0ea34664fe7e43f194c54318ef0b1bbf : SUCCESS in 22m 18s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c67fb89d720d45fbad9a4ba73567d549 : SUCCESS in 20m 37s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/94c28453f5274c6994ac97dd156b5004 : SUCCESS in 30m 38s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f3d9d801ac7444098e8d5e49cf7a4810 : SUCCESS in 20m 01s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/b9958a9b1c0c4403891bcb169691ceb2 : SUCCESS in 14m 35s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/adaa6c1250e748d49a623a9861b6328d : SUCCESS in 15m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/53b7610180f74f81ac7e69453c3ef740 : SUCCESS in 15m 52s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b26e4af4ebe1446a8cfce9b928ea31e0 : SUCCESS in 6m 24s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/991c00f57e0f436090788872ae179705 : SUCCESS in 11m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a8e2ab82a7034229bf1d179a5858bcb6 : SUCCESS in 28m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/52799245627f464fbc73d6afa3cb53f9 : SUCCESS in 51m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/abb0a184b4a8440e99271823997d6bf0 : SUCCESS in 10m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3160e167033d42938949bdf4c50e7b08 : SUCCESS in 4m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c3d0b51d498c49faaf7ea03097fa90f9 : SUCCESS in 9m 19s","accounts_in_message":[],"_revision_number":1},{"id":"3100eb1709f74bdc51a9b979cc856b7dead09e65","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 19:47:21.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"7443e71ff9288abd8b3bfa3a44f09cee035e58c8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 19:48:26.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1d2aa25ee3f246a797a282e973799d60\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/83b3b80c8d9941cc9604522e4497ade3 : SUCCESS in 45s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/57322acbc4ca451793d06269f97afae6 : SUCCESS in 48s (non-voting)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0ab7285d14deccfa1a9bc0e86a4187536286cec0","revisions":{"0ab7285d14deccfa1a9bc0e86a4187536286cec0":{"kind":"REWORK","_number":1,"created":"2026-04-17 12:28:58.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/96/985096/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/96/985096/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/96/985096/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/96/985096/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/96/985096/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/96/985096/1"}}},"commit":{"parents":[{"commit":"ee4237795d7eb3414e32f4209b0376af9749788e","subject":"relinker: Test cleaning up consecutive hashes in same suffix directory","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ee4237795d7eb3414e32f4209b0376af9749788e"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-17 12:24:22.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-04-17 12:24:22.000000000","tz":60},"subject":"test_relinker: simplify helper methods","message":"test_relinker: simplify helper methods\n\nPreviously, removing and re-creating a policy\u0027s objects dir was a side\neffect of _create_object that was sometimes disabled by an optional\nargment. This patch moves the objects dir re-creation to a separate\n\u0027_recreate_objects_dir\u0027 helper method that can be called explicitly\nwhen required. This results in a simpler set of helper primitives.\n\nChange-Id: I6b1caa3915fba8862ea141851cd339b32dbee963\nRelated-Change: I0b3c9a5b4645ed1bbfa3beb25ae610d166533afb\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/0ab7285d14deccfa1a9bc0e86a4187536286cec0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ab7285d14deccfa1a9bc0e86a4187536286cec0"}]},"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":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"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":""}}}]}
