)]}'
{"id":"openstack%2Fpython-ironicclient~956542","triplet_id":"openstack%2Fpython-ironicclient~master~I9ec03d2bc34017c7670fd6903e5353a8c91e9f17","project":"openstack/python-ironicclient","branch":"master","topic":"bug-2119323","attention_set":{},"removed_from_attention_set":{"26250":{"account":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"last_update":"2025-09-26 19:21:56.000000000","reason":"Change was submitted"}},"hashtags":["ironic-week-prio"],"change_id":"I9ec03d2bc34017c7670fd6903e5353a8c91e9f17","subject":"Fix parallel initial version negotiation","status":"MERGED","created":"2025-08-05 09:15:25.000000000","updated":"2025-09-26 19:22:54.000000000","submitted":"2025-09-26 19:21:56.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"956542-bug-2119323","meta_rev_id":"e753a0d8a1bcd44a691e81d33e9e3aef6da87b21","_number":956542,"virtual_id_number":956542,"owner":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-09-26 19:21:56.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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":2,"date":"2025-08-05 17:03:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":2,"date":"2025-09-26 19:08:37.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":1,"date":"2025-09-26 19:08:37.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"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},"Backport-Candidate":{"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":35743,"name":"Sandzwerg","display_name":"Sandzwerg","email":"j.sandmann@sap.com","username":"Sandzwerg"}],"REVIEWER":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-08-05 10:02:20.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-08-05 17:03:59.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"state":"REVIEWER"},{"updated":"2025-09-25 14:14:46.000000000","updated_by":{"_account_id":35743,"name":"Sandzwerg","display_name":"Sandzwerg","email":"j.sandmann@sap.com","username":"Sandzwerg"},"reviewer":{"_account_id":35743,"name":"Sandzwerg","display_name":"Sandzwerg","email":"j.sandmann@sap.com","username":"Sandzwerg"},"state":"CC"},{"updated":"2025-09-26 19:08:37.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"}],"messages":[{"id":"95cf09f2c90e80dbfb9a4eeaf6ac96d752b70189","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"date":"2025-08-05 09:15:25.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d9a30c430c6d06ffd1d84972f61c9e8a0bcfce7e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-05 10:02:20.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e68a67c79c5945819cdc25a9c45d12fc\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9b31fd5edda34be1a7d45e0101446df3 : SUCCESS in 3m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4190e75c89ee4ac888bec8378e43526c : SUCCESS in 2m 31s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d15dcabbd78a432ba7733415a3fb9be4 : SUCCESS in 5m 21s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/6938ea6c125c4fbb914ee03b499e12a5 : SUCCESS in 4m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e50b7f3c9e284039a35490d9f5f9c96e : SUCCESS in 7m 20s (non-voting)\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/cc4ff0f533a0461fb1fdb7797b42ff0f : SUCCESS in 7m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fe7e8343a3734950857f117b4f5dd3d7 : SUCCESS in 7m 30s\n- ironicclient-tempest https://zuul.opendev.org/t/openstack/build/6eb5df8020f84dbfabadee90a74760c8 : SUCCESS in 45m 05s\n- ironicclient-tox-codespell https://zuul.opendev.org/t/openstack/build/36751d7787bf4d46922d8a0b36618557 : FAILURE in 2m 22s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"8111ac5262993ef2dd06bbf0476707446ef6455d","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2025-08-05 17:03:59.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4462219330178a8887ff1d2ffa76b63c413afb81","author":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"date":"2025-08-07 07:57:33.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b90fb6595d4445c22c9a1bd70e06717e0c5e8a45","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2025-09-26 18:45:30.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"c4e08a399671c78336b6e87f83163e3cbbc15925","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2025-09-26 19:08:37.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"cc8d2ba6097dbd7befa46c600e7bc90faacdddb9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-26 19:08:50.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"e7c05c5d269fa39efc5a7fa1e7e5e95bd9fd0915","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-26 19:21:56.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f7a20cac8f4a49389a68729a334517bb\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/277d50de8d8d4e21b4b71523d11ead0d : SUCCESS in 2m 08s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0f8889c0d0bb4f7f9897b8158b7a8500 : SUCCESS in 3m 35s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/b37cab822c544896a41689cd7fd7a488 : SUCCESS in 4m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ba834bf978224977ac36b06133ea41b7 : SUCCESS in 8m 18s","accounts_in_message":[],"_revision_number":1},{"id":"c26fe83c4575f8231534651807ad41ccd8e26bcf","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-26 19:21:56.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"e753a0d8a1bcd44a691e81d33e9e3aef6da87b21","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-26 19:22:54.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1a539b99eb6f4c5bbc02cb1ddccaca46\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/829c42c094f24fa28c32d3f7e66f47c2 : SUCCESS in 46s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ad1291cc9cb4fc6560a1f82d73a496168a6770c6","revisions":{"ad1291cc9cb4fc6560a1f82d73a496168a6770c6":{"kind":"REWORK","_number":1,"created":"2025-08-05 09:15:25.000000000","uploader":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"ref":"refs/changes/42/956542/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/42/956542/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/42/956542/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/42/956542/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/42/956542/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/42/956542/1"}}},"commit":{"parents":[{"commit":"c9bf6137d76503d4dbc90f973f5b11567a369b9b","subject":"Merge \"Revert \"Replace license classifier\"\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/c9bf6137d76503d4dbc90f973f5b11567a369b9b"}]}],"author":{"name":"Johannes Kulik","email":"johannes.kulik@sap.com","date":"2025-08-04 09:12:14.000000000","tz":120},"committer":{"name":"Johannes Kulik","email":"johannes.kulik@sap.com","date":"2025-08-05 09:15:25.000000000","tz":120},"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","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/ad1291cc9cb4fc6560a1f82d73a496168a6770c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/ad1291cc9cb4fc6560a1f82d73a496168a6770c6"}]},"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}},{"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":{}}}]}
