)]}'
{"id":"openstack%2Fpython-keystoneclient~1007126","triplet_id":"openstack%2Fpython-keystoneclient~master~I4de8e7124c4c22aaf23c4bcc6ec893ce9d17f9f1","project":"openstack/python-keystoneclient","branch":"master","attention_set":{"14250":{"account":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"last_update":"2026-09-24 11:08:06.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I4de8e7124c4c22aaf23c4bcc6ec893ce9d17f9f1","subject":"Add OpenStack-MFA-Passcode header support for identity","status":"NEW","created":"2026-09-24 10:16:54.000000000","updated":"2026-10-05 14:57:07.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e56bb06aa51e9297b3a3d5f924fa79ea6d03d322","_number":1007126,"virtual_id_number":1007126,"owner":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-05 14:57:07.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":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":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"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-24 11:08:06.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":"6ddad842b7f357de8cf9f7dee740a9f93e2b17c5","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-09-24 10:16:54.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3d32b7b05c91ff166e3bc7057862d989f0376bc9","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-09-24 10:50:23.000000000","message":"Patch Set 1:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":1},{"id":"6348f233f9325daa3728d65f67218b511171aa8e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-24 11:08:06.000000000","message":"Patch Set 1: Verified-1\n\n(2 comments)\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/001a98d7803748b3956c9698dc99c3d1\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1811ea0f869a4daf82c1764e39e5cd76 : SUCCESS in 4m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/223a372eaf8549bfa68f0048e0c8f668 : FAILURE in 2m 51s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/da64949a15b9459ba3b102025d28ac88 : SUCCESS in 2m 59s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/48e0b17c6ea041e797dbfc6f4dfe6f65 : SUCCESS in 5m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/575751be86004fffbf476a796b263133 : SUCCESS in 8m 18s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/42b70533d2f149e5ba865a6fe31d8a66 : SUCCESS in 46m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/35a73aa290fe40c190417d2aeafc03bd : SUCCESS in 4m 26s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/100b7e4b003d4bbea69d8486d82cb43c : FAILURE in 19m 04s","accounts_in_message":[],"_revision_number":1},{"id":"57d191036ac6f1ffbbd18fce67ed2916d1265199","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-10-05 11:06:37.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"eb42fb5adc93b759b0970f756068ffc663e1d85a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-05 12:07:33.000000000","message":"Patch Set 2: 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/183715eb818d4c309f97029f77cbe4b0\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f6cf533f97974a0d8cd0afddff4069cd : SUCCESS in 3m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4d2300feeb424c0999894e88f338ac21 : SUCCESS in 3m 15s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f7c83561d2d94f82be8a9cbfb9717ce8 : SUCCESS in 2m 14s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f3be50ba16c445c5892d14dab9039590 : SUCCESS in 7m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b7ac9d28ce8c4da1940d47494863bd13 : SUCCESS in 8m 11s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d0378d07fc334fd6abf8f1e7f2eb8e59 : SUCCESS in 59m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c6e7da7a7bbf446a8efb47b68de04cbf : SUCCESS in 4m 09s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/504ea12ad6cd42a9b7ae2452f8a7bb45 : FAILURE in 11m 36s","accounts_in_message":[],"_revision_number":2},{"id":"9587067d958ff8f61e764bd87165597aea924136","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-10-05 13:14:53.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"e56bb06aa51e9297b3a3d5f924fa79ea6d03d322","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-05 14:57:07.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2d8dd7bbdc48437eaa7a8a1ab3e7ce33\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c1305a07d3314482b1a2f50c5d1b3f69 : SUCCESS in 2m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/56ba6ec945c1424eab81a4e44c09063c : SUCCESS in 3m 15s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/33f3cef65cdb4f6d8420560a2ed51358 : SUCCESS in 2m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e90773f54e864156b83171bd24f249bc : SUCCESS in 6m 35s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8e743f48ada148b4a28e020933332746 : SUCCESS in 4m 05s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/06a18ca1a4bf41d1b267f1e30042a50d : SUCCESS in 1h 34m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/42adddc778b240a19a156b26028db872 : SUCCESS in 4m 15s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/fa82b3aa35484b3c8e30f4c0724cc341 : SUCCESS in 8m 26s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"1a4882023a31d59dcb7014f3c9d9831c246ae9be","revisions":{"b498ff0984a596f0508e70d5c6ad573d24da4c57":{"kind":"REWORK","_number":1,"created":"2026-09-24 10:16:54.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/26/1007126/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/26/1007126/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/1"}}},"commit":{"parents":[{"commit":"bd3d26799da905f72c97241bf57f9fa1943d174c","subject":"Merge \"Update master for stable/2025.2\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/bd3d26799da905f72c97241bf57f9fa1943d174c"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-09-24 10:16:11.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-09-24 10:16:11.000000000","tz":120},"subject":"Add OpenStack-MFA-Passcode header support for identity","message":"Add OpenStack-MFA-Passcode header support for identity\n\nKeystone will require a current TOTP passcode in the\nOpenStack-MFA-Passcode request header for sensitive account\nactions after bug 2158970. Accept an optional mfa_passcode\nargument on users.update_password, users.update, and\ncredential create/update/delete without placing it in the\nJSON body.\n\nCloses-Bug: #2158970\nAssisted-by: Composer\nChange-Id: I4de8e7124c4c22aaf23c4bcc6ec893ce9d17f9f1\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/b498ff0984a596f0508e70d5c6ad573d24da4c57"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/b498ff0984a596f0508e70d5c6ad573d24da4c57"}]},"branch":"refs/heads/master"},"2d6ae20865fa84bfc9c3f64c5f2e4872ac84783c":{"kind":"REWORK","_number":2,"created":"2026-10-05 11:06:37.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/26/1007126/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/26/1007126/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/2"}}},"commit":{"parents":[{"commit":"bd3d26799da905f72c97241bf57f9fa1943d174c","subject":"Merge \"Update master for stable/2025.2\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/bd3d26799da905f72c97241bf57f9fa1943d174c"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-09-24 10:16:11.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-10-05 11:06:34.000000000","tz":120},"subject":"Add OpenStack-MFA-Passcode header support for identity","message":"Add OpenStack-MFA-Passcode header support for identity\n\nKeystone will require a current TOTP passcode in the\nOpenStack-MFA-Passcode request header for sensitive account\nactions after bug 2158970. Accept an optional mfa_passcode\nargument on users.update_password, users.update, and\ncredential create/update/delete without placing it in the\nJSON body.\n\nCloses-Bug: #2158970\nAssisted-by: Composer\nChange-Id: I4de8e7124c4c22aaf23c4bcc6ec893ce9d17f9f1\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2d6ae20865fa84bfc9c3f64c5f2e4872ac84783c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2d6ae20865fa84bfc9c3f64c5f2e4872ac84783c"}]},"branch":"refs/heads/master"},"1a4882023a31d59dcb7014f3c9d9831c246ae9be":{"kind":"REWORK","_number":3,"created":"2026-10-05 13:14:53.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/26/1007126/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/26/1007126/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/26/1007126/3"}}},"commit":{"parents":[{"commit":"bd3d26799da905f72c97241bf57f9fa1943d174c","subject":"Merge \"Update master for stable/2025.2\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/bd3d26799da905f72c97241bf57f9fa1943d174c"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-09-24 10:16:11.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-10-05 13:14:47.000000000","tz":120},"subject":"Add OpenStack-MFA-Passcode header support for identity","message":"Add OpenStack-MFA-Passcode header support for identity\n\nKeystone will require a current TOTP passcode in the\nOpenStack-MFA-Passcode request header for sensitive account\nactions after bug 2158970. Accept an optional mfa_passcode\nargument on users.update_password, users.update, and\ncredential create/update/delete without placing it in the\nJSON body.\n\nAlign credential update with Keystone\u0027s blob-only PATCH\nschema so functional tests do not send immutable fields.\n\nCloses-Bug: #2158970\nAssisted-by: Composer\nChange-Id: I4de8e7124c4c22aaf23c4bcc6ec893ce9d17f9f1\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/1a4882023a31d59dcb7014f3c9d9831c246ae9be"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/1a4882023a31d59dcb7014f3c9d9831c246ae9be"}]},"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":""}}}]}
