)]}'
{"id":"openstack%2Fvirtualbmc~977676","triplet_id":"openstack%2Fvirtualbmc~master~I91353194e57976cd5fed0f72a841de9fe2a899ea","project":"openstack/virtualbmc","branch":"master","topic":"remove-python39-support","attention_set":{},"removed_from_attention_set":{"23851":{"account":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"last_update":"2026-02-24 06:10:36.000000000","reason":"Change was submitted"},"10239":{"account":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"last_update":"2026-02-24 06:10:36.000000000","reason":"Change was submitted"}},"hashtags":["ironic-week-prio"],"change_id":"I91353194e57976cd5fed0f72a841de9fe2a899ea","subject":"Remove Python 3.9 support","status":"MERGED","created":"2026-02-23 14:35:52.000000000","updated":"2026-02-24 06:11:26.000000000","submitted":"2026-02-24 06:10:36.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":"977676-remove-python39-support","meta_rev_id":"d9ee6376cc6281dd8734a0b85011e70139772819","_number":977676,"virtual_id_number":977676,"owner":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-02-24 06:10:36.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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-02-23 16:27:17.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-02-24 05:10:40.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":1,"date":"2026-02-23 19:48:01.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"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-02-24 05:10:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},{"_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-02-23 14:43:51.000000000","updated_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"reviewer":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"state":"REVIEWER"},{"updated":"2026-02-23 15:49:46.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-23 16:27:17.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-02-23 19:48:01.000000000","updated_by":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"reviewer":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"state":"REVIEWER"},{"updated":"2026-02-24 05:10:40.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"state":"REVIEWER"}],"messages":[{"id":"a3cbf75753e11727ba676c0d625876222b2bc0bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-02-23 14:35:52.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c57a6c812e907bd59590789fa189c05da28ab4f3","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2026-02-23 14:43:51.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"6fafe4a27d38490afdb424fbab3cb2017809bcc2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-23 15:49:46.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/aa4f9377e86f4b6cab83769b9b2530fc\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ce6df8a9b26b43f9925574271a45c1fe : SUCCESS in 5m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/91e4ce2cb22243128fb5c80d83df6a64 : SUCCESS in 2m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eaaebc9b1cfd4bb5b8521205b0635494 : FAILURE in 4m 24s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/139694c79e4143aa945dd13f6c43cc34 : SUCCESS in 2m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/225e17e6da194f198b879def917b684b : SUCCESS in 2m 07s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e904de7a08554731838c8c237c9c7974 : SUCCESS in 8m 03s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/97f246a37e164eaf970fb2229b53b3a1 : SUCCESS in 7m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a94373bc532e4c4296a683b86820e1fc : SUCCESS in 2m 27s\n- virtualbmc-tempest-ironic https://zuul.opendev.org/t/openstack/build/cb4c98b835ba4242bd0b1bdef5dd5d84 : SUCCESS in 1h 06m 18s\n- virtualbmc-tox-codespell https://zuul.opendev.org/t/openstack/build/5affc8e3e67f4fa0ab22b850d21c24c1 : SUCCESS in 2m 06s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"56716133b89bbcfee664c81532359db07328247b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-02-23 16:20:56.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"14fae31a9c9cb5c130fb7a9b6bb0548b3a4e6fc6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-02-23 16:23:08.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9f2db3e8840557cc74327a2a145fa2a5d2f5ecfb","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-02-23 16:24:06.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":3},{"id":"ee149ec59dc3b1b1e7ed8e0051c8a18a0d81cf5e","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-02-23 16:27:17.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"ddd83e32eee79d79b3166261e55dad93643d38ff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-23 16:58:41.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/323de099b0a34ce38b9f35661329720a\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/39f88cc44e314e64902316d82dab410a : SUCCESS in 5m 30s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e9d44d1e07ff49bf8d1f98dea87287fd : SUCCESS in 3m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/841b005f175243d5aac8d7e319f92a22 : SUCCESS in 4m 30s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a8ed5a0501bd4986bbca185dc6255d11 : SUCCESS in 3m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8b37025e780b4a11a4feae468519df95 : SUCCESS in 5m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4cfa05f0dc484cdda36295e8fb8f436b : SUCCESS in 3m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/deaa7efb28974b919617258131421d4a : SUCCESS in 7m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/25818dd5805f437b86039a1b666ad91f : SUCCESS in 2m 57s\n- virtualbmc-tempest-ironic https://zuul.opendev.org/t/openstack/build/aea65080050b42f39acfdc83ff0f26d1 : SUCCESS in 31m 58s\n- virtualbmc-tox-codespell https://zuul.opendev.org/t/openstack/build/485492a5e1a64d25b811bee2c8716ef6 : SUCCESS in 3m 41s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"aafcea667a06013b4f63e26ae2bd389bb30f28e6","author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"date":"2026-02-23 19:48:01.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"63b0c3c31da3deef8f0c093e5c82b2a16586c183","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-02-24 05:10:40.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"2d537292ab6d8047ec3de453e8d207f32633ba57","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-24 05:11:04.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"dc77deae913cdfd25f2621cfc7f64ec45857a6d9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-24 06:10:36.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/83ce548855d64cbaa50cc29758bf725c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/70dde2682dbf49e5a476d2a5f57aaf33 : SUCCESS in 2m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7f7fe87ea1304f6fac5dbf810db3b5f8 : SUCCESS in 3m 15s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ebb88a912b6d47ba8f738ebb5bdc067c : SUCCESS in 3m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a1f25da4aa104326a224e883584bf7b1 : SUCCESS in 3m 23s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c1d1146102394e7ba4d5763e5be1b0f8 : SUCCESS in 6m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5e2ff1b811704f3d94c75adda57703a0 : SUCCESS in 5m 36s\n- virtualbmc-tempest-ironic https://zuul.opendev.org/t/openstack/build/266fa1bcb7184f478c9bb5b07f74e4fa : SUCCESS in 56m 51s","accounts_in_message":[],"_revision_number":3},{"id":"a81ae4e56575ed5494a0d46577251a7af82456ae","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-24 06:10:36.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"d9ee6376cc6281dd8734a0b85011e70139772819","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-24 06:11:26.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6609b3ec14394b819ce4dc049ace4d4c\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f9d33be54982422da9b340f973dcd406 : SUCCESS in 42s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/edd1ebc2aff0448eba57e673c5c2e010 : SUCCESS in 36s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"bcea0445ac8320c45837cd12f6d4677c8cdabd73","revisions":{"3e42ee0343deebc2cdd874aed0213f8953d30bbd":{"kind":"REWORK","_number":1,"created":"2026-02-23 14:35:52.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/76/977676/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/virtualbmc","ref":"refs/changes/76/977676/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/1"}}},"commit":{"parents":[{"commit":"6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5","subject":"Merge \"Remove Python 3.8 support\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 14:33:16.000000000","tz":60},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 14:35:47.000000000","tz":60},"subject":"Remove Python 3.9 support","message":"Remove Python 3.9 support\n\nPython 3.9 was removed from the tested runtimes for 2025.2[1] and has\nnot been tested since then.\n\nAlso add Python 3.13 which is part of the tested runtimes for 2025.2.\nNow unit tests job with Python 3.13 is voting.\n\n[1] https://governance.openstack.org/tc/reference/runtimes/2025.2.html\n\nChange-Id: I91353194e57976cd5fed0f72a841de9fe2a899ea\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/3e42ee0343deebc2cdd874aed0213f8953d30bbd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/3e42ee0343deebc2cdd874aed0213f8953d30bbd"}]},"branch":"refs/heads/master"},"9189b340faf70dd8641e04d46444701048c14335":{"kind":"REWORK","_number":2,"created":"2026-02-23 16:20:56.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/76/977676/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/virtualbmc","ref":"refs/changes/76/977676/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/2"}}},"commit":{"parents":[{"commit":"6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5","subject":"Merge \"Remove Python 3.8 support\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 14:33:16.000000000","tz":60},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 16:19:41.000000000","tz":60},"subject":"Remove Python 3.9 support","message":"Remove Python 3.9 support\n\nPython 3.9 was removed from the tested runtimes for 2025.2[1] and has\nnot been tested since then.\n\nAlso add Python 3.13 which is part of the tested runtimes for 2025.2.\nNow unit tests job with Python 3.13 is voting.\n\nAlso pin setuiptools in pep8 test to keep pkg_resources module for\ncompatibility with flake8-import-order.\n\n[1] https://governance.openstack.org/tc/reference/runtimes/2025.2.html\n\nChange-Id: I91353194e57976cd5fed0f72a841de9fe2a899ea\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/9189b340faf70dd8641e04d46444701048c14335"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/9189b340faf70dd8641e04d46444701048c14335"}]},"branch":"refs/heads/master"},"bcea0445ac8320c45837cd12f6d4677c8cdabd73":{"kind":"REWORK","_number":3,"created":"2026-02-23 16:23:08.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/76/977676/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/virtualbmc","ref":"refs/changes/76/977676/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/virtualbmc refs/changes/76/977676/3"}}},"commit":{"parents":[{"commit":"6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5","subject":"Merge \"Remove Python 3.8 support\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/6e14e8bdb8cc022d843bfb98377bfc89d99fc9c5"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 14:33:16.000000000","tz":60},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-02-23 16:22:34.000000000","tz":60},"subject":"Remove Python 3.9 support","message":"Remove Python 3.9 support\n\nPython 3.9 was removed from the tested runtimes for 2025.2[1] and has\nnot been tested since then.\n\nAlso add Python 3.13 which is part of the tested runtimes for 2025.2.\nNow unit tests job with Python 3.13 is voting.\n\nAlso bump flake8-import-order to 0.19.2, which replaces\nthe pkg_resources dependency with importlib.metadata. This allows\nthe pep8 job to run on modern setuptools and Python 3.12.\n\n[1] https://governance.openstack.org/tc/reference/runtimes/2025.2.html\n\nChange-Id: I91353194e57976cd5fed0f72a841de9fe2a899ea\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/bcea0445ac8320c45837cd12f6d4677c8cdabd73"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/virtualbmc/commit/bcea0445ac8320c45837cd12f6d4677c8cdabd73"}]},"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":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},{"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":{}}}]}
