)]}'
{"id":"openstack%2Fkeystone~970284","triplet_id":"openstack%2Fkeystone~stable%2F2025.2~I79505f3d9e7d9ba46ed6ff40ee0071bdf92b95a0","project":"openstack/keystone","branch":"stable/2025.2","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2025-12-12 17:37:56.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I79505f3d9e7d9ba46ed6ff40ee0071bdf92b95a0","subject":"Fix role assignment cache for federated users","status":"MERGED","created":"2025-12-09 17:04:08.000000000","updated":"2025-12-12 17:37:56.000000000","submitted":"2025-12-12 17:37:56.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":"970284","cherry_pick_of_change":967048,"cherry_pick_of_patch_set":18,"meta_rev_id":"254697fea667d37e479979ba77f253eadf616761","_number":970284,"virtual_id_number":970284,"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":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-12-12 17:37:56.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":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"all":[{"value":2,"date":"2025-12-12 15:50:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":2,"date":"2025-12-09 17:35:22.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"all":[{"value":1,"date":"2025-12-12 15:50:51.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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":{"CC":[{"_account_id":38589,"name":"Moutaz Chaara","display_name":"Moutaz Chaara","email":"moutaz.chaara@sap.com","username":"tz3","status":"SAP SE"}],"REVIEWER":[{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-12-09 17:04:08.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":38589,"name":"Moutaz Chaara","display_name":"Moutaz Chaara","email":"moutaz.chaara@sap.com","username":"tz3","status":"SAP SE"},"state":"CC"},{"updated":"2025-12-09 17:35:22.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"},{"updated":"2025-12-09 18:10: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":"2025-12-12 15:50:51.000000000","updated_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"reviewer":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"state":"REVIEWER"}],"messages":[{"id":"43515b7301128c740cd4c0d55625d8ec9dbdc034","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2025-12-09 17:04:08.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"83d9434608be191448bfb29f284ffab0d3089813","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2025-12-09 17:35:22.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"5a5ee2dca7b431e2ec9b100b5f2c85f716a39b88","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-09 18:10:09.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/26dc287bef094985a6e04e4afebdb624\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6356f2a9aa4f46068d087f14895f1fe0 : SUCCESS in 11m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/478411a14a204cac978aad8e39f2c14c : SUCCESS in 5m 56s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/79e4c89f92664e1f8a36395a7dcf5580 : SUCCESS in 7m 27s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/32f176c30ca647aa88e533c1a4558e13 : SUCCESS in 13m 27s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0f89cebf9a3d4ad188cbd706b0fec368 : SUCCESS in 10m 26s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bf744c9122b94d72977e275c2a4aa9d7 : SUCCESS in 14m 17s\n- grenade https://zuul.opendev.org/t/openstack/build/398bbe73ac2045a78aff0a33d0080919 : SUCCESS in 1h 00m 09s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3680e1dac5ed4c66aa7b948b80d5d61d : SUCCESS in 58m 33s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/410178fa63f843dbbdfde0094e466d8a : SUCCESS in 20m 52s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/2c49783669074358816dba6d9ff0eaaf : SUCCESS in 28m 25s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/0d4d822cff444b00b84886e98f159cd3 : FAILURE in 17m 09s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/d68ae86b5b7a442498e98bf1be23148a : FAILURE in 22m 25s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/e0cdd6cb9c52401cbc49692df5988d9c : SUCCESS in 29m 57s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/bddf6daeaa45458d83680117c5626576 : SUCCESS in 34m 08s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/fd74eec180b044669e664130455cb176 : POST_FAILURE in 26m 17s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3473d7c318bb4fc6b7a332bd3f45dab9 : SUCCESS in 57m 20s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/bb10f4490603414b9ab8d76ee702239b : FAILURE in 29m 44s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f07204d30ead4861ac4a014796169ca0 : SUCCESS in 7m 05s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e3b0f6b96b2d7bf504b98774bfa81c6babecf3d5","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2025-12-12 15:50:51.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"81e0f9754d54713365f30077ad1230d1fc9088b0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-12 15:51:23.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"b4cada874e8b5705ea9bf1cdee06c9aa02249257","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-12 17:37:56.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1d573009c6404373bbf22d5aec893d0a\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/de7708306b47414fa8908e78848bf0ea : SUCCESS in 5m 53s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/42031bb4f9a840a2bca7164c1cccd707 : SUCCESS in 12m 40s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/35685e2aef2e4b3e982cc285f69a655e : SUCCESS in 11m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/abcabf1babb34dbe98cf1c1c9c9ad1b2 : SUCCESS in 13m 06s\n- grenade https://zuul.opendev.org/t/openstack/build/3f84ad16de594e42a0d2b89837ffabb2 : SUCCESS in 33m 47s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/67256178dbb742bc97efbb965825d1a4 : SUCCESS in 55m 34s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/a0b81aea1a5a4887ab4e7dbcd356d1af : SUCCESS in 35m 50s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/2b49e58cab584c9c8e599c6f403899f8 : SUCCESS in 24m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5603d009cb924603bafc3be880392d59 : SUCCESS in 57m 17s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/8a1c9bc58f924ada93c147f7d3568f31 : FAILURE in 42m 51s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"254697fea667d37e479979ba77f253eadf616761","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-12 17:37:56.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"b8d7e561b6771869479fbef33f5bc4a9b2b81bda","revisions":{"b8d7e561b6771869479fbef33f5bc4a9b2b81bda":{"kind":"REWORK","_number":1,"created":"2025-12-09 17:04:08.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/84/970284/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/84/970284/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/84/970284/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/84/970284/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/84/970284/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/84/970284/1"}}},"commit":{"parents":[{"commit":"47f155b242586a4ee479cb50b03aeecaa2d3b63a","subject":"Bytes-vs-str mismatch causes repeated ID mapping creates on list","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/47f155b242586a4ee479cb50b03aeecaa2d3b63a"}]}],"author":{"name":"Moutaz Chaara","email":"moutaz.chaara@sap.com","date":"2025-11-25 23:03:52.000000000","tz":60},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2025-12-09 17:04:08.000000000","tz":0},"subject":"Fix role assignment cache for federated users","message":"Fix role assignment cache for federated users\n\nWhen federated users\u0027 group membership changes in the IdP and they\nreauthenticate, their role assignments should reflect the change\nimmediately, respecting the IdP\u0027s TTL configuration rather than\nwaiting for the role assignment cache to expire.\n\nThis change ensures that federated authentication triggers\nappropriate cache invalidation for role assignments when group\nmembership has changed.\n\nCloses-Bug: #2119031\nChange-Id: I79505f3d9e7d9ba46ed6ff40ee0071bdf92b95a0\nSigned-off-by: Moutaz Chaara \u003cmoutaz.chaara@sap.com\u003e\n(cherry picked from commit ad87d8212a1bab654e4a6d791d7271e6b3bcd1b5)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/b8d7e561b6771869479fbef33f5bc4a9b2b81bda"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/b8d7e561b6771869479fbef33f5bc4a9b2b81bda"}]},"branch":"refs/heads/stable/2025.2"}},"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":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}}]}],"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":{}}}]}
