)]}'
{"id":"openstack%2Fpython-ironicclient~977408","triplet_id":"openstack%2Fpython-ironicclient~stable%2F2024.2~I9ec03d2bc34017c7670fd6903e5353a8c91e9f17","project":"openstack/python-ironicclient","branch":"stable/2024.2","topic":"bug-2119323-stable/2025.2-stable/2025.1-stable/2024.2","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-04-28 02:08:59.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:09:00.000000000","updated":"2026-04-28 02:21:50.000000000","submitted":"2026-04-28 02:08:59.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":"977408-bug-2119323-stable/2025.2-stable/2025.1-stable/2024.2","cherry_pick_of_change":977407,"cherry_pick_of_patch_set":1,"meta_rev_id":"ad9f1c6c7f006b3c5695bec60e98e61026eea4b9","_number":977408,"virtual_id_number":977408,"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":[{"value":0,"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-28 02:08:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}],"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":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"all":[{"value":2,"date":"2026-04-28 01:15:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-20 14:55:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}],"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":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"all":[{"value":1,"date":"2026-04-28 01:15:54.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}],"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-20 05:09:00.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:36:30.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-04-28 01:15:54.000000000","updated_by":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"reviewer":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"state":"REVIEWER"}],"messages":[{"id":"1d7c99585dae15dd4c30ea1b8f5091bd16aad92e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-02-20 05:09:00.000000000","message":"Patch Set 1: Cherry Picked from branch stable/2025.1.","accounts_in_message":[],"_revision_number":1},{"id":"3c1b8c283d8ef5a0c433ff5661520507ceb46187","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-20 05:36:30.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/b09933d28dfd46838d0a33c5172c153e\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/449bc39801084fe4b4ed284dd831974d : SUCCESS in 3m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/094dd11d6c694c1985526307e7760a11 : SUCCESS in 2m 10s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/6c5ecca847f543139fb851095540c240 : SUCCESS in 2m 58s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2551175412cd40faba6d5415629fae8a : SUCCESS in 2m 43s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f4c0969740164e6384d86dda93ab9440 : SUCCESS in 1m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ff465d07d5941c0aba0a65ea0726af9 : FAILURE in 2m 19s\n- ironicclient-functional https://zuul.opendev.org/t/openstack/build/41c82d0468754ac581f61c2a40451f4d : POST_FAILURE in 18m 25s (non-voting)\n- ironicclient-tempest https://zuul.opendev.org/t/openstack/build/a9211a776ede48afa69c97a95ffb9813 : SUCCESS in 26m 20s\n- ironicclient-tox-codespell https://zuul.opendev.org/t/openstack/build/dbc65207dc884b9fac2b1f05cccdcd3d : FAILURE in 2m 35s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ab711692e17afd393e52c1241aed65434addbfb5","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-04-20 14:54:54.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"af7ad48d5ac767b9eb8d20169306a7dbf6252562","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-04-20 14:55:03.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"6f25902f05e540a6deedf9c7685584dd54be825d","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-04-20 14:55:42.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"569797982a0dd52d069ba371a6c9e7d12af1aa23","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-20 16:18:42.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dd89e30ffc624af8a71effb29d82dd24\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d8bcaecaed97488e87c4f87aa26f5d6e : SUCCESS in 4m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2f53c9cca90b49198bcdc5529654b2e7 : SUCCESS in 3m 30s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/4eca3873af854dacac57d2dca3d83f83 : SUCCESS in 3m 46s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/afc3213c70da41569e6af61050ca803b : SUCCESS in 4m 16s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/41809048e3144a9dabee86c9f496ef82 : SUCCESS in 4m 48s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/367cfaee34fe4b708dd49b165db1e63a : SUCCESS in 7m 58s\n- ironicclient-functional https://zuul.opendev.org/t/openstack/build/0ef917b82eaf4ebe9bdabbc42bd00146 : POST_FAILURE in 11m 46s (non-voting)\n- ironicclient-tempest https://zuul.opendev.org/t/openstack/build/10a03b3794234f74a7fcb21640046ddd : SUCCESS in 48m 02s\n- ironicclient-tox-codespell https://zuul.opendev.org/t/openstack/build/97b1ae2fa5154e00928877a89aa5d41d : FAILURE in 3m 18s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"d7099bbb7689a0cde75e48410edb5db65542b173","author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"date":"2026-04-28 01:15:54.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"0a652c3b72152542bce14e013779669e6a4df289","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 01:16:23.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"2f0dde3b6c91e8d88421d87bb3437065052bfbfd","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 02:08:59.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e2dfded290bd409ba93c7136768aa9ce\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f422cbe9b11b440a8484172329b9e22b : SUCCESS in 2m 08s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/225fe3047b2248c0a61529479fcb64e6 : SUCCESS in 3m 00s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d72bc0dcfbc34affab3c9d9e7cd4143a : SUCCESS in 3m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1bfd96d68fad491ea29edae86018bf93 : SUCCESS in 5m 58s\n- ironicclient-tempest https://zuul.opendev.org/t/openstack/build/1fd8aeb360954dc2ad5aa648dd6e7b3c : SUCCESS in 44m 56s","accounts_in_message":[],"_revision_number":1},{"id":"05db8b1dbc0c38cd799278da682392057d9bc288","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 02:08:59.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"ad9f1c6c7f006b3c5695bec60e98e61026eea4b9","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 02:21:50.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b7b3eae797f14037b8cfe4b567dd291d\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f14c691d5ba442a09ec8a41a34856a58 : SUCCESS in 57s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9265a3a2dd173ef1f86614d0f8c8d11e62a0bc92","revisions":{"9265a3a2dd173ef1f86614d0f8c8d11e62a0bc92":{"kind":"REWORK","_number":1,"created":"2026-02-20 05:09:00.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/08/977408/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/08/977408/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/08/977408/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/08/977408/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/08/977408/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/08/977408/1"}}},"commit":{"parents":[{"commit":"11909b83709e441a257ba763938ae51b5aa1f866","subject":"Stop using deprecated format_* from osc_utils","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/11909b83709e441a257ba763938ae51b5aa1f866"}]}],"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:09:00.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/9265a3a2dd173ef1f86614d0f8c8d11e62a0bc92"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/9265a3a2dd173ef1f86614d0f8c8d11e62a0bc92"}]},"branch":"refs/heads/stable/2024.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":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}},{"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"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":""}}}]}
