)]}'
{"id":"openstack%2Fopenstacksdk~985641","triplet_id":"openstack%2Fopenstacksdk~master~I404e47f5a4f2ec3b1b4bbb81f6a676c1921ff3c4","project":"openstack/openstacksdk","branch":"master","topic":"py315","attention_set":{},"removed_from_attention_set":{"39077":{"account":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"last_update":"2026-04-21 16:53:10.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I404e47f5a4f2ec3b1b4bbb81f6a676c1921ff3c4","subject":"fix hashlib ValueError message check for py3.15","status":"MERGED","created":"2026-04-21 10:55:45.000000000","updated":"2026-04-21 16:54:20.000000000","submitted":"2026-04-21 16:53:10.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"985641-py315","meta_rev_id":"6197d0d4cfcfbc2abec7f5de4df23f4cc7ab8a3d","_number":985641,"virtual_id_number":985641,"owner":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-21 16:53:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2026-04-21 11:02:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2026-04-21 15:06:55.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Allow-Post-Review":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-21 11:02:43.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2026-04-21 12:37:47.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":"572be5d966f285636b9ad33e3e99a131ef71daea","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-04-21 10:55:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"853fa378ca93166e245ad882beb759b1b750153b","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-21 11:02:43.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1484a7e37a36323155f39e5b749c87cfbe4cf5d0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 12:37:47.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7bd2dd6bdf6b492aba053ab51c6a1ae4\n\n- bifrost-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/154f920e0bb149899d61ebeaddb81048 : SUCCESS in 46m 30s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1f27c1066494474e9deab3fe6354b889 : SUCCESS in 6m 30s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ded4ea0bbe974185894d2fe112916470 : SUCCESS in 5m 29s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/5bbd1af2719441c6b106e83f609d3931 : SUCCESS in 4m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1523a381493a4b65a9221468f314cf75 : SUCCESS in 3m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b7df6347d44845f0821f791593545046 : SUCCESS in 8m 39s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/16308d0edb994903b7f7be98275e0ea4 : SUCCESS in 38m 57s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/3c96d9c526ec4115b697f6487506d305 : SUCCESS in 3m 39s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/d0bcf1d178d345aa9fb55d4130255f9e : SUCCESS in 6m 29s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/61ff8fdaab8d4096a2a82f88bd68c519 : SUCCESS in 5m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/487c2f616a92437d8c79bf83a34f4e96 : SUCCESS in 11m 45s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e0a397b91bca4146823391d09e7efa07 : SUCCESS in 1h 04m 15s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/f7d74b3125694bacb69d47649dd108ef : SUCCESS in 1h 02m 52s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/dd51b3fc7bc84f0586ba141a3cc66d58 : SUCCESS in 1h 40m 44s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/93c587b415654eaea261d924c9fa0842 : FAILURE in 56m 33s (non-voting)\n- openstacksdk-functional-devstack-manila https://zuul.opendev.org/t/openstack/build/c2d3895b8f3a4bb0aa33879b7911ce4c : SUCCESS in 32m 43s\n- openstacksdk-functional-devstack-compute-manila https://zuul.opendev.org/t/openstack/build/968f644a42b5419bbf89de28c7cc8517 : SUCCESS in 16m 26s\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/5b0eff7f8ae24c42acb6a5bedd3eb27d : SUCCESS in 29m 04s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/21a2b3f2e0a14ca4802532e6f2707eea : SUCCESS in 44m 06s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/02a5940aab12414aa808a34e6e5220ab : SUCCESS in 1h 10m 37s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/61249c22f6bc48ecae3ec21da0571678 : SUCCESS in 1h 17m 45s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"280da31ed676b6a828220d7c5d0a81a4e6d4faa1","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-21 15:06:55.000000000","message":"Patch Set 1: Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"5a1f1ea02bb080e2ae22140219190a0a7823e7c5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 15:07:39.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"87ee170050caa7ad74cb1cff19c98f44ed1a781c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 16:53:10.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/198c876dc20947d38873e464579ca271\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/520affe10d7a449fb3f930d14050a56b : SUCCESS in 5m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/26d3a5eece5b4e78bbfeec78d3b37aa0 : SUCCESS in 4m 17s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5b84d3e4ebad43aa8e4a4913a9b25d45 : SUCCESS in 4m 17s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/d3a805cacdc541b2b5b280c4f894e0d2 : SUCCESS in 1h 06m 20s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/0101b4db00824ee4b702f54fbd391741 : SUCCESS in 3m 46s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/5165712047ba475c9dac868c4bebfc18 : SUCCESS in 2m 58s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/1371c364491f432db8cbe4dba45432c4 : SUCCESS in 5m 35s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/72ae1ce2c4fc4e07aa694688e4875f27 : SUCCESS in 8m 12s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/71ff1d528c584da7b4bcfb847c53cdf8 : SUCCESS in 1h 08m 14s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/06dda6c2274e4b258580c1047062fbe7 : SUCCESS in 57m 42s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/0f9149baf05c4a6db8ed1a1d3ab35ec1 : SUCCESS in 1h 39m 20s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/f3d98d9bf1b849a98b7e1178de0cc1c9 : SUCCESS in 23m 11s","accounts_in_message":[],"_revision_number":1},{"id":"6c0ab9cddd9dbd9030b08ab42f32335dfc8764cf","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 16:53:10.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"6197d0d4cfcfbc2abec7f5de4df23f4cc7ab8a3d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 16:54:20.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9db3ec2228884223a17090cc57059ee5\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/26f0eb5083964c3386fdb178a7f4ecd3 : SUCCESS in 55s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"405e2d7836a2777eb59f06f95f4025faa058f166","revisions":{"405e2d7836a2777eb59f06f95f4025faa058f166":{"kind":"REWORK","_number":1,"created":"2026-04-21 10:55:45.000000000","uploader":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"ref":"refs/changes/41/985641/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/41/985641/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/41/985641/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/41/985641/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/41/985641/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/41/985641/1"}}},"commit":{"parents":[{"commit":"dfbaa86c1b746b23ef1715c1bc200863bad14311","subject":"Identity: add update_password function","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/dfbaa86c1b746b23ef1715c1bc200863bad14311"}]}],"author":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-04-18 09:48:49.000000000","tz":120},"committer":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-04-21 10:51:46.000000000","tz":120},"subject":"fix hashlib ValueError message check for py3.15","message":"fix hashlib ValueError message check for py3.15\n\nI realise python3.15 is is not supported yet but this allows tests\nto pass on 3.15a8.\n\nPython 3.15 changed the ValueError message raised by hashlib.new() for\nunknown algorithms from \"unsupported hash type \u003cname\u003e\" to \"unsupported\nhash algorithm \u003cname\u003e\",\n\nReplace the prefix check with a test for the algorithm name in\nthe exception message\n\nPython change:\n\nhttps://github.com/python/cpython/commit/6be49ee517258281357aa6846d2564bc5626b7ca\n\nChange-Id: I404e47f5a4f2ec3b1b4bbb81f6a676c1921ff3c4\nSigned-off-by: Steve Traylen \u003csteve.traylen@cern.ch\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/405e2d7836a2777eb59f06f95f4025faa058f166"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/405e2d7836a2777eb59f06f95f4025faa058f166"}]},"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Allow-Post-Review","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Allow-Post-Review","description":"Allow Post Review","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
