)]}'
{"id":"openstack%2Fpython-ironicclient~977406","triplet_id":"openstack%2Fpython-ironicclient~stable%2F2025.2~I9ec03d2bc34017c7670fd6903e5353a8c91e9f17","project":"openstack/python-ironicclient","branch":"stable/2025.2","topic":"bug-2119323-stable/2025.2","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-02-27 09:31:57.000000000","reason":"Change was submitted"}},"hashtags":["ironic-week-prio"],"change_id":"I9ec03d2bc34017c7670fd6903e5353a8c91e9f17","subject":"Fix parallel initial version negotiation","status":"MERGED","created":"2026-02-20 05:07:46.000000000","updated":"2026-02-27 09:33:06.000000000","submitted":"2026-02-27 09:31:57.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":"977406-bug-2119323-stable/2025.2","cherry_pick_of_change":956542,"cherry_pick_of_patch_set":1,"meta_rev_id":"d499c78e00372dac1a28f3f86f60ca94e8cc2dfd","_number":977406,"virtual_id_number":977406,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-02-27 09:31:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-02-27 09:17:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-02-27 09:17:43.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-20 05:07:46.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"state":"CC"},{"updated":"2026-02-20 05:48:28.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":"2026-02-27 09:17:43.000000000","updated_by":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"reviewer":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"state":"REVIEWER"}],"messages":[{"id":"f44953ef004b2a631d110defdd5476c4e9435699","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-02-20 05:07:46.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"1eb1ddf7681b2c78803ca5e1e3d6da85b8cdf6ed","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-20 05:48:28.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/916a224b94074c8883c7a0d0ac64c02d\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5cbefb6e45d14d30bbe962132ef06d2f : SUCCESS in 2m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/41637d7c34d24f81891006ea22f0f8b1 : SUCCESS in 3m 04s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/85d4612e13ef49ed864f31c427dcc851 : SUCCESS in 3m 33s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/96c3d13de88145c18841e54695230b08 : SUCCESS in 2m 51s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2f635bbd1d5449d4b4f4e4f4c9d55118 : SUCCESS in 3m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f4dd63517aab45a49cf0f5f1f8175c0a : SUCCESS in 3m 40s\n- ironicclient-tempest https://zuul.opendev.org/t/openstack/build/b6c26084c721472093e3091b57ff7ef2 : SUCCESS in 39m 35s\n- ironicclient-tox-codespell https://zuul.opendev.org/t/openstack/build/270a357f883146f296c9a6c170463489 : FAILURE in 2m 54s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"8d5ecb7fa4ef4676d3d8aee53f1b69de8ea83758","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-02-20 15:12:55.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"19ba47150e02266b2910027e78a58e47b7567127","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-02-27 09:17:43.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"88f1e37ed69e3143ba83acf24073a44c2598b6a2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 09:18:36.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"d1633325f8749ced64d5ac291dbaa308470d88bb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 09:31:57.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9297ac1aa7fd47c0b492044dde85e3bb\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/706351126b3046e2a1b555dec29185ae : SUCCESS in 3m 04s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/1d6148ae24614bfcb8c4bda2b7377255 : SUCCESS in 2m 11s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/db877688f633482e952631c023ee679b : SUCCESS in 4m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a33528095a454b789191a630ce8c50dd : SUCCESS in 8m 19s","accounts_in_message":[],"_revision_number":1},{"id":"5e4146f5ecb3357636fab56c8401771ee3987582","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 09:31:57.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"d499c78e00372dac1a28f3f86f60ca94e8cc2dfd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 09:33:06.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/baea80159bae4b45b35c58fd68084bc6\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6d537fed3a8348ffb06dfd95a1562c0d : SUCCESS in 57s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c25cb54d5d17f4832a37bd6a1a74cca6262134bc","revisions":{"c25cb54d5d17f4832a37bd6a1a74cca6262134bc":{"kind":"REWORK","_number":1,"created":"2026-02-20 05:07:46.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/06/977406/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/06/977406/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/06/977406/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/06/977406/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/06/977406/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/06/977406/1"}}},"commit":{"parents":[{"commit":"b5125b4d3b84daa881c5e805ca906cb1dc8c7433","subject":"fix: report compatibility with 2025.2 release of Ironic","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/b5125b4d3b84daa881c5e805ca906cb1dc8c7433"}]}],"author":{"name":"Johannes Kulik","email":"johannes.kulik@sap.com","date":"2025-08-04 09:12:14.000000000","tz":120},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-02-20 05:07:46.000000000","tz":0},"subject":"Fix parallel initial version negotiation","message":"Fix parallel initial version negotiation\n\nIf two parallel greenthreads use the same, uninitialized client, there\u0027s\na race-condition when both enter `negotiate_version()`: there is a\nrequest made to Ironic, which hands over execution to the other\ngreenthread. The first greenthread returning from the request changes\nthe state of the client and the second one reads the updated state and\nthus thinks it\u0027s in an error-handling call instead of the initial\nnegotiation - and errors out.\n\nWe fix this by adding a lock around the initial call to\n`negotiate_version()`.\n\nChange-Id: I9ec03d2bc34017c7670fd6903e5353a8c91e9f17\nCloses-Bug: #2119323\nSigned-off-by: Johannes Kulik \u003cjohannes.kulik@sap.com\u003e\n(cherry picked from commit ad1291cc9cb4fc6560a1f82d73a496168a6770c6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/c25cb54d5d17f4832a37bd6a1a74cca6262134bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/c25cb54d5d17f4832a37bd6a1a74cca6262134bc"}]},"branch":"refs/heads/stable/2025.2"}},"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}},{"label":"Backport-Candidate","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":{}}},{"name":"Backport-Candidate","description":"Backport candidate status","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":{}}},{"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":{}}}]}
