)]}'
{"id":"openstack%2Fcyborg~949772","triplet_id":"openstack%2Fcyborg~master~I31fb6bff75ce27aedd94f7f73b7bfdd706127fc2","project":"openstack/cyborg","branch":"master","topic":"pip-23.1-support","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-06-19 01:36:31.000000000","reason":"Change was submitted"},"31412":{"account":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"last_update":"2025-06-19 01:17:19.000000000","reason":"\u003cGERRIT_ACCOUNT_31412\u003e replied on the change","reason_account":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"}},"26458":{"account":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"last_update":"2025-06-19 01:36:31.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I31fb6bff75ce27aedd94f7f73b7bfdd706127fc2","subject":"Add support for pyproject.toml and wsgi module paths","status":"MERGED","created":"2025-05-14 15:12:37.000000000","updated":"2025-06-19 01:37:21.000000000","submitted":"2025-06-19 01:36:31.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":"949772-pip-23.1-support","meta_rev_id":"0d1d8b54f854181b396c0cd086d662ff5355ed11","_number":949772,"virtual_id_number":949772,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-06-19 01:36:31.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":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"all":[{"value":2,"date":"2025-06-19 01:17:19.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},{"value":1,"date":"2025-06-10 17:58:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":1,"date":"2025-05-14 16:18:19.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"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":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"all":[{"value":1,"date":"2025-06-19 01:17:19.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"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}},"removable_reviewers":[{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"}],"reviewers":{"REVIEWER":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-05-14 15:30:36.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-05-14 16:06:58.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"state":"REVIEWER"},{"updated":"2025-05-14 16:18:19.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2025-05-14 16:18:24.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"state":"REVIEWER"},{"updated":"2025-06-10 17:58:28.000000000","updated_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"REVIEWER"}],"messages":[{"id":"2504bd4a52f16fe28d7e4142b3cdb28043a2ad69","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-14 15:12:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ce3d1dddf277386fb6de76cbc79a9f688c4fa804","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-14 15:30:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/11e7b803eedc448abbbeb881a5eed47c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d9daa91e5273444182fbf22e0ce91b3d : SUCCESS in 1m 38s\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/94ba5bf7eb7f4bfda48978c47fbfd645 : SUCCESS in 4m 13s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/232e8367861e4654a8108420c9d78937 : SUCCESS in 5m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3f6685ee13f447fb8f66d351d1d19030 : SUCCESS in 3m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b24501d4b2be4894905966245672801d : SUCCESS in 7m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e22b919a17e448ea9ab0118e3a3f9329 : SUCCESS in 3m 17s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/cedf7469d3514ce8b52f74cebbe85fe7 : SUCCESS in 3m 47s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/c76d9e79ddea4f87b08e5de477444f42 : SUCCESS in 4m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4d0541da961d42b7821cd46b49102c3e : SUCCESS in 5m 47s (non-voting)\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/da0deb16059d48a083e17d0cbaeb8608 : SUCCESS in 15m 38s\n- cyborg-tempest-jammy https://zuul.opendev.org/t/openstack/build/1d59868d624f48708a9e9e517df396c4 : SUCCESS in 13m 22s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0a5993762b264c9993783ea4e3391c03 : FAILURE in 15m 10s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/99cdf6faec2c4de2bb9919d3c1ede887 : SUCCESS in 4m 48s","accounts_in_message":[],"_revision_number":1},{"id":"3dfefeee19d3f1a347e1f7bb62ad2f8a15dfa8c1","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2025-05-14 16:18:19.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"9e38ea92342f33de7c46e793eefbcf93a87a4981","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2025-06-10 17:58:28.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ab5104b79ad1fd59e649d2eb771ec7a4b2d33a3a","author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"date":"2025-06-19 01:17:19.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"210d62eae424b2b413546ff99cf5096d10da6299","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-19 01:17:38.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"343f61023d61c3d2ef4a48b2f7ab30c528872fca","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-19 01:36:31.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/71b8abf1056b4e588d028293d953f041\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/dc9e8b94399541f0b005178bc70d6d81 : SUCCESS in 4m 59s\n- build-openstack-api-ref https://zuul.opendev.org/t/openstack/build/5d35989dc7a340208a241351ff74a60b : SUCCESS in 5m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0801eff9acf24f018009c16e9689d52c : SUCCESS in 5m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ee108286ef3f4fe9b5be4c48db192a0a : SUCCESS in 10m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2d4d8caaf83a4acb8d3c6cfbc42b950b : SUCCESS in 7m 12s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/41f1f03404154c38b3529ed26e652b95 : SUCCESS in 6m 28s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/8ebbee002187476e8c64f7745b9b5c07 : SUCCESS in 4m 10s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/5d8ad69dc55743989eed5e8e656962d2 : SUCCESS in 17m 38s\n- cyborg-tempest-jammy https://zuul.opendev.org/t/openstack/build/b7466b7d47b148098763c2e7d4152427 : SUCCESS in 16m 52s","accounts_in_message":[],"_revision_number":1},{"id":"79d06f7c1a232c1d686b14b9ba8290fcad60bfa9","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-19 01:36:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"0d1d8b54f854181b396c0cd086d662ff5355ed11","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-19 01:37:21.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fce4c65006d7416a81ff86d2649a5132\n\n- promote-api-ref https://zuul.opendev.org/t/openstack/build/ca7bb2da517f4ea1a2bd958062b814eb : SUCCESS in 35s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e3b39bb5ed47464ca9a04f7ea4b45bff : SUCCESS in 34s\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9de8a7f7c5404218912145fc740ffa65 : SUCCESS in 38s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"3724b467b471f9bd97d4b5275ec7be463ad011db","revisions":{"3724b467b471f9bd97d4b5275ec7be463ad011db":{"kind":"REWORK","_number":1,"created":"2025-05-14 15:12:37.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/72/949772/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/72/949772/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/72/949772/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/72/949772/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/72/949772/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/72/949772/1"}}},"commit":{"parents":[{"commit":"ef56aadb260ad6793174f6c80b5410c5e4655164","subject":"Update master for stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ef56aadb260ad6793174f6c80b5410c5e4655164"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-05-14 15:06:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-05-14 15:12:35.000000000","tz":60},"subject":"Add support for pyproject.toml and wsgi module paths","message":"Add support for pyproject.toml and wsgi module paths\n\npip 23.1 removed the \"setup.py install\" fallback for projects that do\nnot have pyproject.toml and now uses a pyproject.toml which is vendored\nin pip [1][2]. pip 24.2 has now deprecated a similar fallback to\n\"setup.py develop\" and plans to fully remove this in pip 25.0 [3][4][5].\npbr supports editable installs since 6.0.0\n\npip 25.1 has now been released and the removal is complete.\nby adding our own minimal pyproject.toml to ensure we are using the\ncorrect build system.\n\nThis change also requires that we adapt how we generate our wsgi\nentry point. when pyproject.toml is used the wsgi console script is\nnot generated in an editbale install such as is used in devstck\n\nTo adress this we need to refactor our usage of our wsgi applciation\nto use a module path instead. This change does not remove\nthe declaration of our wsgi_script entry point but it shoudl\nbe considered deprecated and it will be removed in the future.\n\nTo unblock the gate the devstack plugin is modifed to to deploy\nusing the wsgi module instead of the console script.\n\n[1] https://pip.pypa.io/en/stable/news/#v23-1\n[2] pypa/pip#8368\n[3] https://pip.pypa.io/en/stable/news/#v24-2\n[4] pypa/pip#11457\n[5] https://ichard26.github.io/blog/2024/08/whats-new-in-pip-24.2/\nCloses-Bug: #2109583\n\nChange-Id: I31fb6bff75ce27aedd94f7f73b7bfdd706127fc2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/3724b467b471f9bd97d4b5275ec7be463ad011db"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/3724b467b471f9bd97d4b5275ec7be463ad011db"}]},"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":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"}}]}],"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":"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":{}}}]}
