)]}'
{"id":"openstack%2Fopenstacksdk~1001423","triplet_id":"openstack%2Fopenstacksdk~master~I1148430174e4273759114cd7656f16bcf3dcb44d","project":"openstack/openstacksdk","branch":"master","attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-08-18 22:12:14.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I1148430174e4273759114cd7656f16bcf3dcb44d","subject":"Keep the unscoped credential of a federated plugin","status":"NEW","created":"2026-08-18 20:47:19.000000000","updated":"2026-08-19 08:48:10.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":7,"unresolved_comment_count":2,"has_review_started":true,"meta_rev_id":"ea04fdb7fcb3c507432360e359f2064353dcd758","_number":1001423,"virtual_id_number":1001423,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-08-18 22:12: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":{"all":[{"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":[{"_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},"Allow-Post-Review":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-18 22:12:14.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-19 08:48:10.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":"CC"}],"messages":[{"id":"e85c82c65785d0d6a71c1abf64ba48f7924d38eb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-08-18 20:47:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"63af91dc4ded52ee279794e314a5dab484e5ef05","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 22:12:14.000000000","message":"Patch Set 1: Verified-1\n\n(4 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/462feaf9372847b690cc993d77e4be34\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/a91ba0589c3845a8911853a07cf99762 : SUCCESS in 2m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2055a6138cdd476396c006adb050cf29 : FAILURE in 2m 51s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/45814ff0d9c4485c9cec4ba38427842a : FAILURE in 3m 02s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/a501d6c0fc114480a32e1ed6d1207e76 : FAILURE in 3m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9d5935d8ca5042e59387de0dc0cfd053 : FAILURE in 3m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/49ddadf2d32b46c494aadd18383aa9ff : FAILURE in 9m 23s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/154351f817d54ad0814b289670aebd56 : FAILURE in 6m 40s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/8f651a97772344f0a3ef861506ca064b : SUCCESS in 31m 35s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/d975283a545b493ca48998d6e331491f : SUCCESS in 2m 30s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/ec5dd2c69a544cab9a44266e8cc09888 : SUCCESS in 6m 08s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/025db48f0a1e466f82ecb27adcbe3dd3 : SUCCESS in 4m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a357c89ade784f7e8a02c63ae6c95224 : SUCCESS in 10m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b42a9fd0a6d649f89861eaee4886aab4 : SUCCESS in 5m 11s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c1e5809bd17744f3b6b16c67c0beaf8b : SUCCESS in 43m 03s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/5643bb65bad347dc83a0d7eae07b4f17 : SUCCESS in 54m 40s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/8fb16be979674289bef7eb3a5bb7416a : FAILURE in 56m 14s (non-voting)\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/a893ae7eebc9466784824af64c77da9b : FAILURE in 25m 46s (non-voting)\n- openstacksdk-functional-devstack-manila https://zuul.opendev.org/t/openstack/build/3099accf628b42a0982b681ed5239657 : SUCCESS in 24m 49s\n- openstacksdk-functional-devstack-compute-manila https://zuul.opendev.org/t/openstack/build/092c82567f3b4ec49734d201a1b3d864 : SUCCESS in 13m 35s\n- openstacksdk-functional-devstack-cyborg https://zuul.opendev.org/t/openstack/build/2a74b56b203e44578135a04669c95835 : SUCCESS in 33m 52s\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/6444aabd1d2b4aa592a938865c5081d3 : SUCCESS in 13m 30s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/3b8d89af655945bf8f0ae5d1070df557 : SUCCESS in 42m 19s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/fc8509927a6c4304b84b6c80b7d00f7e : SUCCESS in 1h 10m 50s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/c12e09e9b6194614a13eb65f30eb0025 : SUCCESS in 1h 18m 42s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ea04fdb7fcb3c507432360e359f2064353dcd758","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-19 08:48:10.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"92d6e42a368a4a996a9dbe5dfe41763f032cef2b","revisions":{"92d6e42a368a4a996a9dbe5dfe41763f032cef2b":{"kind":"REWORK","_number":1,"created":"2026-08-18 20:47:19.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/23/1001423/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/23/1001423/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/23/1001423/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/23/1001423/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/23/1001423/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/23/1001423/1"}}},"commit":{"parents":[{"commit":"a01433391d49c88b1033c990befefca48b1836a2","subject":"Merge \"Rework formatting section of HACKING.rst\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/a01433391d49c88b1033c990befefca48b1836a2"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-18 19:53:35.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-18 20:44:51.000000000","tz":-300},"subject":"Keep the unscoped credential of a federated plugin","message":"Keep the unscoped credential of a federated plugin\n\nA federated plugin gets an unscoped token and then rescopes it. Keep\nthat unscoped token in the keyring under its own key, so that one\nauthentication serves every scope rather than one each. For an\ninteractive flow that is the difference between one login and several.\n\nIt is loaded whether or not a scoped token was cached with it, since\nthe federated plugins do not support the scoped cache at all, and is\nonly stored where the plugin reports that authenticating needs the\nuser.\n\nDepends-On: https://review.opendev.org/c/openstack/keystoneauth/+/1001419\nChange-Id: I1148430174e4273759114cd7656f16bcf3dcb44d\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\nAssisted-By: Claude Opus 5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/92d6e42a368a4a996a9dbe5dfe41763f032cef2b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/92d6e42a368a4a996a9dbe5dfe41763f032cef2b"}]},"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"},{"label":"Workflow","status":"MAY"},{"label":"Allow-Post-Review","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":"Allow-Post-Review","description":"Allow Post Review","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","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":""}}}]}
