)]}'
{"id":"openstack%2Fpython-ironicclient~988139","triplet_id":"openstack%2Fpython-ironicclient~master~Ib0e6ebe3457a95d07c212dd29ef9b58612bc19b9","project":"openstack/python-ironicclient","branch":"master","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-05-11 20:49:21.000000000","reason":"Change was submitted"},"36770":{"account":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"last_update":"2026-05-11 20:24:23.000000000","reason":"\u003cGERRIT_ACCOUNT_36770\u003e replied on the change","reason_account":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}}},"hashtags":["ironic-week-prio"],"change_id":"Ib0e6ebe3457a95d07c212dd29ef9b58612bc19b9","subject":"switch to new tox constraints syntax","status":"MERGED","created":"2026-05-11 16:08:21.000000000","updated":"2026-05-11 20:50:16.000000000","submitted":"2026-05-11 20:49:21.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"988139","meta_rev_id":"6a44197e05ba2e94cca847b337d0bb515002ad00","_number":988139,"virtual_id_number":988139,"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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"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"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-11 20:49:21.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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"all":[{"value":2,"date":"2026-05-11 20:24:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"value":2,"date":"2026-05-11 20:30:13.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":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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":0,"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"value":1,"date":"2026-05-11 20:30:13.000000000","permitted_voting_range":{"min":1,"max":1},"_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":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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"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":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":{"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-11 16:18:05.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-05-11 19:57:58.000000000","updated_by":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"reviewer":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"state":"REVIEWER"},{"updated":"2026-05-11 20:30:13.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"}],"messages":[{"id":"4d979d6a54a390c93f9fef0feac781bf57ad3acb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-05-11 16:08:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5d02b6a3b087a1d250845f1ea2d8b9ab518a8cf2","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-05-11 16:08:49.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"42dc27ea8c4e3dc7648ceef7b215c699e4a4c2e7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 16:18:05.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/80ebe45742af483f9e811bf6188e47ca\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1c30df11ae0245808d8deca97c0def2b : SUCCESS in 4m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/760e063d464041e1b0e4fb5521cce929 : SUCCESS in 3m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/850bf6933817476fbde15493e63a4bc6 : SUCCESS in 2m 31s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1c5633d0840e4c0facd631ce44d11670 : SUCCESS in 2m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/acbf6e0a2dc64589bb79c96e877b95d0 : SUCCESS in 4m 05s (non-voting)\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/3f6bbfe9d4604d77bbe89e185a0bcaf9 : SUCCESS in 3m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fffc7f4aa8934cbc889f92049f2246ea : SUCCESS in 7m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7d5d3f40e8f7456fbafa6479a260b872 : SUCCESS in 3m 06s\n- ironicclient-tox-codespell https://zuul.opendev.org/t/openstack/build/dd46db50d5994dfd8fd3cb753db6fb34 : SUCCESS in 2m 32s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7faf26d62c19bbc577a8c87f6f8b4cdecc3dad6a","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-05-11 19:57:58.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d25a01f982f4ba440634590fe397f3f4325a1d6c","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-05-11 20:23:39.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"12c1cc7fcfb0f97d6a2f0dd6487511ad439bc31e","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-05-11 20:24:23.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d0d6d8884702bc1d6fd1154b7cbf8b55c6049569","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-05-11 20:25:07.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"8385ba6c0cec9a519636ed856119404bbd8248d2","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":"2026-05-11 20:30:13.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"1313bf88e79b1c9723cf16269878f3b7b1bf38b7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 20:30:45.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"bf0c87d06d48abf88a088bb0a079037ec19f4bc2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 20:49:21.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8c080d56ff6a4a2795caeedcb135b12f\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d89606867f45461fbb1b0ed85029ea13 : SUCCESS in 2m 45s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b1c23860a3c04e84bd967e080689677f : SUCCESS in 3m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/883e08e064fc437abce97d0d213ddd15 : SUCCESS in 3m 29s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2ea9d9d6dc1d4eadb606d70379846bd0 : SUCCESS in 7m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/90736d74e83f4f5e94f94c2b81d723d8 : SUCCESS in 2m 05s","accounts_in_message":[],"_revision_number":1},{"id":"9119fdaf11c5e4d4d31aeda5a6c486d479f5ddad","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 20:49:21.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"6a44197e05ba2e94cca847b337d0bb515002ad00","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 20:50:16.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e0c8fc121ad4d1380dfd24ae04c3562\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ba0b3098f6a34a26bc42f732e9c2c1d5 : SUCCESS in 44s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e55f6b95a0d64343931bef45fbbe28ca : SUCCESS in 37s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"a55d723dba3d1e04f528d0bde4f3840b6c4c116c","revisions":{"a55d723dba3d1e04f528d0bde4f3840b6c4c116c":{"kind":"REWORK","_number":1,"created":"2026-05-11 16:08:21.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/39/988139/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ironicclient","ref":"refs/changes/39/988139/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/39/988139/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/39/988139/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ironicclient refs/changes/39/988139/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ironicclient refs/changes/39/988139/1"}}},"commit":{"parents":[{"commit":"1db9382a3a899f9e7159395ac6139b4f54eb7321","subject":"Merge \"feat: add support for new runbook traits API\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/1db9382a3a899f9e7159395ac6139b4f54eb7321"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-05-11 15:54:08.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-05-11 15:54:08.000000000","tz":-300},"subject":"switch to new tox constraints syntax","message":"switch to new tox constraints syntax\n\nThis is the recommended way to specify constraints for tox environments.\nSince the others inherit from the main one we only need to specify it\nonce.\n\nChange-Id: Ib0e6ebe3457a95d07c212dd29ef9b58612bc19b9\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/a55d723dba3d1e04f528d0bde4f3840b6c4c116c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ironicclient/commit/a55d723dba3d1e04f528d0bde4f3840b6c4c116c"}]},"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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}},{"label":"Workflow","status":"MAY","applied_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"}},{"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":""}}}]}
