)]}'
{"id":"openstack%2Fkeystone~963946","triplet_id":"openstack%2Fkeystone~master~I89235b2721380544304221a2da67a30971c62bf9","project":"openstack/keystone","branch":"master","topic":"bytestring_mapping_fix","attention_set":{},"removed_from_attention_set":{"14250":{"account":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"last_update":"2025-11-14 23:49:44.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I89235b2721380544304221a2da67a30971c62bf9","subject":"Bytes-vs-str mismatch causes repeated ID mapping creates on list","status":"MERGED","created":"2025-10-14 11:30:44.000000000","updated":"2025-11-14 23:50:42.000000000","submitted":"2025-11-14 23:49:44.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"963946-bytestring_mapping_fix","meta_rev_id":"e4786f8544a749ddffc67ef3f6a4d896314831f9","_number":963946,"virtual_id_number":963946,"owner":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-11-14 23:49:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"all":[{"value":2,"date":"2025-10-14 13:45:48.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-11-14 14:50:32.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-11-14 14:50:32.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"CC":[{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-14 12:10: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":"2025-10-14 13:45:48.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"},{"updated":"2025-11-14 14:50:32.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"},{"updated":"2025-11-14 20:07:32.000000000","updated_by":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"reviewer":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"state":"CC"}],"messages":[{"id":"f741cfb9bfc1f144ada8e7c5de4d980dd97f7fd3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2025-10-14 11:30:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"cb04de0d63626be76301a2114cb9e6fad3176951","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2025-10-14 11:41:09.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"3cdd869d02acada850f112c025b3a02558d1b383","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2025-10-14 12:00:49.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"00d1bba04641818dee360c32212de2b95910a059","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-14 12:10:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/977591752ea249818521f8b3ce250b9a\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8292bc5288254196a6a112c39630ede8 : SUCCESS in 15m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d41329f0d77145b9a5cf97009789849b : SUCCESS in 7m 05s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/02143c6a01654c0c8091dee37ec487e1 : SUCCESS in 11m 31s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f3a3e51821024cb884966d37e03b3fca : SUCCESS in 8m 31s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/dd108d5a761948fe90007f1c1c7dbc48 : SUCCESS in 13m 12s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8953829ecf16443bb0e6c1503fd9889b : SUCCESS in 13m 47s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/83074410b736467bbdc70dd9f000083e : FAILURE in 16m 17s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d359b87682d8460696f600c1162d9860 : SUCCESS in 5m 50s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"fe72983761d069ac9bee153d7e5c928c8e0b1717","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-14 12:28:06.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/60a681bb1ae3481aac5a5366e67665c9\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/7ab62ace471440bdb0b989084804df0d : SUCCESS in 22m 37s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9a936fe313b34d638e65a2eeb7ad54e7 : SUCCESS in 32m 34s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/f2e2879ff5f04b19b538e4a0cbc502ac : SUCCESS in 39m 15s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"3dba15c3f4b118db85d1d301a36b4ceb9bad0d25","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2025-10-14 12:30:28.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"b51672d59413349e76a47993cf8da3e46b97487a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-14 13:28:33.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d66121e026134e088b86b28789790391\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/3983706b999948109ec03eadc834287a : SUCCESS in 36m 08s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7ad3b11006234dc49b892eb188576549 : SUCCESS in 19m 24s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/6a709079fa894ce6990fcb07bc7400fc : SUCCESS in 26m 40s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a358dde40f74db3ee07e8442819a0a59c77231ca","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-14 13:39:51.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/48e1b898f7264ae2b0a4579b3b29a166\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/337e5d0d165b4e1d81f39306570618ed : SUCCESS in 13m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4dca365812d8472f89406fd75159c251 : SUCCESS in 4m 13s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c5a3043684754027a60cbbeff264f2da : SUCCESS in 11m 40s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3378dabdbdc84445b1a945efbd6eaf00 : SUCCESS in 12m 34s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/865102b4aaee4744bbf11bb68a04a953 : SUCCESS in 13m 08s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/191a035456184d30895461f023e6ca23 : SUCCESS in 14m 53s\n- grenade https://zuul.opendev.org/t/openstack/build/6c5b5293b948452a8e1a60c363a9f35e : SUCCESS in 31m 54s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/4f2778d0cd99400fbbd318f1e7e82d93 : SUCCESS in 1h 01m 15s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/0cc36b32da4148dcaca76cd8c021ce5d : SUCCESS in 9m 15s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/fce14befa2724493aa63d43a8c9d3e51 : SUCCESS in 31m 41s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/45068e060b5f445c8d2f9f0dc7e676a3 : FAILURE in 19m 01s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/2fa8b51cd3454964b21553ac398bdb53 : FAILURE in 27m 02s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/5ff807c4e44e4ee88f47678b0d9e9796 : SUCCESS in 11m 23s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/d5128236b75a4ddcb26681d94b68713f : SUCCESS in 12m 35s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/f7fc5005ad274442a51e56f8679a0f0d : SUCCESS in 19m 53s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/44fb4c5848d244cb9e47769e329b87b0 : SUCCESS in 42m 37s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/4410fcab2ceb466faec3ea4b433a42e1 : FAILURE in 27m 40s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/57186a1f483c454f8a0b681c95cadd48 : SUCCESS in 7m 38s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"05ad6de37df0b3d86e072755fa17bb3ceddaf1cc","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2025-10-14 13:45:48.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"ff12550706b0b536763cd64120f3f152e64eef4b","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2025-11-14 14:50:32.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"f341fd5af1bd768b455f596f8335101324a2a8bd","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 14:51:18.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"958f523c63e4c2daaf81c8907e1340f4f43866e0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 17:10:51.000000000","message":"Patch Set 3: 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/a1c00661cf1640b68c380acc4edcb0e2\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b5390c3ba1c74848ba7b84a8a7b357ad : SUCCESS in 8m 12s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/deb3d729d6674cf4b7788545da2931aa : FAILURE in 11m 12s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2ddfbc8031f44a3883a25e614d15418a : SUCCESS in 14m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dcd0b7ddbfa3414d993b6f8dd8c5213f : SUCCESS in 13m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/72852940c3e54ffe9d97fb4198b4134c : SUCCESS in 59m 00s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2e1f11e7203d4a6db0bf2503741e4c44 : SUCCESS in 2h 06m 44s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/4cd7472c75d549bd843ea266cc104b46 : SUCCESS in 30m 49s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/ef705a43b78345b0b01676e6ebe76459 : SUCCESS in 29m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c0e8ceb343444b63a76cbbf4434b3efb : SUCCESS in 56m 10s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/4ab2cd89bd9e4b00bd021973b7c79d6b : FAILURE in 39m 29s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"1f059170d27c859bd158f58a125908182e1b40f5","author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"date":"2025-11-14 20:07:32.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"8fdf3aea2dfdde7feb9391ca4da128b7f44d43b1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 20:43:59.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9e9b04c1464c406aba06ffae127b1097\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/784e3a0ecf924bc899f9888bbc508dc5 : SUCCESS in 32m 43s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6f844b7cb44149f9b0553352dc87c68e : SUCCESS in 31m 01s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/31bb9fd3e0dc4e68b92c1b723c794dbb : SUCCESS in 34m 46s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a35bcfc5d6f9a1d3b6ea857c304b0e9bc7ab9c41","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 21:57:45.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/14dcab5cd0d04b0e9e48677303ae460a\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/380d04ef47d845c79a73c8cf07eedf87 : SUCCESS in 18m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4478d0cf4b9e4c29a3439df6847a533b : SUCCESS in 6m 08s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/08238afdaa2746febfd741b866ecf51e : SUCCESS in 14m 27s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/90899b232eda4ed2ba56bd6dd33790e9 : SUCCESS in 9m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a109961446b84df08edf2d2c444fccd0 : SUCCESS in 14m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/82f62cf975fa493a8cbb5298175fbe51 : SUCCESS in 1h 01m 03s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/677a56287ce541f2a4f0c9b9c7bba43c : SUCCESS in 1h 04m 52s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/280d4f818b60482a81558231cdc0092b : SUCCESS in 19m 27s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/976166005f7745e381ef0d77b47c7cad : SUCCESS in 11m 58s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/7d184756d280430fa23d3c86acb29c62 : FAILURE in 19m 31s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/ed129d75f5104831b1661f7eb9f8ed61 : FAILURE in 18m 10s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/0537c8c2a8aa4f4d85b6e1a1e8a7467c : SUCCESS in 12m 26s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/3d4de67352244c5fb184bb0343309cf6 : SUCCESS in 36m 14s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/f51da15773de474d8b320ce487efe05b : SUCCESS in 28m 53s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6be454f4ffc54a1b85a11e353fe13295 : SUCCESS in 41m 16s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/3216cd24df96458e94d1c882facdeda2 : FAILURE in 50m 35s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/829c182e8f3447c6b949305a51a85760 : SUCCESS in 7m 50s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"f05110a4b07075c6894d7a944728922fd62f2eb2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 21:58:09.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"cd8ab8d824e5696f3515e8db100cc09df66b1232","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 23:49:44.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8433d02a6154ef5aa7862d623cb8cf8\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/17e8d8663ae4442495ed4d0fa6576a6c : SUCCESS in 4m 00s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c1d5cd36b3b94b9c82b7161be733de6f : SUCCESS in 7m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/32f3b1dc9673474285ef1f5d35c452d1 : SUCCESS in 9m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/23e1f77de6c14aa99380d5dd2d5fe497 : SUCCESS in 12m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/34a4c6e673804ce5a6a52c53a0801434 : SUCCESS in 42m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2fac051a01f847cca68f60f8c939bf50 : SUCCESS in 1h 46m 57s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/7a5ce3b3a9254f6e82e6a50ac0af7f92 : SUCCESS in 31m 20s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/ad96eb757bd845e583f84829372cf7f1 : SUCCESS in 20m 00s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/cdc36c70b8dd40db9599dc8ba283308e : SUCCESS in 40m 06s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/56ac09c550df48b8b44bf6c516f7c006 : FAILURE in 27m 04s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"c8fd0733a5466fe041f34d539ab9b8d2cbd90b3f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 23:49:44.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"e4786f8544a749ddffc67ef3f6a4d896314831f9","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-14 23:50:42.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e49fb16530564fa4b725d479a923e12e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/69e1c65e68db43128e77009086360314 : SUCCESS in 46s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"bc3e790f582250555c89a973d7342c8d754c0109","revisions":{"94f7553d94fcd37d0fb2af3ab9ac07365be7f831":{"kind":"REWORK","_number":1,"created":"2025-10-14 11:30:44.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/46/963946/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/46/963946/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/46/963946/1"}}},"commit":{"parents":[{"commit":"98b5b4c485e748275b9507e613749871a9ebd665","subject":"Merge \"Fix federation mapping jsonschema\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/98b5b4c485e748275b9507e613749871a9ebd665"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 11:22:55.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 11:30:19.000000000","tz":120},"subject":"Bytes-vs-str mismatch causes repeated ID mapping creates on list","message":"Bytes-vs-str mismatch causes repeated ID mapping creates on list\n\nNon-domain-aware drivers (e.g. LDAP) can yield refs with bytes local IDs\nwhile the ID mapping layer stores/returns strings.\n\nDuring list post-processing, this mismatch prevents lookups from hitting\nthe seeded mapping and triggers create_id_mapping again on each pass,\ncausing unnecessary churn and latency during token issuance.\n\nThis change adds unit coverage to reproduce and document the issue:\n - bytes IDs: cumulative create_id_mapping count increases with each\n   iteration (mismatch persists).\n - string IDs: seeded mapping is reused; no creates across iterations.\nThe helper always seeds with a string local_id, normalizing the mapping\nlist local_id to string. Assertions check cumulative call counts to\nclearly demonstrate the behavioral difference on string vs bytestring.\n\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\nChange-Id: I89235b2721380544304221a2da67a30971c62bf9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/94f7553d94fcd37d0fb2af3ab9ac07365be7f831"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/94f7553d94fcd37d0fb2af3ab9ac07365be7f831"}]},"branch":"refs/heads/master"},"5beb49ab477f5d8cc33618e7689d61a0b17f142e":{"kind":"REWORK","_number":2,"created":"2025-10-14 11:41:09.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/46/963946/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/46/963946/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/46/963946/2"}}},"commit":{"parents":[{"commit":"98b5b4c485e748275b9507e613749871a9ebd665","subject":"Merge \"Fix federation mapping jsonschema\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/98b5b4c485e748275b9507e613749871a9ebd665"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 11:22:55.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 11:40:50.000000000","tz":120},"subject":"Bytes-vs-str mismatch causes repeated ID mapping creates on list","message":"Bytes-vs-str mismatch causes repeated ID mapping creates on list\n\nNon-domain-aware drivers (e.g. LDAP) can yield refs with bytes local IDs\nwhile the ID mapping layer stores/returns strings.\n\nDuring list post-processing, this mismatch prevents lookups from hitting\nthe seeded mapping and triggers create_id_mapping again on each pass,\ncausing unnecessary churn and latency during token issuance.\n\nThis change adds unit coverage to reproduce and document the issue:\n - bytes IDs: cumulative create_id_mapping count increases with each\n   iteration (mismatch persists).\n - string IDs: seeded mapping is reused; no creates across iterations.\nThe helper always seeds with a string local_id, normalizing the mapping\nlist local_id to string. Assertions check cumulative call counts to\nclearly demonstrate the behavioral difference on string vs bytestring.\n\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\nChange-Id: I89235b2721380544304221a2da67a30971c62bf9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/5beb49ab477f5d8cc33618e7689d61a0b17f142e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/5beb49ab477f5d8cc33618e7689d61a0b17f142e"}]},"branch":"refs/heads/master"},"bc3e790f582250555c89a973d7342c8d754c0109":{"kind":"REWORK","_number":3,"created":"2025-10-14 12:30:28.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/46/963946/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/46/963946/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/46/963946/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/46/963946/3"}}},"commit":{"parents":[{"commit":"98b5b4c485e748275b9507e613749871a9ebd665","subject":"Merge \"Fix federation mapping jsonschema\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/98b5b4c485e748275b9507e613749871a9ebd665"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 11:22:55.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2025-10-14 12:30:18.000000000","tz":120},"subject":"Bytes-vs-str mismatch causes repeated ID mapping creates on list","message":"Bytes-vs-str mismatch causes repeated ID mapping creates on list\n\nLDAP drivers can yield refs with values encoded as bytestrings,\nwhich inclues bytes local IDs, while the ID mapping layer\nstores/returns strings.\n\nDuring list post-processing, this mismatch prevents lookups from hitting\nthe seeded mapping and triggers create_id_mapping again on each pass,\ncausing unnecessary churn and latency during token issuance.\n\nThis change adds unit test for both cases:\n - bytes IDs: the original behavior was that the cumulative\n   create_id_mapping count increased with each iteration.\n - string IDs: seeded mapping is reused; no creates across iterations.\nThe helper always seeds with a string local_id, normalizing the mapping\nlist local_id to string. After the fix, the results are the same for\nstring and bytestring.\n\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\nChange-Id: I89235b2721380544304221a2da67a30971c62bf9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/bc3e790f582250555c89a973d7342c8d754c0109"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/bc3e790f582250555c89a973d7342c8d754c0109"}]},"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":{}}},{"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":{}}}]}
