)]}'
{"id":"openstack%2Fkeystone~909259","triplet_id":"openstack%2Fkeystone~stable%2Fxena~I8c45131b298ceae7b43b42e2c5df167607d18c48","project":"openstack/keystone","branch":"stable/xena","topic":"appcred-validation-speed2-stable/xena","attention_set":{},"removed_from_attention_set":{"21107":{"account":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"last_update":"2024-03-26 18:34:39.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I8c45131b298ceae7b43b42e2c5df167607d18c48","subject":"Improve application credential validation speed","status":"ABANDONED","created":"2024-02-20 04:58:42.000000000","updated":"2024-03-26 18:34:39.000000000","total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"cherry_pick_of_change":880456,"cherry_pick_of_patch_set":4,"meta_rev_id":"673bd198ac9d1c258a4c8443494514f90597fd50","_number":909259,"virtual_id_number":909259,"owner":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2024-02-20 06:15:44.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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-02-20 05:14:25.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":"2024-02-20 06:15: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":"2024-03-26 18:34:39.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"CC"}],"messages":[{"id":"3a92329555e28b4e790aef3f0569c6b391399e44","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"date":"2024-02-20 04:58:42.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"ad2aae5a4a91907c2e7acef49104e9e2dfda7ddf","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-02-20 05:14:25.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f1a8cadebe694e1bbd4eeba57e3df38f\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/557cf6dab1e24c8590da045119b75c9e : SUCCESS in 12m 44s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/3ac61c95d81b4ef79c41ee1bd1870570 : SUCCESS in 14m 42s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"0762ec889437d32bc9232fd25c53c9cf639256ec","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-02-20 06:15:44.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\n\nhttps://zuul.opendev.org/t/openstack/buildset/b3cb8a47d764441b8636e9458edaa844\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c469b3a6ed9f4fc0acc466356116defd : SUCCESS in 17m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/df24c75bfc23498fa54283d3224b38d2 : SUCCESS in 5m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/0380de5237644037ac34c21425449883 : SUCCESS in 12m 31s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1c0445ab71d74f8fb8db6f81df9abc60 : SUCCESS in 12m 38s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/f915e446abb7466583aff4f8c6bafb96 : SUCCESS in 13m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5772e64448c145f996379dec450bef44 : SUCCESS in 11m 34s\n- grenade https://zuul.opendev.org/t/openstack/build/8133bcf4825b409d9e54da8a0a2aca93 : SUCCESS in 50m 57s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2a5d8c0e08f84e5b84dd0787bf4154cf : SUCCESS in 1h 02m 46s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/7c96a02b75cf467b93514e51c49d2493 : SUCCESS in 20m 35s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/720234fadf754ca8985156e25c4acc1a : SUCCESS in 49m 08s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/0d111925ed1b4ffc94ed4a3e0309e27d : FAILURE in 27m 24s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/750cf9d1931546b9880268003c515dd3 : SUCCESS in 28m 38s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/2244d97b194f4bd1abd4f363d9190892 : FAILURE in 12m 15s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/8be6a95830264001a1c4cba4f21c1b46 : FAILURE in 18m 33s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bb047a167b1d4795856ff165152dc016 : SUCCESS in 36m 15s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/b772de480cc348a2b37d2db88cd07025 : FAILURE in 31m 18s","accounts_in_message":[],"_revision_number":1},{"id":"57b122ecadfb13042e5699683242341937a58792","author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"date":"2024-03-21 04:54:33.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"eeff62d377468b0c86e55661c269ca472164438d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-03-21 05:31:31.000000000","message":"Patch Set 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\n\nhttps://zuul.opendev.org/t/openstack/buildset/6480096343f743d6961df198e0fd7ba7\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f7ac838eefb749d6bda40e290c85db11 : SUCCESS in 15m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d984e89e85f4444681377fc776fdd2e4 : SUCCESS in 5m 09s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/185cff8e1c174b0a969636b7913cec0b : SUCCESS in 12m 28s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a7483929bae4485abc2e8f8ff8aa7e5b : SUCCESS in 11m 43s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/83842a2328e640dd9c19ddc7ab721eb3 : SUCCESS in 14m 16s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e51b22889d464deda142867bb4339b59 : SUCCESS in 12m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/b5bf64f1596844cd906c61fc40c88f68 : FAILURE in 9m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7299802a26d74c208f81bc292f6eff55 : FAILURE in 11m 37s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/62d0a5ace7514cadafc92646fd0443bf : FAILURE in 9m 16s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/84364d75ed9945298b6293e702176d2e : FAILURE in 26m 33s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/daab89a7abbf410783b6b2badbadbc83 : FAILURE in 12m 50s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/978c8e889f4e46c2b3acd1bf22ceb7cf : FAILURE in 9m 09s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/9fdc73f4f3f6438ba10b38a277a8cad7 : FAILURE in 20m 01s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/36c7d79f61ef42aba59142c992cf914a : FAILURE in 8m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f8281249196b4897a56d623b455f943a : FAILURE in 18m 47s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/361fd4a3f3b848069385f741cef8b456 : FAILURE in 18m 10s","accounts_in_message":[],"_revision_number":1},{"id":"f88e9aec94cd5b72786a536e66a4337b61d7bc4a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-03-21 05:57:49.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aa2f48b76c95406f907a9a6216445b2c\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/ffa902b643384d188bc8d10d04179626 : TIMED_OUT in 1h 00m 53s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/9885610768154c3bbc246d9aea808cf9 : TIMED_OUT in 1h 00m 59s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"673bd198ac9d1c258a4c8443494514f90597fd50","tag":"autogenerated:gerrit:abandon","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2024-03-26 18:34:39.000000000","message":"Abandoned\n\nstable/xena branch of openstack/keystone is about to be deleted. To be able to do that, all open patches need to be abandoned. Please cherry pick the patch to unmaintained/xena if you want to further work on this patch.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c32863f112e4f70777a81254e4ad96f2e1105aa7","revisions":{"c32863f112e4f70777a81254e4ad96f2e1105aa7":{"kind":"REWORK","_number":1,"created":"2024-02-20 04:58:42.000000000","uploader":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"ref":"refs/changes/59/909259/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/59/909259/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/909259/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/909259/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/909259/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/59/909259/1"}}},"commit":{"parents":[{"commit":"f4222d558b70fa28a30a1a663a2e1607bba4f55b","subject":"Merge \"Add an option to randomize LDAP urls list\" into stable/xena","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/f4222d558b70fa28a30a1a663a2e1607bba4f55b"}]}],"author":{"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","date":"2024-01-02 08:46:24.000000000","tz":0},"committer":{"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","date":"2024-02-20 04:58:42.000000000","tz":0},"subject":"Improve application credential validation speed","message":"Improve application credential validation speed\n\nValidating an application credential token is very slow, taking at least\n400ms+ in a simple devstack environment, 5-10x longer than validating a\nuser/password project token.\n\nThe primary bottleneck during a token validation request\n(/v3/auth/tokens) is that token.roles is evaluated at least 5 times.\nvalidate_token is called twice, first during RBAC to populate the\nsubject token context and again to actually validate the token. Each\ncall to validate_token then called token.roles twice because it first\nchecks if it is None, before calling it again to use the result. Lastly\ntoken.roles is evaluated a fifth time during\nrender_token_response_from_model.\n\nEach evaluation of token.roles calls through\n_get_application_credential_roles into list_role_assignments which then\nmakes multiple round-trip SQL queries to the database.\n\nUnlike the related get_roles_for_user_and_project function, none of\nthese calls are currently cached/memoized. We memoize\nlist_role_assignments to get the same-speedup.\n\nReduce the number of token.roles calls to only 3 by storing and re-using\nthe token.roles result in validate_token, then memoize\nlist_role_assignments so the 2nd and 3rd call fetch from the cache\ninstead of repeating many SQL queries.\n\nThis provides a substantial performance improvement bringing validation\ntime in-line with user/password tokens.\n\nChange-Id: I8c45131b298ceae7b43b42e2c5df167607d18c48\n(cherry picked from commit 67b5cca032c36ef67a8aee9db6adada9b403dc5c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c32863f112e4f70777a81254e4ad96f2e1105aa7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c32863f112e4f70777a81254e4ad96f2e1105aa7"}]},"branch":"refs/heads/stable/xena"}},"requirements":[],"submit_records":[],"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":{}}},{"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":{}}},{"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":{}}}]}
