)]}'
{"id":"openstack%2Fkeystone~940285","triplet_id":"openstack%2Fkeystone~unmaintained%2Fzed~I8c45131b298ceae7b43b42e2c5df167607d18c48","project":"openstack/keystone","branch":"unmaintained/zed","topic":"appcred-validation-speed2-unmaintained/zed","attention_set":{},"removed_from_attention_set":{"21107":{"account":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"last_update":"2025-02-28 01:43:15.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I8c45131b298ceae7b43b42e2c5df167607d18c48","subject":"Improve application credential validation speed","status":"MERGED","created":"2025-01-28 08:25:42.000000000","updated":"2025-02-28 01:45:15.000000000","submitted":"2025-02-28 01:43:15.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"940285-appcred-validation-speed2-unmaintained/zed","cherry_pick_of_change":880456,"cherry_pick_of_patch_set":4,"meta_rev_id":"f7acdcd442dc49e33fb6998d6d70ab9b082d31f2","_number":940285,"virtual_id_number":940285,"owner":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-02-28 01:43:15.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":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":2,"date":"2025-02-27 13:24:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":2,"date":"2025-02-26 22:27:16.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"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":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":1,"date":"2025-02-27 13:24:49.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"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":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-01-28 09:00: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":"CC"},{"updated":"2025-01-28 09:57:42.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-02-26 18:53:37.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"CC"},{"updated":"2025-02-26 22:27:16.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"REVIEWER"},{"updated":"2025-02-27 13:24:49.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":"REVIEWER"}],"messages":[{"id":"fc6528515a6e913e2c1ed2456a4b4c5ad72f3c12","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"date":"2025-01-28 08:25:42.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"3c290b2e8b120bd65982312f0549c4270a73713a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-28 09:00:17.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d0aeb623c1b04c31bdcf23f763c32908\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/18f2034e9ea54502b7dbfc97ff141690 : SUCCESS in 32m 50s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/4cdcc4e18b72436cbaff99a7ba1af0a9 : SUCCESS in 31m 11s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"92163131550d281f10f3838f1124501bf78ccea7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-28 09:57:42.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/69ae51203969498b892b51899d0f4441\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e3119cfd0e3a4b83b7967cae8470eb9c : SUCCESS in 14m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b4e2b84894da4dadaf05c22abc399bde : SUCCESS in 4m 42s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/56bc7198796844c3a5cc69b798646162 : SUCCESS in 8m 20s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/12ccc008ffef446a919773af858cf5d9 : SUCCESS in 11m 16s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ea3d23fd640846feaeef0712704b9676 : SUCCESS in 7m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a586905a8c8042ee85253395d7b82d4c : SUCCESS in 10m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/5301fd95e26a4c7796975b2167dcf0a7 : SUCCESS in 31m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9b557467c5d24277988898ff10ef4cf5 : SUCCESS in 1h 25m 52s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/709da99ab5cf4b8086ccf1c4128a165f : FAILURE in 20m 39s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/25c2cd2f33504fd987d89bae8b311f08 : FAILURE in 21m 47s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/1506cc2e02cb42b8925b91fd7f7da0a6 : FAILURE in 32m 59s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/1351c63a00f94675ad2839ed1f646d04 : FAILURE in 22m 28s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/2c67457a9c8a4502aba27453e7603dab : SUCCESS in 23m 08s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/85a7b1cfa34c491ca41710d67c13fb9d : SUCCESS in 41m 36s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/da46354818fd487ca064e48fee297ee3 : SUCCESS in 54m 50s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/e232dd392ec049d08fbd816652f631b4 : FAILURE in 25m 11s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"f7dcd5008a48c9acc134f25d9e75a2f2e19c0ce0","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-02-26 18:53:37.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"9296053310ae25971f6379875dd42bb52e083fce","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-26 20:39:53.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\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/115581b2b13347c1afc2f8569ab08e16\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0b173f37eb8644ccb73e5a34e3c00877 : SUCCESS in 27m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/790874169d2748c9ba83dc1040faaa5a : SUCCESS in 6m 22s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/7d603a29bbd848659b69e45d256efb99 : SUCCESS in 12m 32s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/cf4b87b3d00948ef9e49ba3b2232c241 : SUCCESS in 11m 18s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/322f8d6fa4cc490fac6f283d1f101e91 : SUCCESS in 11m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fa4f1da6990b42edb822c568060bb954 : SUCCESS in 10m 45s\n- grenade https://zuul.opendev.org/t/openstack/build/26b9d127a8e244e4a1322cf707f98b85 : SUCCESS in 55m 02s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ad70d7e3711f4e5fa8f0b5032150199f : SUCCESS in 1h 37m 27s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/54521d246e084b90ad87f7775fea2bde : TIMED_OUT in 1h 12m 08s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/753fa39c1303473f8a8fdd38646585e7 : TIMED_OUT in 1h 12m 55s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/925b69da34ec48b2820e0e5ff4e1e27b : FAILURE in 22m 37s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/17acf40399114aa6bbe14412ddb98a0b : SUCCESS in 26m 06s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/480b92c0d3ae41be9a85a5259e048d4e : SUCCESS in 21m 13s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/a3712233628e48cda4f89e37fb8dad8a : SUCCESS in 39m 52s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5bf8beb30533458faa7aa8a024085e7e : SUCCESS in 48m 09s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/cb3546bf383349b4aad2de488adea3c4 : FAILURE in 50m 55s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e6abc24d41ab41554a47ab57dbb374ecd448acf8","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-02-26 20:42:16.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"da33f03e6902e95bc5adeff67fca58571874d667","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-26 21:11:36.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/914ae5c264d943c09c9ff0d20a388158\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/038cf4b4dfee4c7096ba8d328b72cdd7 : TIMED_OUT in 1h 01m 16s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/1484e9f173544686975afe2e59a8b5ed : TIMED_OUT in 1h 00m 53s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"16e10c10b2f400b57dfbe387907424688c1731d4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-26 22:01:57.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/89d54d582fe1400ba3b388d38b897751\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9269543eae8345ba9b14b76e4eecfdf3 : SUCCESS in 9m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/adbb43c3a505496dbe7c3bcd93bce67f : SUCCESS in 5m 40s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/4e39c2bead584d1385b022e7318a33ff : SUCCESS in 11m 06s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/15a397c65cec42eb970efd1c7929bf37 : SUCCESS in 8m 17s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/fbb3cd8f472a4ddf8ef10fd4236cf4bc : SUCCESS in 10m 47s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/43044d0ef3544c21958f03c3de53e1e3 : SUCCESS in 12m 07s\n- grenade https://zuul.opendev.org/t/openstack/build/6bc90ee0e3e942289ff015047feaef17 : SUCCESS in 1h 01m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/630d5e1bbd5846828601bc2b75bc3935 : SUCCESS in 41m 46s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/dcdbd36301a248a99ba2620a3ec31bd2 : SUCCESS in 35m 06s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/45cfed4d80684e3a963f3af3bec5c2a4 : SUCCESS in 36m 47s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/6975dc0524dc4441b54198f68d818386 : FAILURE in 21m 13s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/2c080011d64c41369a61aeb346580406 : SUCCESS in 33m 10s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/8c9f64ee283d4e0293f9dc91bc2d912e : SUCCESS in 26m 02s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/302c0c23c53546c891e0bbb24f963dda : SUCCESS in 42m 14s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4587c7e79f534be59e0f15f67c3930f4 : SUCCESS in 51m 12s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/9331b470d0894debaa1ff1b539e8bd3e : SUCCESS in 44m 53s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"6fc4601adbd844c9cfb978e2b4f0a395daa95486","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-02-26 22:27:16.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"de1ff01e8d2d84be5ff46c48c09f3c35d2ff57c2","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-02-27 13:24:49.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1a62f27b57780f91120ca7e1e3990348f8ae9f79","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-27 13:25:59.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"2803f57e0ba380531e5e9076f8507561136f47ff","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 01:43:15.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/071bb834a58a49b58a4dff4ee56976f3\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b2881ceb7617486fb1e3d9f79a3a3072 : SUCCESS in 4m 42s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/46e7514617304ff1bdce83033b2d45b8 : SUCCESS in 22m 45s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/e48cc601e56646a4ad4956c942f04ac1 : SUCCESS in 12m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b93b310db9f14d5ba9ba26f93dcc9663 : SUCCESS in 27m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/bf35dfc9115543e6999fc1a525966a54 : SUCCESS in 45m 08s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/dc494f75b61049bcb866e80518ac451f : SUCCESS in 1h 36m 30s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/a9192a83b83e4393850ca0c137bfca0d : SUCCESS in 56m 44s\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/bd11f95621c145c09b6bd7166823c46e : SUCCESS in 40m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0354a9c3dd7f44cc9d47fd23952d1d44 : SUCCESS in 52m 45s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/211fe88836e64491b94ec063cbf7950c : SUCCESS in 50m 49s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"c5f57140ecccaedafd23e4776c32421d5ffaa75c","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 01:43:15.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"f7acdcd442dc49e33fb6998d6d70ab9b082d31f2","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 01:45:15.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3728067baeff4b7486c3f96a3c75c472\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/89446bd826e5440896ce35a184065d07 : SUCCESS in 1m 01s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"4fb12b26cd64e57172ffce2c6fec6a4e017bf883","revisions":{"4fb12b26cd64e57172ffce2c6fec6a4e017bf883":{"kind":"REWORK","_number":1,"created":"2025-01-28 08:25:42.000000000","uploader":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"ref":"refs/changes/85/940285/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/85/940285/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/85/940285/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/85/940285/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/85/940285/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/85/940285/1"}}},"commit":{"parents":[{"commit":"cad1bf9f94c620a50993bb4b0c92f5f963cf5208","subject":"Remove reference to devstack-gate","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/cad1bf9f94c620a50993bb4b0c92f5f963cf5208"}]}],"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":"2025-01-28 08:25: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/4fb12b26cd64e57172ffce2c6fec6a4e017bf883"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4fb12b26cd64e57172ffce2c6fec6a4e017bf883"}]},"branch":"refs/heads/unmaintained/zed"}},"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":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}}]}],"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":{}}}]}
