)]}'
{"id":"openstack%2Fdevstack~985170","triplet_id":"openstack%2Fdevstack~master~Ic9ea8344e563c8f53b57fd1518315113860fd0d9","project":"openstack/devstack","branch":"master","attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-04-17 20:51:46.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":["py3.14"],"change_id":"Ic9ea8344e563c8f53b57fd1518315113860fd0d9","subject":"python: add uv package and environment provider","status":"NEW","created":"2026-04-17 18:56:11.000000000","updated":"2026-04-22 22:38:05.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2f8b5534acdca86e6a0d77e453786a7962c42a17","_number":985170,"virtual_id_number":985170,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-04-17 20:51:46.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":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":1,"date":"2026-04-17 20:05:19.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":"","value":1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":-1,"date":"2026-04-17 18:56:34.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_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},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-17 20:05:19.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"},{"updated":"2026-04-17 20:51: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"}],"messages":[{"id":"5a98727ec2d57e3d03ab62e17b5d6ec9026a0dd0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-17 18:56:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b0c790369e77d18e47c621d9dfff8fcc6cc7c228","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-17 18:56:34.000000000","message":"Patch Set 1: Workflow-1","accounts_in_message":[],"_revision_number":1},{"id":"c48180291b613517489e02c41d066ed0453b53e5","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-04-17 20:05:19.000000000","message":"Patch Set 1: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/625ea82251674587bcda83abd67cb41a\n\n- devstack-platform-centos-10-stream https://softwarefactory-project.io/zuul/t/rdoproject.org/build/344f358f024740ccab4080eb09c1c947 : SUCCESS in 1h 08m 01s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"753d489bbd6a05212d7deab0a63f1dad594539c0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 20:51:46.000000000","message":"Patch Set 1: Verified-1\n\n(7 comments)\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/2d2f8de2abd947f0b7862e4cdf68bc12\n\n- grenade https://zuul.opendev.org/t/openstack/build/7d7882e31fa64290824b013c3d10cb21 : SUCCESS in 33m 17s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ac400825e4074b7397ee9999a3cda202 : FAILURE in 27m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/832bd220df6b4f2ebdf98a9de39dc87a : SUCCESS in 4m 28s\n- devstack https://zuul.opendev.org/t/openstack/build/fad4ecdb7c3e4706a74229ef9af1f1d2 : SUCCESS in 30m 37s\n- devstack-ipv6 https://zuul.opendev.org/t/openstack/build/998682330a7b49a4949a372cc4cabb8e : SUCCESS in 27m 07s\n- devstack-enforce-scope https://zuul.opendev.org/t/openstack/build/d80c642701b44dc7b808d254640281c9 : SUCCESS in 24m 29s\n- devstack-platform-almalinux-purple-lion-ovn-source https://zuul.opendev.org/t/openstack/build/26213c877f5f4839891c6f2338b68095 : FAILURE in 1h 08m 38s (non-voting)\n- devstack-platform-centos-10-stream https://zuul.opendev.org/t/openstack/build/7457508e00a8462d82c39375bc9c896c : SUCCESS in 1h 41m 55s (non-voting)\n- devstack-platform-centos-9-stream https://zuul.opendev.org/t/openstack/build/a558056ddc59448eabfb0317d5a9c7c7 : SUCCESS in 1h 48m 33s (non-voting)\n- devstack-platform-debian-bookworm https://zuul.opendev.org/t/openstack/build/5357e178fd084f48816e27fdc14371ac : SUCCESS in 59m 12s\n- devstack-platform-debian-trixie https://zuul.opendev.org/t/openstack/build/9dc46f005f0749339c5f5fd43be3862c : SUCCESS in 1h 33m 15s\n- devstack-platform-rocky-blue-onyx https://zuul.opendev.org/t/openstack/build/61f7b1b2c2674e60b40104c68314a0a8 : SUCCESS in 1h 48m 14s (non-voting)\n- devstack-platform-rocky-red-quartz https://zuul.opendev.org/t/openstack/build/c8e4304c101641d1a4f7a0a35cf4c757 : SUCCESS in 1h 27m 48s (non-voting)\n- devstack-platform-ubuntu-noble-ovs https://zuul.opendev.org/t/openstack/build/44b551c76ffd435f9cc76da22b3b232f : FAILURE in 27m 41s (non-voting)\n- devstack-multinode https://zuul.opendev.org/t/openstack/build/a3fcbdd63b31437aa07f5a7a42ca8423 : SUCCESS in 36m 39s\n- devstack-unit-tests https://zuul.opendev.org/t/openstack/build/37a4ce1f898646a9b632acce64a006fd : SUCCESS in 3m 11s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/15238618a26f45329c07b26485511e14 : FAILURE in 2m 45s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/a19fa555b3444dec8a0ce0f87f31f590 : FAILURE in 36m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ee358ea165b84df0959c25238a5b0b06 : SUCCESS in 24m 52s\n- neutron-ovs-grenade-multinode https://zuul.opendev.org/t/openstack/build/bad7f019388a455d9b7f38c404956283 : SUCCESS in 43m 11s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/96a0e3d6bf3b4ba2ae070b3ca1fad1be : SUCCESS in 1h 15m 39s (non-voting)\n- tempest-multinode-full-py3 https://zuul.opendev.org/t/openstack/build/c30e1bea463e4f9da8437cbe6add0e8a : SUCCESS in 43m 41s (non-voting)\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/16e6ff3fda7745bf895a10042a58c160 : SUCCESS in 1h 02m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7e4e4b9e452c40c4b615668bd4a2e34a : SUCCESS in 1h 07m 10s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/6c58477fc6364465b5baf3499391f988 : FAILURE in 1h 43m 07s","accounts_in_message":[],"_revision_number":1},{"id":"2f8b5534acdca86e6a0d77e453786a7962c42a17","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2026-04-22 22:38:05.000000000","message":"Hashtag added: py3.14","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"103c32d10dd9d88ea4e425440cfc891327afc452","revisions":{"103c32d10dd9d88ea4e425440cfc891327afc452":{"kind":"REWORK","_number":1,"created":"2026-04-17 18:56:11.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/70/985170/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/70/985170/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/70/985170/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/70/985170/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/70/985170/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/70/985170/1"}}},"commit":{"parents":[{"commit":"4482fea5524331cd75b099ffe2b2158ce2a322f0","subject":"cleanup: fix full unstack and centralize runtime env cleanup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/4482fea5524331cd75b099ffe2b2158ce2a322f0"}]}],"author":{"name":"Sean Mooney","email":"sean@seanmooney.info","date":"2026-04-12 00:03:23.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"sean@seanmooney.info","date":"2026-04-17 18:53:29.000000000","tz":0},"subject":"python: add uv package and environment provider","message":"python: add uv package and environment provider\n\nAdd uv as an alternate Python package and environment provider for\nDevStack.\n\nThis wires the provider selection into stackrc and inc/python, adds a\nthin uv installer entrypoint, and updates the common runtime consumers\nto resolve their Python environment through the shared provider\nhelpers.  In uv mode DevStack now uses the managed global virtualenv,\ncreates project virtualenvs through the same provider, and reports the\nactive Python environments through shared metadata.\n\nThe cleanup and reporting paths are updated alongside the provider so\nthat log capture and info output describe the DevStack-managed Python\nenvironments instead of assuming the host pip layout.\n\nTests:\n- bash -n stackrc inc/python functions-common lib/apache lib/stack roles/capture-system-logs/tasks/main.yaml stack.sh clean.sh tools/install_pip.sh tools/install_uv.sh tools/install_prereqs.sh tools/generate-devstack-plugins-list.sh tools/build_venv.sh tools/info.sh tests/test_python_provider.sh tests/test_teardown_uv.sh\n- bash tests/test_python_provider.sh\n- bash tests/test_no_legacy_pip_paths.sh\n- bash tests/test_teardown_uv.sh\n\nGenerated-By: codex gpt-5.4\nChange-Id: Ic9ea8344e563c8f53b57fd1518315113860fd0d9\nSigned-off-by: Sean Mooney \u003csean@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/103c32d10dd9d88ea4e425440cfc891327afc452"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/103c32d10dd9d88ea4e425440cfc891327afc452"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
