)]}'
{"id":"openstack%2Fcliff~1003514","triplet_id":"openstack%2Fcliff~master~Ib1f51b7ea0bb9a63120c53506f7b351a3afb1ba2","project":"openstack/cliff","branch":"master","topic":"python-3.15","attention_set":{"6476":{"account":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"last_update":"2026-09-02 12:34:09.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-09-14 21:56:24.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}},"hashtags":[],"change_id":"Ib1f51b7ea0bb9a63120c53506f7b351a3afb1ba2","subject":"Gracefully handle metadata","status":"NEW","created":"2026-09-02 11:33:10.000000000","updated":"2026-09-14 22:46:14.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"185036a9ca664bb367f601b3e4ed7fe27842b3f5","_number":1003514,"virtual_id_number":1003514,"owner":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-14 22:46:14.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2026-09-14 21:56:24.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-02 12:34: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":"REVIEWER"},{"updated":"2026-09-02 14:03:28.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"}],"messages":[{"id":"0bb5a641426fde17877acc2409020480e05e959d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"date":"2026-09-02 11:33:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ea66fddf24c3558a30ad73f925ae49b39ad11acc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 12:34:09.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/c2a84b846e9b448fbefead73cfabb2ce\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/56070af6758b4db79fe11b4bf03ae9fb : SUCCESS in 52m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bef256f7df3a4c5bb548d7b770783063 : FAILURE in 3m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/0e83c7fe38fc4dde94e2b00df91e6b37 : SUCCESS in 3m 31s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0fb66e155d0f44568725e5b8b987eea5 : SUCCESS in 3m 44s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/606d45529f8d489a9f5922de927b3ee4 : SUCCESS in 6m 03s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/8d33c3df33874647a687447c592ba9d7 : FAILURE in 3m 37s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/94555c1301644b72b1b9717c82f1f728 : SUCCESS in 5m 46s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/39d6dc8c8f95459a8951425b59c2f044 : SUCCESS in 4m 50s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/defbde0664d7448a9c35a71ef457cd17 : SUCCESS in 6m 47s","accounts_in_message":[],"_revision_number":1},{"id":"7522eeb8a000f2154413af0c8908e103b2d78059","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-02 14:02:58.000000000","message":"Patch Set 2: Published edit on patch set 1.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"c56aa9fd76c8ccc59b5067c96e896ae112a6ce73","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-02 14:03:28.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"c1ac6deff8be5e2bc29d0e3fbdb162ff579cdde9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 15:41:18.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/e7411a7214ca4e93bc1a0bad66c48f4b\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8ea975e3962045c4aaf8395dde71cdce : SUCCESS in 1h 36m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7f2ac8f44ed54cf9a0415e6ccd8cada3 : FAILURE in 2m 21s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/015b517a79894b308e325981a3f03d36 : SUCCESS in 5m 52s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/85e4f6e1ad034370a08daa0904533ea3 : SUCCESS in 2m 40s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8873a690fb484c8f9f01b2fbc6a907e9 : SUCCESS in 5m 41s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/3526f4b034d64b72b37d8563423be8d2 : FAILURE in 5m 35s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/afd2fe70a27b456684c445466e11ad5a : SUCCESS in 4m 48s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/87adf7938cd34dcd85252893ff9a849f : SUCCESS in 3m 36s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/3204fbbc29da4f708f1e5a252f1c499a : SUCCESS in 6m 23s","accounts_in_message":[],"_revision_number":2},{"id":"a7265d602940788b46bfdc23a188bab899187b63","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-14 21:56:05.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"f147b9274b6d4324823ad2edf1e3bad52a94061e","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-09-14 21:56:24.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"185036a9ca664bb367f601b3e4ed7fe27842b3f5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-14 22:46:14.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/72c3d46103344998b8926d8b79e03f44\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/08b3889fe24841f0883c1354b513a872 : SUCCESS in 48m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b87dc8248b614c1e9badf89d81972c1a : SUCCESS in 2m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5f0e5f0f03ae4dc0a9b6880aaa179a45 : SUCCESS in 2m 19s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c07f9cc0907d46b6ae0a73a59f55fe3f : SUCCESS in 3m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/37ca559bc1e64554b1545a0c5cffdea3 : SUCCESS in 4m 07s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/cea10acd9470461a94c1dc02ff3755cc : FAILURE in 5m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2893bfe5fc4641a6a2d0efad9b90ea09 : SUCCESS in 3m 10s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/17820f95056c4420af9da1da4db4d0b1 : SUCCESS in 3m 21s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/40d629f05a2e47f08b2c603fe970668a : SUCCESS in 5m 02s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"841bec4188be2ab2fcd25faea99d3d43824a5300","revisions":{"7f77595c02d3b484e81b9c12f17f79661d16444a":{"kind":"REWORK","_number":1,"created":"2026-09-02 11:33:10.000000000","uploader":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"ref":"refs/changes/14/1003514/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/14/1003514/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/14/1003514/1"}}},"commit":{"parents":[{"commit":"89efc71e3660e0f5b5fc56fa455890950c205401","subject":"Merge \"Make sphinx and docutils optional dependencies for sphinxext\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/89efc71e3660e0f5b5fc56fa455890950c205401"}]}],"author":{"name":"Thomas Goirand","email":"zigo@debian.org","date":"2026-09-02 11:30:55.000000000","tz":120},"committer":{"name":"Thomas Goirand","email":"zigo@debian.org","date":"2026-09-02 11:32:52.000000000","tz":120},"subject":"Gracefully handle metadata","message":"Gracefully handle metadata\n\nThis was reported as a Debian bug:\nhttps://bugs.debian.org/1146433\n\nIn Python 3.15, importlib.metadata.packages_distributions() raises\nMetadataNotFound if any distribution directory on sys.path has\nmissing or incomplete metadata.\n\nThis patch gracefully handle metadata errors in\npackages_distributions.\n\nSigned-off-by: Thomas Goirand \u003czigo@debian.org\u003e\nChange-Id: Ib1f51b7ea0bb9a63120c53506f7b351a3afb1ba2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/7f77595c02d3b484e81b9c12f17f79661d16444a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/7f77595c02d3b484e81b9c12f17f79661d16444a"}]},"branch":"refs/heads/master"},"04a4bc31cbb108fdc5d3bfd18fa2dab5e592b4e8":{"kind":"REWORK","_number":2,"created":"2026-09-02 14:02:58.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/14/1003514/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/14/1003514/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/14/1003514/2"}}},"commit":{"parents":[{"commit":"89efc71e3660e0f5b5fc56fa455890950c205401","subject":"Merge \"Make sphinx and docutils optional dependencies for sphinxext\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/89efc71e3660e0f5b5fc56fa455890950c205401"}]}],"author":{"name":"Thomas Goirand","email":"zigo@debian.org","date":"2026-09-02 11:30:55.000000000","tz":120},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-09-02 14:02:58.000000000","tz":0},"subject":"Gracefully handle metadata","message":"Gracefully handle metadata\n\nThis was reported as a Debian bug:\nhttps://bugs.debian.org/1146433\n\nIn Python 3.15, importlib.metadata.packages_distributions() raises\nMetadataNotFound if any distribution directory on sys.path has\nmissing or incomplete metadata.\n\nThis patch gracefully handle metadata errors in\npackages_distributions.\n\nSigned-off-by: Thomas Goirand \u003czigo@debian.org\u003e\nChange-Id: Ib1f51b7ea0bb9a63120c53506f7b351a3afb1ba2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/04a4bc31cbb108fdc5d3bfd18fa2dab5e592b4e8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/04a4bc31cbb108fdc5d3bfd18fa2dab5e592b4e8"}]},"branch":"refs/heads/master"},"841bec4188be2ab2fcd25faea99d3d43824a5300":{"kind":"REWORK","_number":3,"created":"2026-09-14 21:56:05.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/14/1003514/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/14/1003514/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/1003514/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/14/1003514/3"}}},"commit":{"parents":[{"commit":"89efc71e3660e0f5b5fc56fa455890950c205401","subject":"Merge \"Make sphinx and docutils optional dependencies for sphinxext\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/89efc71e3660e0f5b5fc56fa455890950c205401"}]}],"author":{"name":"Thomas Goirand","email":"zigo@debian.org","date":"2026-09-02 11:30:55.000000000","tz":120},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2026-09-14 21:55:52.000000000","tz":60},"subject":"Gracefully handle metadata","message":"Gracefully handle metadata\n\nThis was reported as a Debian bug: https://bugs.debian.org/1146433\n\nIn Python 3.15, importlib.metadata.packages_distributions() raises\nMetadataNotFound if any distribution directory on sys.path has missing\nor incomplete metadata.\n\nThis patch gracefully handle metadata errors in packages_distributions.\n\nSigned-off-by: Thomas Goirand \u003czigo@debian.org\u003e\nChange-Id: Ib1f51b7ea0bb9a63120c53506f7b351a3afb1ba2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/841bec4188be2ab2fcd25faea99d3d43824a5300"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/841bec4188be2ab2fcd25faea99d3d43824a5300"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
