)]}'
{"id":"openstack%2Fkeystoneauth~1002397","triplet_id":"openstack%2Fkeystoneauth~master~I6bdd978db5b3f6983b8c4006ab58a1eebff27c9a","project":"openstack/keystoneauth","branch":"master","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-08-26 12:18:07.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I6bdd978db5b3f6983b8c4006ab58a1eebff27c9a","subject":"Prefer out-of-tree auth plugins on entry-point conflicts","status":"MERGED","created":"2026-08-25 21:40:26.000000000","updated":"2026-08-26 12:19:10.000000000","submitted":"2026-08-26 12:18:07.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":"1002397","meta_rev_id":"71588912c0a2438dc14fb7455861edef26b17293","_number":1002397,"virtual_id_number":1002397,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-26 12:18:06.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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"recommended":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"all":[{"value":1,"date":"2026-08-25 21:55:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},{"value":2,"date":"2026-08-26 10:32:31.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,"_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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},{"value":1,"date":"2026-08-26 10:32:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"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":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},{"_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-08-25 21:55:40.000000000","updated_by":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"reviewer":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"state":"REVIEWER"},{"updated":"2026-08-25 22:52:17.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-08-26 10:32:31.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":"c4b78c31e613d3181c081761679ad4017b59a3ec","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-08-25 21:40:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"50068986b58d9f37b4fce5c0716d3e4f405876da","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-25 21:55:40.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"801f1aa0ad8abda8a3e585163c0894419db5a5d6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 22:52:17.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1b4591b13a64483398055a1a9d0a8810\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/71e5c19c30654a99af263a4f6276c96f : SUCCESS in 2m 26s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9debf20168474367ae4b5b77e42e93cf : SUCCESS in 49m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/70d97d4ebdab4352a876930e7303fd27 : SUCCESS in 8m 45s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2d0c2c00b11046679efd12cc4f6b1378 : SUCCESS in 6m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1e774e647d804e7a8d5a7e3f5404fcaf : SUCCESS in 7m 58s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0c271db898794dfb85003d860caba857 : SUCCESS in 10m 46s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/704f5b0ca73940d7989b9bf02f90d550 : SUCCESS in 17m 10s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/47774f424ac246509746167dd33e283f : SUCCESS in 1h 03m 26s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/b4e44f1d682b4254bb0fba2b0007ed2f : SUCCESS in 5m 02s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/08780c2aebf940b0acf488d3c97692d3 : SUCCESS in 8m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/04b9c1a9065148519df9dcd7109bd72d : SUCCESS in 8m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c13a239f89c94dc79395b12cf4669180 : SUCCESS in 2m 22s","accounts_in_message":[],"_revision_number":1},{"id":"19060ef265c758e299883936ac39bd72c5222835","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-26 10:32:31.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"2b8154d49ec34313cc662ec20f055c7325b94d29","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 10:32:55.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"cef5ac0af1909e4512584048bdc21d80b34bd076","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 12:18:06.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/76a77e0b8b40453a9892651ed85394e1\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/8eb50bebb923412682746e4b1f253575 : SUCCESS in 3m 24s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8d5ec5f10c99479b97c10c905293877e : SUCCESS in 1h 39m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b6850241ece74f2a8c4e1ceac8f5cbb3 : SUCCESS in 4m 08s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a29bfcd8b7ea4207af0cd1de5975b7e5 : SUCCESS in 9m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7800e615c6cb48b8a8994263dd5fbd3c : SUCCESS in 7m 41s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8826060c613e4bb1a7d4f3ae0dfb46b4 : SUCCESS in 11m 19s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/525dabcb7b974b45a5a3f60ba507ad75 : SUCCESS in 48m 56s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/a6bcd23eee094a3687a7197dc9053013 : SUCCESS in 2m 33s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/0600b58469b64cc8a93432ad8d6b8310 : SUCCESS in 5m 08s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aae339e6175c4cecb00a049d20027481 : SUCCESS in 4m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/96e68237e9f64b13b1fa8518d7de8bd2 : SUCCESS in 2m 25s","accounts_in_message":[],"_revision_number":1},{"id":"9fbe9cfdf6551729338be1a681aa03368ab567a8","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 12:18:07.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"71588912c0a2438dc14fb7455861edef26b17293","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 12:19:10.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b7640461cc8740618f17944bb3b2159d\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/957672120e324e8c821eb271d57e951f : SUCCESS in 50s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ee4a893477cc4c51935d40d442d96c80 : SUCCESS in 47s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9e083fd5ae63aef66349ca980cdd315f5df4c767","revisions":{"9e083fd5ae63aef66349ca980cdd315f5df4c767":{"kind":"REWORK","_number":1,"created":"2026-08-25 21:40:26.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/97/1002397/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/97/1002397/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/97/1002397/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/97/1002397/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/97/1002397/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/97/1002397/1"}}},"commit":{"parents":[{"commit":"e759cf88c072d5bc7e21fc3fa884708ace9630af","subject":"Merge \"Expose the unscoped token of a federated plugin\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/e759cf88c072d5bc7e21fc3fa884708ace9630af"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-25 21:27:13.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-25 21:40:19.000000000","tz":-300},"subject":"Prefer out-of-tree auth plugins on entry-point conflicts","message":"Prefer out-of-tree auth plugins on entry-point conflicts\n\nBump the stevedore lower bound to 5.9.1 and pass a conflict_resolver\nto every plugin manager so that when an in-tree and an out-of-tree\nplugin register the same keystoneauth1.plugin entry-point name, the\nout-of-tree implementation wins. This lets deployers override a\nshipped plugin (e.g. v3websso) with their own package.\n\nAssisted-By: Claude Opus 4.8\nChange-Id: I6bdd978db5b3f6983b8c4006ab58a1eebff27c9a\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/9e083fd5ae63aef66349ca980cdd315f5df4c767"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/9e083fd5ae63aef66349ca980cdd315f5df4c767"}]},"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":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}]}],"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":""}}}]}
