)]}'
{"id":"openstack%2Fkeystone~979763","triplet_id":"openstack%2Fkeystone~master~Iaf64eab167c1d536472d7a4fba19ea893b3ccb57","project":"openstack/keystone","branch":"master","topic":"rebase-979763","attention_set":{"7414":{"account":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"last_update":"2026-03-25 00:30:36.000000000","reason":"Vote got outdated and was removed: Code-Review-1"}},"removed_from_attention_set":{"13478":{"account":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"last_update":"2026-03-20 16:33:57.000000000","reason":"\u003cGERRIT_ACCOUNT_13478\u003e replied on the change","reason_account":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"}}},"hashtags":[],"change_id":"Iaf64eab167c1d536472d7a4fba19ea893b3ccb57","subject":"Update last_active_at on app cred auth","status":"NEW","created":"2026-03-09 22:25:41.000000000","updated":"2026-09-18 21:06:41.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":4,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"b7d82c52dec021d22cfa86f9905fa62245c700e0","_number":979763,"virtual_id_number":979763,"owner":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-18 21:06:41.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":-2,"max":2},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"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":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"_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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-09 22:54:58.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":"2026-03-09 23:51:32.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-03-20 16:04:12.000000000","updated_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"reviewer":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"state":"REVIEWER"}],"messages":[{"id":"b5b6ed20965507cd8cac5dab4c52631ab052642f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-09 22:25:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5600cb62fad5f72864a0ab123174bf645b35998c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-09 22:29:41.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e65e4e55d433bc270985d6560b9ad718aabf0daf","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 22:54:58.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ff9e6ff3f854ea9966b98639ab55caa\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/8f518768af46455ba8b2d96734135113 : SUCCESS in 16m 22s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/9f377c81892b47f8b8d7621810971420 : SUCCESS in 13m 40s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/db82abe8b53a4e52abcb40c9646162c1 : SUCCESS in 23m 50s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"1816757f7f8dc63efdde43962e973c5f083e2b1a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 23:51:32.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/103b936f431e427aa78cec8bef709d96\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d19f6451a0a8484ab5b88d3026698fc0 : SUCCESS in 13m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/10f019ecd16543d29cd9662e65418938 : SUCCESS in 4m 49s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/efe5feddbde245c68a3d4dc02182a2ea : SUCCESS in 11m 29s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f937e14659a34728bd6e9a333a65f313 : SUCCESS in 10m 57s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e06d2a8f989d463ba496cdc0a8109122 : SUCCESS in 14m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b5b8cacb4cf43f38aec2b3f97cd4f93 : SUCCESS in 7m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/3a364b887d804ed79b59c3b4137cf4a5 : SUCCESS in 1h 02m 29s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d8d589cf496143419949492c58a8875c : SUCCESS in 1h 21m 02s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/61a7878522bf4399a166461c6a3384e1 : SUCCESS in 19m 51s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/94be6dfa8bce4ca8bd817f992ff36c1c : SUCCESS in 32m 31s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/4bf858e4290d44c2b8e83cbd1e1db546 : FAILURE in 13m 59s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/9ce8afd71af042c8b85547dbe1efe69e : FAILURE in 26m 14s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/df1746da85e9459397539e8eefa5e90e : SUCCESS in 28m 42s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/bff18f1cb17e451e864b00347d2b916a : SUCCESS in 31m 20s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/e1e21a6813834af092d31c118364b988 : SUCCESS in 36m 36s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7439c64434bd4a57bb222fb467088779 : SUCCESS in 1h 06m 19s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/10b8db820d094cd9b20a894e7c768a9e : FAILURE in 16m 50s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1cd67dce357b44df865261f1bfe4fecf : SUCCESS in 6m 22s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"9671154712833324ef70f1447ba703f416425cbc","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2026-03-20 16:04:12.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"8b837a5903714c52f24040060cc9ff8440c8f341","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-20 16:33:57.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"5cb8b49049c78176cfe3d6b9c0a88e92ecabac31","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-20 18:39:47.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"50d2bc04980a2ac41265c18c1cf7321dfcd91f9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-25 00:30:36.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"8ce209db8a2bb4ca31aa4ce4890a5a6f826abf71","author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"date":"2026-03-25 00:32:43.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f669accf6317e3232cb1fa60cee201651b3268dc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 00:55:32.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/58bd7d5ec7ac4deb9515577486ac3061\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/c2472f98f55a49d6a134197eddc19f6e : SUCCESS in 20m 55s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/8075a2b2966c47b794e76890ec30ff91 : SUCCESS in 16m 02s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/21f3a4df67e0461ebe07a6b023d97165 : SUCCESS in 20m 50s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"3b8c69a76fb368140a8fa63559ff8768088527b8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-25 02:27:18.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bbb71986b2d74d9897552d587b53c56c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7974404f83fd4dcdb61e7df05e5b5b08 : SUCCESS in 15m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e619eb77d7184ff5b07b6c2655e726ac : SUCCESS in 5m 16s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e6ea41be821e42d18a7c64d5df8ba22f : SUCCESS in 8m 19s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/eb19a96f38454c918ab6c2a6473a9c6c : SUCCESS in 10m 57s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9193aea37f73486a9efdb19a69d7f1a6 : SUCCESS in 14m 01s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e4bdb95bc54741929a93bfce95123a35 : SUCCESS in 14m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/c54d8c148f8541bf85d2ca4155b82712 : SUCCESS in 1h 06m 09s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/552416b21d08429198fc7bd8cff585f8 : SUCCESS in 1h 49m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/af955ce6dedb4015967e90c914a3d260 : SUCCESS in 13m 25s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/5a574804c9484af1aef9b5ba437cd2da : SUCCESS in 18m 27s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/c4295fc17d2d41f58052d552f248d77e : SUCCESS in 28m 39s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/29df40a499d349309db6b68b03a2e7ba : FAILURE in 9m 12s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/ae0f645398164ab787c1cc2d8c553811 : FAILURE in 24m 30s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/8e3a1d9f6ec64681b04fe6e1eaa97b4b : SUCCESS in 29m 49s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/665aab01d3fd43fd8fc546a4451558e9 : SUCCESS in 12m 53s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/d4a4fc2fcf544aaea8609569f21cd911 : SUCCESS in 38m 38s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/23721d8f2fa942d29d07694b77304315 : SUCCESS in 30m 28s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/bb6f3ff0542b45769e6e41a7761cd6ed : FAILURE in 38m 45s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/796a7d0dd5f94102a7c8c2d24e622300 : POST_FAILURE in 7m 08s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"79789161434a17a3b7c661af6fe0eec6cd3163ab","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37738,"name":"Luke Repko","display_name":"Luke Repko","email":"luke.repko@rackspace.com","username":"lukerepko","status":"Rackspace Technology"},"date":"2026-09-18 19:24:47.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"3370f88d3dbbe73a0ed35e93732e8e37a168fda3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 19:53:22.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/11fa0a8a23f1463ca4a019944a9acae1\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/7881a8116a154feaa9ca7342b3837d90 : SUCCESS in 17m 19s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/3ff25a2e13cf4ca68018150af3d8d1ad : SUCCESS in 17m 28s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/7742e4478bb3415d9b633f84b239a881 : SUCCESS in 26m 41s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"b7d82c52dec021d22cfa86f9905fa62245c700e0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 21:06:41.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32ab30c09a4a4d2da014bc8f41b28149\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8214386aa9c7440387c2051adce563ac : SUCCESS in 14m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8d5f5248876d436eb1444ebb6e3b575c : SUCCESS in 7m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4e82a894699a4ac998208f0f71cb2785 : SUCCESS in 12m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2f5a0d2ccc2e49189dc1c9fcd9a013c4 : SUCCESS in 9m 28s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0b23ebb298a64223b32270d704e84b4b : SUCCESS in 9m 17s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7597e6006894c8fb98cdbc34e576b6e : SUCCESS in 12m 46s\n- grenade https://zuul.opendev.org/t/openstack/build/028ec31acda44b8f95eecaab27b7222b : SUCCESS in 1h 03m 18s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b16859f094c24bf3b27e75105be6c3c7 : SUCCESS in 1h 35m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0db5ef52026e43ef8757d7531397a445 : SUCCESS in 7m 10s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/50f6ca1a265142c1a5f80c640fde281c : FAILURE in 17m 49s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/539359472f534f8fb35d0bb3e31a8e79 : SUCCESS in 42m 13s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/01b11343b6dc44eb99f5acf2696c1650 : FAILURE in 15m 34s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/cd57554f4e55498489c11c93451c5c92 : FAILURE in 16m 06s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/b1c68b9312654d2cab0a71bce476bbbf : SUCCESS in 38m 39s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/122dbb4aa14f400ba2687a6cd698e1ac : SUCCESS in 22m 47s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/d1dda4de70e14757a0a1e7d92223c8f7 : SUCCESS in 34m 29s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f762745ef45745ea8aa10d69b3c19344 : SUCCESS in 28m 25s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/6833b5d1fd4c4fb8ba5f703765f21be9 : SUCCESS in 18m 32s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1d9c7e7c94af497b8866187d28210528 : SUCCESS in 7m 23s (non-voting)\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job keystone-tempest-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job keystone-tempest-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"1b01b16cdded227ef3046a904a4098373328f238","revisions":{"c12f3131f7e7107705db67d403fab26a0af55de6":{"kind":"REWORK","_number":1,"created":"2026-03-09 22:25:41.000000000","uploader":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"ref":"refs/changes/63/979763/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/63/979763/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/63/979763/1"}}},"commit":{"parents":[{"commit":"2f5085676a305773ad6012e1819fa21931634988","subject":"Merge \"api-ref: add missing enabled field on endpoint\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/2f5085676a305773ad6012e1819fa21931634988"}]}],"author":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:22:00.000000000","tz":60},"committer":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:25:20.000000000","tz":60},"subject":"Update last_active_at on application credential auth","message":"Update last_active_at on application credential auth\n\nThe application credential auth plugin did not update the user\u0027s\nlast_active_at timestamp on successful authentication. This caused\nusers who exclusively authenticate via application credentials to\nbe incorrectly disabled when the disable_user_account_days_inactive\nsecurity compliance option was configured, because Keystone\nconsidered them inactive despite active application credential\nusage.\n\nThe root cause was that only the password auth plugin (via\nidentity_api.authenticate()) and federated auth (via\n_shadow_nonlocal_user()) called set_last_active_at, while the\napplication credential plugin used a separate code path through\napplication_credential_api.authenticate() that never updated the\nuser\u0027s last active timestamp.\n\nAdd a call to shadow_users_api.set_last_active_at() in the\napplication credential auth plugin after successful credential\nvalidation to keep the user\u0027s activity timestamp current.\n\nCloses-Bug: #2117217\nGenerated-By: claude-opus-4-6 (OpenCode)\nSigned-off-by: Boris Bobrov \u003cb.bobrov@sap.com\u003e\nChange-Id: Iaf64eab167c1d536472d7a4fba19ea893b3ccb57\nSigned-off-by: Boris Bobrov \u003cb.bobrov@sap.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c12f3131f7e7107705db67d403fab26a0af55de6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c12f3131f7e7107705db67d403fab26a0af55de6"}]},"branch":"refs/heads/master"},"3ad1d79908f49c7c3a03ba04578c92c4dcf69f03":{"kind":"REWORK","_number":2,"created":"2026-03-09 22:29:41.000000000","uploader":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"ref":"refs/changes/63/979763/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/63/979763/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/63/979763/2"}}},"commit":{"parents":[{"commit":"2f5085676a305773ad6012e1819fa21931634988","subject":"Merge \"api-ref: add missing enabled field on endpoint\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/2f5085676a305773ad6012e1819fa21931634988"}]}],"author":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:22:00.000000000","tz":60},"committer":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:29:26.000000000","tz":60},"subject":"Update last_active_at on application credential auth","message":"Update last_active_at on application credential auth\n\nThe application credential auth plugin did not update the user\u0027s\nlast_active_at timestamp on successful authentication. This caused\nusers who exclusively authenticate via application credentials to\nbe incorrectly disabled when the disable_user_account_days_inactive\nsecurity compliance option was configured, because Keystone\nconsidered them inactive despite active application credential\nusage.\n\nThe root cause was that only the password auth plugin (via\nidentity_api.authenticate()) and federated auth (via\n_shadow_nonlocal_user()) called set_last_active_at, while the\napplication credential plugin used a separate code path through\napplication_credential_api.authenticate() that never updated the\nuser\u0027s last active timestamp.\n\nAdd a call to shadow_users_api.set_last_active_at() in the\napplication credential auth plugin after successful credential\nvalidation to keep the user\u0027s activity timestamp current.\n\nCloses-Bug: #2117217\nGenerated-By: claude-opus-4-6 (OpenCode)\nChange-Id: Iaf64eab167c1d536472d7a4fba19ea893b3ccb57\nSigned-off-by: Boris Bobrov \u003cb.bobrov@sap.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3ad1d79908f49c7c3a03ba04578c92c4dcf69f03"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3ad1d79908f49c7c3a03ba04578c92c4dcf69f03"}]},"branch":"refs/heads/master"},"3d46e9d4603a5a04164d985935d1ef75113dbd95":{"kind":"REWORK","_number":3,"created":"2026-03-25 00:30:36.000000000","uploader":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"ref":"refs/changes/63/979763/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/63/979763/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/63/979763/3"}}},"commit":{"parents":[{"commit":"2f5085676a305773ad6012e1819fa21931634988","subject":"Merge \"api-ref: add missing enabled field on endpoint\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/2f5085676a305773ad6012e1819fa21931634988"}]}],"author":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:22:00.000000000","tz":60},"committer":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-25 00:29:47.000000000","tz":60},"subject":"Update last_active_at on app cred auth","message":"Update last_active_at on app cred auth\n\nThe application credential auth plugin did not update the user\u0027s\nlast_active_at timestamp on successful authentication. This caused\nusers who exclusively authenticate via application credentials to\nbe incorrectly disabled when the disable_user_account_days_inactive\nsecurity compliance option was configured, because Keystone\nconsidered them inactive despite active application credential\nusage.\n\nAdd a call to shadow_users_api.set_last_active_at() in the\napplication credential auth plugin after successful credential\nvalidation, gated behind a new [application_credential]\ntrack_last_active_at config option (default True).\n\nCloses-Bug: #2117217\nGenerated-By: claude-opus-4-6 (OpenCode)\nSigned-off-by: Boris Bobrov \u003cb.bobrov@sap.com\u003e\nChange-Id: Iaf64eab167c1d536472d7a4fba19ea893b3ccb57\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3d46e9d4603a5a04164d985935d1ef75113dbd95"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/3d46e9d4603a5a04164d985935d1ef75113dbd95"}]},"branch":"refs/heads/master"},"1b01b16cdded227ef3046a904a4098373328f238":{"kind":"REWORK","_number":4,"created":"2026-09-18 19:24:47.000000000","uploader":{"_account_id":37738,"name":"Luke Repko","display_name":"Luke Repko","email":"luke.repko@rackspace.com","username":"lukerepko","status":"Rackspace Technology"},"ref":"refs/changes/63/979763/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/63/979763/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/63/979763/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/63/979763/4"}}},"commit":{"parents":[{"commit":"c6d3b4ed082f805cd9cfe44b20ef8a9ee7e6ccd9","subject":"Merge \"Remove disabling the scope enforcement\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c6d3b4ed082f805cd9cfe44b20ef8a9ee7e6ccd9"}]}],"author":{"name":"Boris Bobrov","email":"b.bobrov@sap.com","date":"2026-03-09 22:22:00.000000000","tz":60},"committer":{"name":"Luke Repko","email":"luke.repko@rackspace.com","date":"2026-09-18 19:24:47.000000000","tz":-300},"subject":"Update last_active_at on app cred auth","message":"Update last_active_at on app cred auth\n\nThe application credential auth plugin did not update the user\u0027s\nlast_active_at timestamp on successful authentication. This caused\nusers who exclusively authenticate via application credentials to\nbe incorrectly disabled when the disable_user_account_days_inactive\nsecurity compliance option was configured, because Keystone\nconsidered them inactive despite active application credential\nusage.\n\nAdd a call to shadow_users_api.set_last_active_at() in the\napplication credential auth plugin after successful credential\nvalidation, gated behind a new [application_credential]\ntrack_last_active_at config option (default True).\n\nCloses-Bug: #2117217\nGenerated-By: claude-opus-4-6 (OpenCode)\nSigned-off-by: Boris Bobrov \u003cb.bobrov@sap.com\u003e\nSigned-off-by: Luke Repko \u003cluke.repko@rackspace.com\u003e\nChange-Id: Iaf64eab167c1d536472d7a4fba19ea893b3ccb57\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1b01b16cdded227ef3046a904a4098373328f238"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1b01b16cdded227ef3046a904a4098373328f238"}]},"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"}]}],"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":"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":""}}}]}
