)]}'
{"id":"openstack%2Fkeystone~985081","triplet_id":"openstack%2Fkeystone~master~Id97bb3152d4363c607aaac35b6c8f6628fa125d2","project":"openstack/keystone","branch":"master","topic":"osprh-27982/jws-algorithm-configurable","attention_set":{},"removed_from_attention_set":{"35125":{"account":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"last_update":"2026-07-17 20:59:38.000000000","reason":"Change was submitted"},"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2026-07-17 20:59:38.000000000","reason":"Change was submitted"},"27900":{"account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"last_update":"2026-07-08 15:53:37.000000000","reason":"\u003cGERRIT_ACCOUNT_27900\u003e replied on the change","reason_account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}},"hashtags":["pqc-migration"],"change_id":"Id97bb3152d4363c607aaac35b6c8f6628fa125d2","subject":"Make JWT token signing algorithm configurable","status":"MERGED","created":"2026-04-17 10:38:51.000000000","updated":"2026-08-13 15:48:45.000000000","submitted":"2026-07-17 20:59:38.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"985081-osprh-27982/jws-algorithm-configurable","meta_rev_id":"53f1ba7c8db24605f3a7c85c8b085c7aabdec786","_number":985081,"virtual_id_number":985081,"owner":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"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":"2026-07-17 20:59:38.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":"2026-07-08 12:56:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":2,"date":"2026-07-08 15:53:37.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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":0,"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":1,"date":"2026-07-08 15:53:37.000000000","permitted_voting_range":{"min":1,"max":1},"_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":[{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"}],"reviewers":{"REVIEWER":[{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_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":"2026-04-17 11:03:29.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-04-17 12:11:33.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-06-01 11:21:38.000000000","updated_by":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"reviewer":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"state":"REVIEWER"},{"updated":"2026-06-01 11:21:38.000000000","updated_by":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"},{"updated":"2026-07-08 12:56:06.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":"34dae52e002f469df6923c33fc88f5353c6ed916","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"date":"2026-04-17 10:38:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5760b92f1f1e88eb1a0462d238f3e2deeb4cfcf8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 11:03:29.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ad37a15d47694d6b82f193e541afe5b3\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/789c7b1a502a43d482839a94575a1e03 : SUCCESS in 18m 25s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/dceea5b65bf945ce9b559c059480b634 : SUCCESS in 14m 23s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/1f06cd0570204e83a2167d6d91c4f3d5 : SUCCESS in 23m 07s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7a4b0992b52d6b87de617b05a5fa4696a32e7fdd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 12:11:33.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9fdd4426bcd94248adbbca8b4d0e8ec1\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/08f4e5c131a1406d83e4c459684e59c8 : SUCCESS in 18m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/48aa4a83ee3645deb6d5b601b7340fc2 : SUCCESS in 5m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a9bbc63d68674c448933ba0aa3964581 : SUCCESS in 11m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2a6a8895c5924543943b0e99e5c9cd5a : SUCCESS in 11m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/856ef5f48c2141d4a231eba95904d4e2 : SUCCESS in 15m 17s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8908dd88394d4133b69d5ceaf9954c45 : SUCCESS in 13m 32s\n- grenade https://zuul.opendev.org/t/openstack/build/c4c48296a6784dbb88025ece24a9a5f2 : SUCCESS in 51m 32s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f63e5da2856d4ec58e4b073a1a0b46a5 : SUCCESS in 1h 29m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e865283e40cd4874b6b699d791b06f54 : SUCCESS in 12m 48s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/1b65be604ff64c39bd9270fca1a62e5f : SUCCESS in 16m 11s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/a20710255d204970a1fcd8c8329bd79b : SUCCESS in 38m 24s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/b0f2abb6998346faaa77c3e29566529d : FAILURE in 19m 52s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/9e6fac3e5bc14e5aae05d3a309a59e36 : FAILURE in 15m 20s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/70133813f86c4e22b641beae7906cc18 : SUCCESS in 30m 45s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/b177cf8b36034cf3aafb5ce98f38bef4 : SUCCESS in 21m 24s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/b06f75f178184f33a3bf38a82dbcb1b7 : SUCCESS in 41m 32s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1a6a063b560e4c0fa78917b00a6bd220 : SUCCESS in 1h 01m 11s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/becefa183e54418bb08f55c2c9ef5a49 : FAILURE in 17m 30s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d279d207345945789dbe4e288ee1d605 : SUCCESS in 6m 56s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b8f870bf74f242e2b026baad9bdab7eaa0b10213","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-07-08 12:56:06.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"0ab6fe6241eb35572b3bc9cc7ba2521514be9614","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-07-08 15:53:37.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"64facbc1b78ed3626e5079c16e1ac7b4f712d16a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-08 15:54:07.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"94760497dd8da2dbf7b626f5b078184f1d3cad84","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-08 18:11:05.000000000","message":"Patch Set 1: Verified-2\n\nBuild failed (gate 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/7d762f61be9a467b8e3c08545ba3c0df\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/16d24f37c700481ab73e482fb883bbb4 : SUCCESS in 6m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e8941ac4435b49d2a32a8a21af7d67a1 : SUCCESS in 11m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fd6ac32cc51d4c9499cfd77f36f30cd2 : SUCCESS in 12m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b660a834eb604da5b7b374fd4892629b : SUCCESS in 15m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/f17f9a5d88034883848d12cac917b1a0 : SUCCESS in 1h 10m 48s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6af84e21245e4ebda3e4b4ec22a90e3c : SUCCESS in 1h 53m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7c67b9d64dde45148bbd4ee47be6d05f : SUCCESS in 11m 53s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/c57c6c64d921408cac6aadf81e0d54e5 : SUCCESS in 53m 34s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/a23fdcfd8d6943d6954314d8d659787a : SUCCESS in 53m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/21f7a44e73144a67ababb918fa6a0d91 : SUCCESS in 1h 01m 13s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/74b780b533404b20958567e70a7c371e : FAILURE in 1h 01m 04s","accounts_in_message":[],"_revision_number":1},{"id":"f3c8d8117bf5f0a0e67c041c17dac9c6c7012399","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-07-17 18:09:43.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"5e20cde0e0920708445652e413fc95333390af84","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 18:42:36.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/28a6a33450814dcd8aee21d071514413\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/f1cbfeec3cc54707a72c727f6034d8a6 : SUCCESS in 15m 31s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/d0b7f3b0848b4c8091faf0124e5f6147 : SUCCESS in 11m 48s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/0b715578d15d4da48a10d59bfc78574e : SUCCESS in 31m 09s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"c60e95b94a63a6e0af3d8a7f3c9c88f68f9245b4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 19:45:34.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f1745e9b363e45f4a54c11e41cb5fd45\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b8ee865b34f7460a91652540c3bce30f : SUCCESS in 11m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e3d8142fd6e846feadc904e146b8353a : SUCCESS in 3m 36s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b8b6443184664840ae3f4b85f4c61be8 : SUCCESS in 11m 32s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/17c1eb8815a94bc69035130a8e31ada4 : SUCCESS in 9m 36s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b07545022ddf46beab0c34815b4d8f4e : SUCCESS in 14m 25s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7934d9ef09db4be88a9e9cbd76a6c034 : SUCCESS in 17m 26s\n- grenade https://zuul.opendev.org/t/openstack/build/3d7cdd1f1d4d41c5ac897a444608f502 : SUCCESS in 1h 09m 16s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/55679b9071ae4e9c86ad0f997918ee61 : SUCCESS in 1h 29m 54s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/488b276501e84fe2901ba34dc6c9d0ad : SUCCESS in 12m 36s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/745f807384f3458b8203df5ef1cdbbb8 : SUCCESS in 10m 04s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/b171b8abb2fe45dc935f162cb79ad365 : SUCCESS in 49m 54s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/47badb9a320442c19c4ca4cb3759ea49 : FAILURE in 9m 33s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/f62ac9fd38be45f6b59636c7e961cb5b : FAILURE in 24m 14s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/9b4c128e976e41c58bc91b7c7b0c2ed6 : SUCCESS in 41m 22s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/d2563563f3804dacaebbceac96717460 : SUCCESS in 34m 16s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/0753545234bc49f7b628ad5ae7707359 : SUCCESS in 18m 13s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a6e4b2bea4c546c3b7d034227661e170 : SUCCESS in 27m 43s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/4ca7a0ae2b924e6d9b14008a473b7adf : SUCCESS in 39m 39s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c4635170cfce4f3698d88943e0236114 : SUCCESS in 7m 30s (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":1},{"id":"1c2849301b5079ea36b6a26b28a79de3539349f9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 19:46:00.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"4b321ba052570f8edb4afe7cf84ffa9321bb9803","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 20:59:38.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/63be2aea98664d939f90983f4d8ade05\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6ad431d87ed34fdca73305b90a95252e : SUCCESS in 3m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1b21872e607248718df4d02cd2706212 : SUCCESS in 10m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4411d75e6a2140f8852376788e7d5aa8 : SUCCESS in 7m 25s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0933a6af2f5e4b9d87ddccc85ba41700 : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/5c6af5ce46eb4b75b06e7342f9624862 : SUCCESS in 1h 06m 23s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2e38e5c253de4eed94f7135590eb632a : SUCCESS in 48m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/008648f03b1d476aac089435ba90c6c2 : SUCCESS in 13m 53s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/5c6a49a02d7749b1aff10a044facda84 : SUCCESS in 50m 37s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/ef713880368f4d69a4130391a6d41a3b : SUCCESS in 51m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d69e012c7a594a40a6e65895ef358da0 : SUCCESS in 58m 58s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/8df99eb7e1114d6bbc6df1904e8e2f03 : SUCCESS in 43m 03s","accounts_in_message":[],"_revision_number":1},{"id":"75d04472fd267bd9475a8adbc5c1604b6941a639","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 20:59:38.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"934b2c29ee84fcbb751fae5f4e5241a8f04b56c6","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 21:00:48.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b57513c720754d028d36bc14c69af36e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/967f9932b0e34ff48ac57ed09e89a560 : SUCCESS in 58s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fce7aa5f287f44b0a8e7f208d8402536 : SUCCESS in 45s","accounts_in_message":[],"_revision_number":1},{"id":"53f1ba7c8db24605f3a7c85c8b085c7aabdec786","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"date":"2026-08-13 15:48:45.000000000","message":"Hashtag added: pqc-migration","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"f9a4a551f5c6b654fd5e730b604f5825accf54aa","revisions":{"f9a4a551f5c6b654fd5e730b604f5825accf54aa":{"kind":"REWORK","_number":1,"created":"2026-04-17 10:38:51.000000000","uploader":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"ref":"refs/changes/81/985081/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/81/985081/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/81/985081/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/81/985081/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/81/985081/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/81/985081/1"}}},"commit":{"parents":[{"commit":"80d5b7bf50448073223723cf1f6001a367695e80","subject":"Merge \"Fix pagination next link duplicating URL prefix\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/80d5b7bf50448073223723cf1f6001a367695e80"}]}],"author":{"name":"Mauricio Harley","email":"mharley@redhat.com","date":"2026-04-17 10:36:46.000000000","tz":0},"committer":{"name":"Mauricio Harley","email":"mharley@redhat.com","date":"2026-04-17 10:37:21.000000000","tz":0},"subject":"Make JWT token signing algorithm configurable","message":"Make JWT token signing algorithm configurable\n\nThe JWS token provider hardcodes ES256 (ECDSA P-256) for signing and\nverifying tokens. This prevents operators from selecting stronger or\nmore appropriate algorithms without modifying the source code, and\nblocks a future migration path to post-quantum algorithms like ML-DSA.\n\nAdd two new configuration options under [jwt_tokens]:\n\n- jws_algorithm: selects the signing algorithm (ES256, ES384, ES512,\n  or EdDSA). Default is ES256 for backward compatibility.\n- jws_accepted_algorithms: list of algorithms accepted during token\n  validation, enabling a migration window where tokens signed with a\n  previous algorithm remain valid until they expire.\n\nThe keystone-manage create_jws_keypair command now generates the key\ntype that matches the configured algorithm.\n\nAlso fix _decode_token_from_id to pass algorithms as a list instead\nof a string, and to catch InvalidKeyError and InvalidAlgorithmError\nwhen iterating public keys of mixed types during algorithm migration.\n\nChange-Id: Id97bb3152d4363c607aaac35b6c8f6628fa125d2\nSigned-off-by: Mauricio Harley \u003cmharley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/f9a4a551f5c6b654fd5e730b604f5825accf54aa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/f9a4a551f5c6b654fd5e730b604f5825accf54aa"}]},"branch":"refs/heads/master"}},"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
