)]}'
{"id":"openstack%2Fkeystone~985406","triplet_id":"openstack%2Fkeystone~master~Iaea840aeb61b573610b6dd5312f58a2bee3e1f63","project":"openstack/keystone","branch":"master","attention_set":{"28619":{"account":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"last_update":"2026-04-21 04:35:16.000000000","reason":"\u003cGERRIT_ACCOUNT_26892\u003e replied on the change","reason_account":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"}}},"removed_from_attention_set":{"26892":{"account":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"last_update":"2026-04-20 19:21:55.000000000","reason":"Change was marked work in progress"}},"hashtags":[],"change_id":"Iaea840aeb61b573610b6dd5312f58a2bee3e1f63","subject":"Add IP allowlist for users, domains, and projects","status":"NEW","created":"2026-04-20 13:04:17.000000000","updated":"2026-04-25 21:03:55.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":24,"unresolved_comment_count":2,"work_in_progress":true,"has_review_started":true,"meta_rev_id":"3c7a2f24c0265daa8f97b03171d58ec0f8084713","_number":985406,"virtual_id_number":985406,"owner":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-04-25 21:03:55.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}]},"pending_reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2026-04-20 14:22:14.000000000","updated_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"REVIEWER"},{"updated":"2026-04-20 15:31:07.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"}],"messages":[{"id":"a67cbf32e1fa3326a8fdf89180ff64dd993d7384","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-20 13:04:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3a5c89e2feedf53381c674cc43d31e46c50d2a83","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-20 14:22:14.000000000","message":"Patch Set 1: Code-Review-1\n\n(6 comments)","accounts_in_message":[],"_revision_number":1},{"id":"5afc3293afda39296f5f2db124504a89346509c8","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-20 14:25:52.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a725c0263d863b5c0eec6761865b90fa1a969353","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-20 14:27:45.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"eb543659c367be8b320796b58bb49920a7ca808e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 15:31:07.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/3d500182671a4349a9a7c1d4f266b711\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ccce9be316334347906a0589064598bd : SUCCESS in 2m 45s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2d6eaa98af404b508a3dea0e234da9b2 : FAILURE in 20m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f2ecd6953b194b80b464f95431c08cf1 : FAILURE in 6m 00s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a3ac15b4cb374b70b84ced237befec7a : FAILURE in 12m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/84a39e8367b3433fbc4de67a80899c4f : FAILURE in 11m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/eda9d31ea9634aef8bb734d029f26fff : FAILURE in 15m 02s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/beab672dbe2b430786090155e5bceb90 : SUCCESS in 15m 35s\n- requirements-check https://zuul.opendev.org/t/openstack/build/188abdf29cb8461c817185e3084c81a3 : SUCCESS in 4m 48s\n- grenade https://zuul.opendev.org/t/openstack/build/951694fd15c340cb8877054ea7d2a212 : SUCCESS in 1h 06m 15s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/cabc69390a6f43568dea1fd77d59cebc : SUCCESS in 55m 33s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/cedade0dbf73484398594223c36e9468 : SUCCESS in 18m 46s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/cf96627a437c49f38d1fde558a219074 : SUCCESS in 29m 22s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/eaff52c7316d4f63b346948bfde72f2f : FAILURE in 20m 22s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/9cbfcb3b1522420b8cd468c0c71cefb9 : FAILURE in 25m 46s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/b165b2d8c02746f780faa3b4b4eeb667 : SUCCESS in 30m 25s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/7fa29f0aca3b4baaae44b66be4eb84ad : SUCCESS in 15m 40s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/6ac0ad12b7d743f097d830bcf2218db5 : SUCCESS in 42m 02s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9ab25f8bad724230b8d00f25065cede6 : SUCCESS in 1h 09m 15s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/0bb3f00b742f4435886f948113d914a9 : FAILURE in 27m 44s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/70a71aa117094cdfbefc691bf182b045 : SUCCESS in 7m 55s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"452440c747c845553c0396413f037af78f638f2f","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-20 15:53:28.000000000","message":"Patch Set 1:\n\n(7 comments)","accounts_in_message":[],"_revision_number":1},{"id":"513d469f99188582ea5d99cc40901dd5e51744cd","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-20 15:58:46.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"7cc682a92c7673afa8e3864b5a18583f1eaf2ce1","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-20 16:04:46.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"da0d21ab2079121992e1490f142081db09478501","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 16:18:49.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c96be31bb37244b0b2d0d4672db01463\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/af8dfb1e031d4d06988d7e5dba6b5ca1 : FAILURE in 21m 12s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/482423bd27c84376be9fb6604dec7c00 : FAILURE in 18m 33s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/e677cdf14c904e799ad56a9d14202712 : FAILURE in 29m 10s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"4c837fa9ce70c3980e571f98f989ef9587c223f5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-20 19:20:59.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"e2557d5b61a40b6c6db9d28b7d0ec0dd1e217a89","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-20 19:21:55.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":2},{"id":"707067f1b4cf05715f9d11129a1e79d0a9bc57c6","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-20 19:59:13.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"3412bb9617fcd652644bae64d7b40d3e558d55ca","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 20:34:17.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2fcd6e38f8314b04b95cf9cbbe457972\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/40fa01ea04fc460394db3ccb7cf4900c : FAILURE in 15m 45s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/501cec16a1524e769025e7f3f687fdcf : FAILURE in 12m 04s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/aa42d88acd1d4c25ad60397ac26043c2 : FAILURE in 18m 53s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a9c06ab21041d7ef4ecfd4791aa3588211786c84","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 21:55:46.000000000","message":"Patch Set 3: 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/71bd83711a6a40a6851c3189491fe38b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a92aa0c58fbe4a74b6c983207d0c230a : SUCCESS in 2m 18s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0d434ab13b36459ca0f3783eb2ff8ef5 : FAILURE in 11m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/76c7139cfc5c41068ca3401bcfa21edd : FAILURE in 4m 58s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7a994b7c57584768b6bf1301db3340b5 : FAILURE in 10m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/eee8b87c2c5a49fb919cda727082c340 : FAILURE in 9m 19s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ae243e955ef34b5aa6e02969f8c568b8 : FAILURE in 12m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f805f326fd2546e28bc38058c62932df : SUCCESS in 13m 20s\n- requirements-check https://zuul.opendev.org/t/openstack/build/af35c60056ef4fa182502765f6320d18 : SUCCESS in 3m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/23ac867f371c4e918baf81693d6b941d : SUCCESS in 34m 27s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/59e7c11b2e824245b9a727b091eb5cad : SUCCESS in 1h 50m 05s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/8d232f9c389b4cb992439979bdd7b907 : SUCCESS in 9m 02s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/2b808b91e98d4c1b82c0064b12733743 : SUCCESS in 22m 59s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/6c28a137a701457eab9ef00fe71ef774 : FAILURE in 21m 02s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/9a0b68482aaa4c199e93815cf5723f2f : FAILURE in 24m 05s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/bf2e3894b8a34831b5da200554771c55 : SUCCESS in 21m 53s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/cad34220ca4f4e818489fad394c484ab : SUCCESS in 23m 04s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/113310a2e71d43388020e7c45abe638d : SUCCESS in 27m 17s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/57b5298e533d48bdbeb57386abee614e : SUCCESS in 56m 37s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/11ff3a127fc44ee08075d23f1d635876 : FAILURE in 42m 19s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/0b4e40913c2045428e4d28bd3ae65b3f : SUCCESS in 4m 06s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"5032f1a416503488440db952350200084d4dd631","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-21 04:35:16.000000000","message":"Patch Set 3:\n\n(4 comments)","accounts_in_message":[],"_revision_number":3},{"id":"c08bd315376dc15d4dc4504b00aac9b52f80df0c","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-21 06:06:41.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"d1df23bdf258c22b4e9e73a32330790cb4cf5f48","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-25 12:41:42.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"3e3b9bf7c117b497e6b017c7fe36f5389c2799d6","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-25 13:17:26.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b22e87d9075147cba7fbfd867e9e19fa\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/e811b2fe85914d7c84455fd178a15b77 : FAILURE in 15m 14s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/705fec3ce4f044a380acae910f70b3fe : FAILURE in 11m 38s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/c7286bc40e49421db496a0d2719b2453 : FAILURE in 19m 44s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"ca762aba8f9deabd2474ac406fba217a3c39c294","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-25 14:02:16.000000000","message":"Patch Set 4: 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/1b1f76e12f394be19a3a7b8b8cc89254\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/de03ceaf91344e61b580afcfda70f1cd : SUCCESS in 1m 52s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b8535f3d12424af090ec4d41fc551213 : FAILURE in 13m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ff213413546b4ca2987a0abfad4f0d22 : FAILURE in 4m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6ecd189a5e384f8fb801657e3f7fa52a : FAILURE in 9m 28s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8f63ba74e0e6469fa00898f1aecaf583 : FAILURE in 9m 01s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d4257f671db44f41937e48adf70f8331 : FAILURE in 14m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/718e63c33c0f483c985e15d1fd8753af : SUCCESS in 7m 06s\n- requirements-check https://zuul.opendev.org/t/openstack/build/3a454068a0ee4a22b3a6a94669dfa08c : SUCCESS in 3m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/e32b674fd27b4b69aed2a00dbc566dde : SUCCESS in 1h 03m 15s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/56e63552a1ac4fab89cc4227168f67a2 : SUCCESS in 1h 19m 43s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/fb668b63a0c647ed98b1e4c9f189f68c : SUCCESS in 17m 27s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/37c0594969404ff09eb1f0e5eb954b7d : SUCCESS in 33m 36s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/d1b92b87569546589a225454d021c609 : FAILURE in 20m 35s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/4294bbab2c3947f19893e50593d63f99 : FAILURE in 26m 16s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/6ea76be1a1854a72ba9015ff85ea56f8 : SUCCESS in 22m 52s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/adf39ac69e5041bdbb6fca30feb1bada : SUCCESS in 31m 56s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/84d017212b6d43a29bd1839c8c9bc219 : SUCCESS in 37m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e53639a05c9d401fbebe94926ccd49fa : SUCCESS in 57m 54s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/1ea30bf4c3ad424e9528b5c40050d8fb : FAILURE in 7m 22s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4cb6cf20d50145fc9e1a51b84dec2464 : SUCCESS in 6m 45s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"12678ecc4cf120f2d1646fea5018360d477e9d5e","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"date":"2026-04-25 19:08:41.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"b353e329f83b3c79861e7e593d5d9c137b43ffeb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-25 20:02:15.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9571425f3ff64ab890935667ab987742\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/10b40040acf04732afc6dd7f5346503c : FAILURE in 15m 17s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/b2d92e1dbb3c47c5b55d57a3129b441b : FAILURE in 13m 53s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/b1af104ca42b4665b7b12616ad7d4711 : FAILURE in 19m 36s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"3c7a2f24c0265daa8f97b03171d58ec0f8084713","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-25 21:03:55.000000000","message":"Patch Set 5: Verified-1\n\n(1 comment)\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/d17f54e5b53f454e8595ac301a4fed3c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d2f0ecb96d5143d292deba8aee6cdcc1 : SUCCESS in 2m 51s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/de854926eef8446e9bcab14f83c32139 : FAILURE in 16m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f06af0f60cd54674b9e202c8bd0f1fb3 : FAILURE in 4m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/dc5146342e9f452ab998ea1c64f1cbd3 : FAILURE in 10m 54s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c02bb690a9314db4a05eaa88422d1048 : FAILURE in 11m 29s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1ea962b331264a4b9f8a5ecbdd051989 : FAILURE in 9m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/776b9b22a71d48caadae3edb9d1a9c54 : SUCCESS in 14m 28s\n- requirements-check https://zuul.opendev.org/t/openstack/build/6cb8f78047c846a6870e8ffe70b0fe6e : SUCCESS in 2m 35s\n- grenade https://zuul.opendev.org/t/openstack/build/1e32d7f5383a446886dd81c30b9939d4 : SUCCESS in 1h 02m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/019e7771b5c04425acb7fa3b5550e140 : SUCCESS in 1h 49m 12s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/9b9c34d8ef2442048905053ee9609732 : SUCCESS in 14m 19s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/0d6286e45865498584077d5a808913de : SUCCESS in 17m 52s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/8c0239aed2384e9fbfb608bb93135d26 : FAILURE in 19m 55s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/35519553bdc1487a994da421cd08f23e : FAILURE in 26m 00s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/209fec515ed44f5e8d2c9cf36dda22f5 : SUCCESS in 34m 09s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/0e9de114c5944dbf93cb727b8706ad5d : SUCCESS in 31m 33s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/77a449e065ea4bfea48fa2d1da72572e : SUCCESS in 36m 25s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2b3d2688e1724d50bf627b293236e5d1 : SUCCESS in 1h 05m 55s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/81675f0ce7384cbb93216fd49b49197c : FAILURE in 41m 05s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/90ebfe409c914fd2b113a31fbc533770 : SUCCESS in 7m 06s (non-voting)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"596847e35f25f9390804697637bf0648f7e38869","revisions":{"1ec7dd390038faafcb850a48779da2735c09cb9b":{"kind":"REWORK","_number":1,"created":"2026-04-20 13:04:17.000000000","uploader":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"ref":"refs/changes/06/985406/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/06/985406/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/06/985406/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":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:00:11.000000000","tz":120},"committer":{"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:04:15.000000000","tz":120},"subject":"Adds Per-User IP Allowlist","message":"Adds Per-User IP Allowlist\n\nSpec: https://review.opendev.org/c/openstack/keystone-specs/+/983993\n\nIntroduce a new optional OS-IP-ALLOWLIST extension that lets operators\nrestrict token creation to a set of CIDRs configurable per user.\n\nA new ``ip_allowlist`` manager with a pluggable backend (SQL driver\nincluded) stores CIDR entries keyed by user ID, exposed under\n``/v3/OS-IP-ALLOWLIST/users/{user_id}/cidrs`` with list/create/get/delete\noperations guarded by dedicated policy rules.\n\nWhen ``[ip_allowlist] enabled`` is true, the token provider checks the\nrequest\u0027s source IP against the user\u0027s CIDR list before issuing a\ntoken.\nUsers with no entries are unaffected (default allow-all).\nUsers with entries must match at least one CIDR or the request is rejected with\nUnauthorized.\nThe feature is disabled by default.\n\nImplements: blueprint keystone-ip-allowlist\nAssisted-By: Claude Opus 4.6\nChange-Id: Iaea840aeb61b573610b6dd5312f58a2bee3e1f63\nSigned-off-by: Marcus Murwall \u003cmarcus.murwall@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1ec7dd390038faafcb850a48779da2735c09cb9b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1ec7dd390038faafcb850a48779da2735c09cb9b"}]},"branch":"refs/heads/master"},"d76fb4603b5ff72e00089caf1773ac3f969c58a1":{"kind":"REWORK","_number":2,"created":"2026-04-20 19:20:59.000000000","uploader":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"ref":"refs/changes/06/985406/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/06/985406/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/06/985406/2"}}},"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":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:00:11.000000000","tz":120},"committer":{"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 19:20:28.000000000","tz":120},"subject":"Adds Per-User IP Allowlist","message":"Adds Per-User IP Allowlist\n\nSpec: https://review.opendev.org/c/openstack/keystone-specs/+/983993\n\nIntroduce a new optional OS-IP-ALLOWLIST extension that lets operators\nrestrict token creation to a set of CIDRs configurable per user.\n\nA new ``ip_allowlist`` manager with a pluggable backend (SQL driver\nincluded) stores CIDR entries keyed by user ID, exposed under\n``/v3/OS-IP-ALLOWLIST/users/{user_id}/cidrs`` with list/create/get/delete\noperations guarded by dedicated policy rules.\n\nWhen ``[ip_allowlist] enabled`` is true, the token provider checks the\nrequest\u0027s source IP against the user\u0027s CIDR list before issuing a\ntoken.\nUsers with no entries are unaffected (default allow-all).\nUsers with entries must match at least one CIDR or the request is rejected with\nUnauthorized.\nThe feature is disabled by default.\n\nImplements: blueprint keystone-ip-allowlist\nAssisted-By: Claude Opus 4.6\nChange-Id: Iaea840aeb61b573610b6dd5312f58a2bee3e1f63\nSigned-off-by: Marcus Murwall \u003cmarcus.murwall@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/d76fb4603b5ff72e00089caf1773ac3f969c58a1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/d76fb4603b5ff72e00089caf1773ac3f969c58a1"}]},"branch":"refs/heads/master"},"c7a43c74d1e41c9a8475a092f36193cfa0b6d604":{"kind":"REWORK","_number":3,"created":"2026-04-20 19:59:13.000000000","uploader":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"ref":"refs/changes/06/985406/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/06/985406/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/06/985406/3"}}},"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":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:00:11.000000000","tz":120},"committer":{"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 19:58:48.000000000","tz":120},"subject":"Adds Per-User IP Allowlist","message":"Adds Per-User IP Allowlist\n\nSpec: https://review.opendev.org/c/openstack/keystone-specs/+/983993\n\nIntroduce a new optional OS-IP-ALLOWLIST extension that lets operators\nrestrict token creation to a set of CIDRs configurable per user.\n\nA new ``ip_allowlist`` manager with a pluggable backend (SQL driver\nincluded) stores CIDR entries keyed by user ID, exposed under\n``/v3/OS-IP-ALLOWLIST/users/{user_id}/cidrs`` with list/create/get/delete\noperations guarded by dedicated policy rules.\n\nWhen ``[ip_allowlist] enabled`` is true, the token provider checks the\nrequest\u0027s source IP against the user\u0027s CIDR list before issuing a\ntoken.\nUsers with no entries are unaffected (default allow-all).\nUsers with entries must match at least one CIDR or the request is rejected with\nUnauthorized.\nThe feature is disabled by default.\n\nImplements: blueprint keystone-ip-allowlist\nAssisted-By: Claude Opus 4.6\nChange-Id: Iaea840aeb61b573610b6dd5312f58a2bee3e1f63\nSigned-off-by: Marcus Murwall \u003cmarcus.murwall@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c7a43c74d1e41c9a8475a092f36193cfa0b6d604"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c7a43c74d1e41c9a8475a092f36193cfa0b6d604"}]},"branch":"refs/heads/master"},"1c6efaf4d5d96c744c0ed080ce24a8198592fb8b":{"kind":"REWORK","_number":4,"created":"2026-04-25 12:41:42.000000000","uploader":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"ref":"refs/changes/06/985406/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/06/985406/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/06/985406/4"}}},"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":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:00:11.000000000","tz":120},"committer":{"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-25 12:40:27.000000000","tz":120},"subject":"Add IP allowlist for users, domains, and projects","message":"Add IP allowlist for users, domains, and projects\n\nSpec: https://review.opendev.org/c/openstack/keystone-specs/+/983993\n\nIntroduce a new optional OS-IP-ALLOWLIST extension that lets operators\nrestrict token issuance to a set of CIDRs. Allowlists can be attached\nto a user, a domain, or a project, and are enforced at token-issuance\ntime along authentication and authorization axes:\n\n- enforce_authentication() checks the user and the user\u0027s home domain;\n  a deny raises IPAddressNotAllowed (401).\n- enforce_authorization() checks the scoped project (and its parent\n  domain) or the scoped domain; a deny raises\n  IPAddressNotAllowedForScope (403).\n\nA target with no entries is open, so enabling the feature is a no-op\nfor users, domains, and projects that have not configured an\nallowlist. failed_auth_count is intentionally not incremented on an\nallowlist deny to avoid a lockout amplification vector.\n\nThe new ip_allowlist_entry table is keyed by (target_type, target_id)\nwith a joint index supporting the issue_token lookup pattern. The\nmanager has a pluggable backend (SQL driver included) and exposes CRUD\nunder three symmetric URL families:\n\n    /v3/OS-IP-ALLOWLIST/{users,domains,projects}/{id}/cidrs\n\nTwelve RBAC rules (four per target type) gate the API; user rules\ndefer to the user\u0027s home-domain manager, domain rules to the target\ndomain manager, and project rules to the project\u0027s parent-domain\nmanager.\n\nFor deployments behind a reverse proxy, [ip_allowlist] client_ip_header\ncan be set (e.g. X-Forwarded-For); Keystone reads the leftmost\ncomma-separated value, falling back to REMOTE_ADDR with a warning if\nabsent. The edge proxy must overwrite or strip the header to prevent\nspoofing.\n\nAllowlist denials emit a CADF identity.authenticate failure event\ncarrying the exception message and HTTP code, so operators can audit\ndenials alongside normal authN failures.\n\nImplements: blueprint keystone-ip-allowlist\nAssisted-By: Claude Opus 4.6\nChange-Id: Iaea840aeb61b573610b6dd5312f58a2bee3e1f63\nSigned-off-by: Marcus Murwall \u003cmarcus.murwall@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1c6efaf4d5d96c744c0ed080ce24a8198592fb8b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/1c6efaf4d5d96c744c0ed080ce24a8198592fb8b"}]},"branch":"refs/heads/master"},"596847e35f25f9390804697637bf0648f7e38869":{"kind":"REWORK","_number":5,"created":"2026-04-25 19:08:41.000000000","uploader":{"_account_id":26892,"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","username":"muran"},"ref":"refs/changes/06/985406/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/06/985406/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/06/985406/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/06/985406/5"}}},"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":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-20 13:00:11.000000000","tz":120},"committer":{"name":"Marcus Murwall","email":"marcus.murwall@cleura.com","date":"2026-04-25 19:08:29.000000000","tz":120},"subject":"Add IP allowlist for users, domains, and projects","message":"Add IP allowlist for users, domains, and projects\n\nSpec: https://review.opendev.org/c/openstack/keystone-specs/+/983993\n\nIntroduce a new optional OS-IP-ALLOWLIST extension that lets operators\nrestrict token issuance to a set of CIDRs. Allowlists can be attached\nto a user, a domain, or a project, and are enforced at token-issuance\ntime along authentication and authorization axes:\n\n- enforce_authentication() checks the user and the user\u0027s home domain;\n  a deny raises IPAddressNotAllowed (401).\n- enforce_authorization() checks the scoped project (and its parent\n  domain) or the scoped domain; a deny raises\n  IPAddressNotAllowedForScope (403).\n\nA target with no entries is open, so enabling the feature is a no-op\nfor users, domains, and projects that have not configured an\nallowlist. failed_auth_count is intentionally not incremented on an\nallowlist deny to avoid a lockout amplification vector.\n\nThe new ip_allowlist_entry table is keyed by (target_type, target_id)\nwith a joint index supporting the issue_token lookup pattern. The\nmanager has a pluggable backend (SQL driver included) and exposes CRUD\nunder three symmetric URL families:\n\n    /v3/OS-IP-ALLOWLIST/{users,domains,projects}/{id}/cidrs\n\nTwelve RBAC rules (four per target type) gate the API; user rules\ndefer to the user\u0027s home-domain manager, domain rules to the target\ndomain manager, and project rules to the project\u0027s parent-domain\nmanager.\n\nFor deployments behind a reverse proxy, [ip_allowlist] client_ip_header\ncan be set (e.g. X-Forwarded-For); Keystone reads the leftmost\ncomma-separated value, falling back to REMOTE_ADDR with a warning if\nabsent. The edge proxy must overwrite or strip the header to prevent\nspoofing.\n\nAllowlist denials emit a CADF identity.authenticate failure event\ncarrying the exception message and HTTP code, so operators can audit\ndenials alongside normal authN failures.\n\nImplements: blueprint keystone-ip-allowlist\nAssisted-By: Claude Opus 4.6\nChange-Id: Iaea840aeb61b573610b6dd5312f58a2bee3e1f63\nSigned-off-by: Marcus Murwall \u003cmarcus.murwall@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/596847e35f25f9390804697637bf0648f7e38869"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/596847e35f25f9390804697637bf0648f7e38869"}]},"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":""}}}]}
