)]}'
{"id":"openstack%2Fkeystone~948559","triplet_id":"openstack%2Fkeystone~stable%2F2025.1~I854d37e3b4a34a7880f157564466bde61a3f886a","project":"openstack/keystone","branch":"stable/2025.1","attention_set":{},"removed_from_attention_set":{"28619":{"account":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"last_update":"2025-05-01 14:28:32.000000000","reason":"Change was submitted"},"27900":{"account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"last_update":"2025-05-01 13:34:36.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":[],"change_id":"I854d37e3b4a34a7880f157564466bde61a3f886a","subject":"Fix DB migrations after alembic integration","status":"MERGED","created":"2025-04-30 16:37:24.000000000","updated":"2025-05-01 14:29:26.000000000","submitted":"2025-05-01 14:28:32.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"948559","cherry_pick_of_change":930589,"cherry_pick_of_patch_set":3,"meta_rev_id":"743fcfc4cd0d73754296e30e1d3e26065a578672","_number":948559,"virtual_id_number":948559,"owner":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"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"},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-05-01 14:28:32.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}],"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-04-30 18:54:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":2,"date":"2025-05-01 13:34:36.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"]},{"value":1,"date":"2025-05-01 11:51:41.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}],"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":1,"date":"2025-05-01 13:34:36.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"]},{"value":0,"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}],"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"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-04-30 17:14:51.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-04-30 18:38:00.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-04-30 18:54:10.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-05-01 11:51:41.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"state":"REVIEWER"},{"updated":"2025-05-01 11:51:41.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"}],"messages":[{"id":"f82630651482bc3755d4486fb6a797e502d8f184","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2025-04-30 16:37:24.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"0cd31c8132bf3094e001537654c09806cfdce959","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-30 17:14:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/24002a356fba4ca48c14e7e2fe699450\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/6dd2490688a343d295a4a8ca95a2ee73 : SUCCESS in 35m 14s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/809076fbe511420eab79a5412f9dabe6 : SUCCESS in 33m 25s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"4193f6a03b159219920bde4b8c0f1f9dd91b7013","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-30 18:38:00.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8e0a26d29f44404c97c12af97488caf8\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/68d487b5c6204f11aad75c8ef0a055c7 : SUCCESS in 13m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e2a3ef2770e44372b6e58e7febd91e30 : SUCCESS in 6m 29s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/e8b099e0439e451484ccf74ec65194e4 : SUCCESS in 11m 20s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/061c0aadc1714139acfb4ab4af0b8c7a : SUCCESS in 11m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c98c0388e4f645b598795bfcf293b44b : SUCCESS in 12m 57s\n- grenade https://zuul.opendev.org/t/openstack/build/e3e33e2566844de9b4846bae898a1f63 : SUCCESS in 57m 09s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6bc1f90ea56a427386a73ca2297d4e51 : SUCCESS in 1h 52m 22s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/40fa57b062834091aa64c8fb317e4501 : SUCCESS in 28m 23s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/795d87ceb4054bc6ad51e97da7569ef1 : FAILURE in 30m 08s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/c342035ec2c74377b97e811ac8b6f261 : FAILURE in 17m 49s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-jammy-k2k https://zuul.opendev.org/t/openstack/build/283b2c2de8974c80ac7906ef9db20210 : SUCCESS in 23m 49s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/9b351ad2a6d5478a8e2730a8fb62aa73 : SUCCESS in 13m 54s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/4ef0ee26952a4239b098fc507f8aae17 : FAILURE in 17m 21s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3fdbb47532124f38b806f3fb0f1a721e : SUCCESS in 49m 21s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/6c8979467b744cf3a66ef970c0ddffe5 : FAILURE in 38m 17s (non-voting)\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/fda2e30443ef4d69917b3a698fcb9dae : SUCCESS in 6m 48s (non-voting)\n- keystone-dsvm-functional-oidc-federation https://zuul.opendev.org/t/openstack/build/d65880457ed8457bbf88d3af9982d7e1 : SUCCESS in 30m 51s","accounts_in_message":[],"_revision_number":1},{"id":"53ab1208ac99d31da65bd9deacf7bc597398907e","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2025-04-30 18:54:10.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"80720202cb016735ce8c16e039d5d6eb0991ee2d","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2025-05-01 11:51:41.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"cdfe1d0c3cedfaed6ef28a382cc4cc00a81c1497","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2025-05-01 13:34:36.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"8989ed95bd727ed2250fdaf08b8d65d56b161098","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-01 13:34:56.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"2acc8d4d784a22598bc9edbb7e6de617af516ceb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-01 14:28:32.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/feeb27990d7b4c52b528b39fc326990e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0121ad84e3514f7785ff5aadeb284d50 : SUCCESS in 5m 28s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d894c92d6f99416393bedf04a464342f : SUCCESS in 10m 19s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/4d79c54b54c44a6ebdff5f91179676a6 : SUCCESS in 10m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/434a4a9f8d3c4c7d8a1658c989e988d6 : SUCCESS in 6m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/f08583d0ce8b4a2abb6a4eaca964b8f7 : SUCCESS in 29m 38s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7d716506b99b4f098901c9ff07c9502a : SUCCESS in 52m 55s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/1e5182779fc8472b9e75760319d5d383 : SUCCESS in 11m 24s\n- keystone-dsvm-py3-functional-federation-ubuntu-jammy-k2k https://zuul.opendev.org/t/openstack/build/e140c3bda02a4809b9176a2b42f0ca5c : SUCCESS in 22m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a47652b8ba2c4813b0bf7f330c3544f1 : SUCCESS in 27m 44s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/de747ff479a449dc8e1f0836ff35bae2 : FAILURE in 6m 04s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"9fc93d03bcff65970a7cea3e5d94ba12c1e61a68","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-01 14:28:32.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"743fcfc4cd0d73754296e30e1d3e26065a578672","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-01 14:29:26.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/69315f4a91d442d88004e6648d6f76b8\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cc82763eecc64ae591a29cde17935b3f : SUCCESS in 46s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"aab001fea362bc576eb51507af7c15355c8c3f28","revisions":{"aab001fea362bc576eb51507af7c15355c8c3f28":{"kind":"REWORK","_number":1,"created":"2025-04-30 16:37:24.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/59/948559/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/59/948559/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/948559/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/948559/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/59/948559/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/59/948559/1"}}},"commit":{"parents":[{"commit":"379c2b0facb3bf3b5e367cc12e2afc3bd7b7dd7c","subject":"api: Don\u0027t restrict unknown querystring parameters yet (redux)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/379c2b0facb3bf3b5e367cc12e2afc3bd7b7dd7c"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2024-09-26 14:36:06.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2025-04-30 16:37:24.000000000","tz":0},"subject":"Fix DB migrations after alembic integration","message":"Fix DB migrations after alembic integration\n\nWith a change to swap sqlalchemy-migrate with alembic [1]\na `db_sync --check` was broken.\n\nThis is due to both `upgrades.get_db_version` and\n`upgrades.get_current_heads` are actually checking \"current\" state of\nthe dabase by calling _get_current_heads[2][3], while obvious intention\nwas to compare intended state with current state.\n\nWith that we\u0027re introducing upgrade.get_head_revisions which will fetch\nrevisions not from the database, but from the environment [4]\n\nAs a result `db_sync --check` does compare desired state of the DB with\nactual state and exists with corresponsive status again.\n\n[1] https://opendev.org/openstack/keystone/commit/f174b4fa7c4fb010bbacc8c5a5f3625a8fcb41f3\n[2] https://opendev.org/openstack/keystone/src/branch/master/keystone/common/sql/upgrades.py#L147\n[3] https://opendev.org/openstack/keystone/src/branch/master/keystone/common/sql/upgrades.py#L191\n[4] https://alembic.sqlalchemy.org/en/latest/api/runtime.html#alembic.runtime.environment.EnvironmentContext.get_head_revisions\n\nCloses-Bug: #2080542\nChange-Id: I854d37e3b4a34a7880f157564466bde61a3f886a\n(cherry picked from commit 5125d9feed8dc8f9f0ad01f4c042594475f5fb84)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/aab001fea362bc576eb51507af7c15355c8c3f28"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/aab001fea362bc576eb51507af7c15355c8c3f28"}]},"branch":"refs/heads/stable/2025.1"}},"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"}},{"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":{}}}]}
