)]}'
{"id":"openstack%2Frequirements~970441","triplet_id":"openstack%2Frequirements~master~I01dc6aa8e6389fc927d03c4997052d237639b9fe","project":"openstack/requirements","branch":"master","topic":"typing","attention_set":{},"removed_from_attention_set":{"14288":{"account":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"last_update":"2026-01-05 23:57:14.000000000","reason":"\u003cGERRIT_ACCOUNT_14288\u003e replied on the change","reason_account":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"}},"12898":{"account":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"last_update":"2026-01-06 01:51:46.000000000","reason":"Change was submitted"},"17685":{"account":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"last_update":"2026-01-06 01:51:46.000000000","reason":"Change was submitted"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-01-06 01:51:46.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I01dc6aa8e6389fc927d03c4997052d237639b9fe","subject":"Don\u0027t include type stub packages in upper-constraints","status":"MERGED","created":"2025-12-10 17:07:00.000000000","updated":"2026-01-06 01:52:29.000000000","submitted":"2026-01-06 01:51:46.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"970441-typing","meta_rev_id":"61bdd1b232124c76a9cc39fc33eb2e58b533b580","_number":970441,"virtual_id_number":970441,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-01-06 01: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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":2,"date":"2025-12-18 16:49:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":2,"date":"2026-01-05 23:57:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"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":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":1,"date":"2026-01-05 23:57:14.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"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":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"}],"reviewers":{"REVIEWER":[{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-12-10 18:35:12.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-12-11 09:12:44.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"},{"updated":"2025-12-11 12:08:20.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"state":"REVIEWER"},{"updated":"2025-12-11 12:08:20.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"state":"REVIEWER"},{"updated":"2025-12-18 16:49:23.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"}],"messages":[{"id":"0cbc5e82f5c2de6fc19ada3739f03006d2a0cadb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-10 17:07:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d42ec76d24d8b5772e0e56dec4544dde5b7606e7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-10 18:35:12.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/ba8b2055d16041de9fec1a6889060e11\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9545b5e8d1264852afbd899650736c92 : SUCCESS in 2m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/55ec2af1c53447889453fcfbdc4f37b3 : SUCCESS in 2m 25s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/9b5b207be26a42febcff3fbdb6c4883b : SUCCESS in 3m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9b0a7269daa64e7e9b839b9fb875e95c : SUCCESS in 7m 24s\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/e3e94999d165425883aded1a10fb5b69 : FAILURE in 3m 26s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/cec99457b4284240b07185863c0c123a : SUCCESS in 4m 14s\n- requirements-tox-py310-check-uc https://zuul.opendev.org/t/openstack/build/2b33acc2eec1453d8fd83b5731c8b35f : SUCCESS in 5m 18s\n- requirements-tox-py311-check-uc https://zuul.opendev.org/t/openstack/build/7836080022db43abba6fe3bbb6305c9e : SUCCESS in 9m 48s\n- requirements-tox-py312-check-uc https://zuul.opendev.org/t/openstack/build/b70d6673d95f4adfac6d0888db76ab4c : SUCCESS in 10m 48s\n- requirements-tox-py313-check-uc https://zuul.opendev.org/t/openstack/build/a80061371f6347d3b420a7c6b7e8092a : SUCCESS in 9m 29s (non-voting)\n- cross-aodh-py312 https://zuul.opendev.org/t/openstack/build/74c324ba71024d12aefe7d699851e6e5 : SUCCESS in 5m 10s\n- cross-barbican-py312 https://zuul.opendev.org/t/openstack/build/3ee5324f15cc4c64a41352ea123821fd : SUCCESS in 5m 19s\n- cross-ceilometer-py312 https://zuul.opendev.org/t/openstack/build/eb2d6c5d463a418fb05ef91f81371ff8 : SUCCESS in 2m 33s\n- cross-cinder-py312 https://zuul.opendev.org/t/openstack/build/335bd79a032243f1a8fb0007c8368354 : SUCCESS in 11m 48s\n- cross-designate-py312 https://zuul.opendev.org/t/openstack/build/03f319092fe341c2bb53dfc3d7ed0da7 : SUCCESS in 6m 26s\n- cross-glance-py312 https://zuul.opendev.org/t/openstack/build/fbaad09badbe410582d48cb400051f51 : SUCCESS in 3m 30s\n- cross-heat-py312 https://zuul.opendev.org/t/openstack/build/b0c55a2444f740e6ada27bbd69b49314 : SUCCESS in 8m 42s\n- cross-horizon-py312 https://zuul.opendev.org/t/openstack/build/53ae90227591423794a8f56ff1453b83 : SUCCESS in 17m 23s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/3f9f6da0ebd045b8930f796199248418 : SUCCESS in 6m 32s\n- cross-ironic-py312 https://zuul.opendev.org/t/openstack/build/cddfb48735004df7afa4e1b82612af37 : SUCCESS in 9m 25s\n- cross-keystone-py312 https://zuul.opendev.org/t/openstack/build/20bc98bf1ce74e01805e0c5490aee2f3 : SUCCESS in 8m 20s\n- cross-kuryr-py312 https://zuul.opendev.org/t/openstack/build/e229bc43c815496fb682336ddda02d3e : SUCCESS in 3m 08s\n- cross-manila-py312 https://zuul.opendev.org/t/openstack/build/8026483141f9410aa5ad7ae691b2b5bf : SUCCESS in 11m 02s\n- cross-magnum-py312 https://zuul.opendev.org/t/openstack/build/d5e8a35fd0eb438ab7b0050b764c775e : SUCCESS in 4m 47s\n- cross-masakari-py312 https://zuul.opendev.org/t/openstack/build/2a302d33057f4363aef193342b254146 : SUCCESS in 3m 24s (non-voting)\n- cross-mistral-py312 https://zuul.opendev.org/t/openstack/build/c0fce5ad806b4524af913ed174623008 : SUCCESS in 10m 45s (non-voting)\n- cross-neutron-py312 https://zuul.opendev.org/t/openstack/build/a8e3228aa687467aa20f2f1c8c36b873 : SUCCESS in 28m 41s\n- cross-nova-pep8 https://zuul.opendev.org/t/openstack/build/4228ddde29984dab8a1fbf56cc76e626 : SUCCESS in 7m 45s\n- cross-nova-py312 https://zuul.opendev.org/t/openstack/build/e18dfa149f7e40b292f74a04b73f53f3 : SUCCESS in 11m 38s\n- cross-placement-py312 https://zuul.opendev.org/t/openstack/build/f554e3cf1f164b288bf0499fee8629a3 : SUCCESS in 6m 27s\n- cross-osvif-py3 https://zuul.opendev.org/t/openstack/build/6f31c7104359424f8c7d593bfe877564 : SUCCESS in 3m 50s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/370180b3f2af45e5a276e8eeca2b62dc : SUCCESS in 24m 51s\n- cross-placement-functional-py312 https://zuul.opendev.org/t/openstack/build/aa0c90d3cf0449aea6ec30be2ce18b64 : SUCCESS in 6m 43s\n- cross-octavia-py312 https://zuul.opendev.org/t/openstack/build/3061925b9a594486801aaca96736f88c : SUCCESS in 5m 23s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/91902dc30a9c41d9ab589edc1c0c0d12 : SUCCESS in 5m 39s\n- cross-swift-py312 https://zuul.opendev.org/t/openstack/build/8b86cf3c67dd487087e1b4097d980c02 : SUCCESS in 19m 22s\n- cross-watcher-py3 https://zuul.opendev.org/t/openstack/build/608d135318f64c25bc5732213b0ad934 : SUCCESS in 6m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cda9e84f0a234021a9e19cbeddc177ea : SUCCESS in 1h 06m 12s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d9ee51758b964e5da50b83a53dbf3d5b : SUCCESS in 1h 25m 31s","accounts_in_message":[],"_revision_number":1},{"id":"a8451d0ba1ed8880dfebe6ed21b5b458828ee609","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-12-11 09:12:44.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ce0484b160e6cf7bc94fd2645a06e00fd60ec139","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-11 12:02:01.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"c0844aeebb0a4079da5b525423c1ad7b79e179be","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-11 12:05:54.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"111164e684912f8814503a3e46aa861e09c3bdf0","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-11 12:07:05.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b55775a47ca1ba3e1bb7149c430ec7fd0e6f85ae","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-11 13:48:20.000000000","message":"Patch Set 2: 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/e3c96d442a8745a68057ce692f8d0ab0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7ef8fdb00d304e27bdf808f05e82f790 : SUCCESS in 3m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/88f8a002d9ad4d1f9c3560c0fb9dfb1b : SUCCESS in 1m 49s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/9208b5fb8a2e46e5adbf0b61099133e5 : SUCCESS in 2m 01s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/046c5ac2fe764474ae5784f21ab7cfb3 : SUCCESS in 5m 29s\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/708b3c159ab64316bcb1c24dbbeb1c0a : SUCCESS in 2m 23s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/4b3c25f2c95845d3b9869d5c0f68572a : SUCCESS in 2m 44s\n- requirements-tox-py310-check-uc https://zuul.opendev.org/t/openstack/build/74731fef53684998b7560c528b852e34 : SUCCESS in 6m 25s\n- requirements-tox-py311-check-uc https://zuul.opendev.org/t/openstack/build/e0fdb55a19cd4c218431c7282d211437 : SUCCESS in 3m 15s\n- requirements-tox-py312-check-uc https://zuul.opendev.org/t/openstack/build/7e16251f6e75489a9b7461634512d968 : SUCCESS in 7m 13s\n- requirements-tox-py313-check-uc https://zuul.opendev.org/t/openstack/build/7b8b2497ac9246a381b44a493dbca8ff : SUCCESS in 9m 29s (non-voting)\n- cross-aodh-py312 https://zuul.opendev.org/t/openstack/build/0153ee95748b4440858dc334b5913713 : SUCCESS in 4m 54s\n- cross-barbican-py312 https://zuul.opendev.org/t/openstack/build/3bdb85acd4e04e3694c2a0dea9c2d2bb : SUCCESS in 4m 41s\n- cross-ceilometer-py312 https://zuul.opendev.org/t/openstack/build/3f1a4be4fb0f4a7a8c0c9019dc42f5b6 : SUCCESS in 4m 21s\n- cross-cinder-py312 https://zuul.opendev.org/t/openstack/build/4cfe4293f32c481abea16790d6dddd62 : SUCCESS in 11m 51s\n- cross-designate-py312 https://zuul.opendev.org/t/openstack/build/6e018986fe7c4bbfaea3891ef01dd90b : SUCCESS in 3m 06s\n- cross-glance-py312 https://zuul.opendev.org/t/openstack/build/b875b3163c724522afee747c7080f5c4 : SUCCESS in 4m 34s\n- cross-heat-py312 https://zuul.opendev.org/t/openstack/build/0bc5971678004b77b161eea219e9b6ea : SUCCESS in 4m 19s\n- cross-horizon-py312 https://zuul.opendev.org/t/openstack/build/ca392b0a5d754e68ba9da0720008efe6 : SUCCESS in 13m 18s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/fd21bba5342f468c8326aedbf3d6e92f : SUCCESS in 6m 18s\n- cross-ironic-py312 https://zuul.opendev.org/t/openstack/build/e715c518f59e4c2e99f46cac6ec08d51 : SUCCESS in 8m 45s\n- cross-keystone-py312 https://zuul.opendev.org/t/openstack/build/2df5810279ea4bdfb1369891cc93c9e2 : SUCCESS in 10m 57s\n- cross-kuryr-py312 https://zuul.opendev.org/t/openstack/build/dbd42bc0cf454645a035b0940a08825f : SUCCESS in 1m 28s\n- cross-manila-py312 https://zuul.opendev.org/t/openstack/build/610443a614e8471aa2e801ce3d12ff0f : SUCCESS in 9m 01s\n- cross-magnum-py312 https://zuul.opendev.org/t/openstack/build/f251f1e1f8eb4aaeb58a2e78050d35a2 : SUCCESS in 3m 38s\n- cross-masakari-py312 https://zuul.opendev.org/t/openstack/build/16a0ca34e8bd4f2f8a334db071530c96 : SUCCESS in 4m 57s (non-voting)\n- cross-mistral-py312 https://zuul.opendev.org/t/openstack/build/b4448472b03b4dc3962868891c1bc003 : SUCCESS in 10m 59s (non-voting)\n- cross-neutron-py312 https://zuul.opendev.org/t/openstack/build/4efeab6ab7fc4cca981396913a9f8ff1 : SUCCESS in 22m 29s\n- cross-nova-pep8 https://zuul.opendev.org/t/openstack/build/2f431f63d0ba4ce28b4d7a3f9ccbf5bd : SUCCESS in 4m 23s\n- cross-nova-py312 https://zuul.opendev.org/t/openstack/build/caa4bb5f7a9348f0b0073db69cadc27c : SUCCESS in 14m 42s\n- cross-placement-py312 https://zuul.opendev.org/t/openstack/build/8144bf26f09646e38d976e59783a7434 : SUCCESS in 4m 37s\n- cross-osvif-py3 https://zuul.opendev.org/t/openstack/build/a85a016292524ae688ad78f2b5a98dfa : SUCCESS in 3m 28s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/ea18c9a55fc648f78934e3a142f732ac : SUCCESS in 20m 38s\n- cross-placement-functional-py312 https://zuul.opendev.org/t/openstack/build/e295fcbe31034009a1097e012f4b9061 : SUCCESS in 3m 52s\n- cross-octavia-py312 https://zuul.opendev.org/t/openstack/build/5c404fdae58e44f5a8d0c8c49748cec6 : FAILURE in 3m 21s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/26f716d782a54b3a88ff659c2a7fc4db : SUCCESS in 5m 47s\n- cross-swift-py312 https://zuul.opendev.org/t/openstack/build/fd7847fb69ab480a93989fe6e5ddf2d7 : SUCCESS in 12m 18s\n- cross-watcher-py3 https://zuul.opendev.org/t/openstack/build/e5ae92bbfa1a4550978ad6835003df85 : SUCCESS in 7m 01s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4c338bf394454686ac539ea4a6d8e3fc : SUCCESS in 1h 04m 17s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3a7684d55e154829a059925b4055f90d : SUCCESS in 1h 40m 17s","accounts_in_message":[],"_revision_number":2},{"id":"e1917b989bc5b9764415f2568d5ffd1b1b8e0557","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-11 19:15:35.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"5aab28367b6667050b424abec9ea127a783baa6b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-11 21:08:57.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/eef80f86f1ec43a497955705a75d5777\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e3c762c06655401f9bcd8da604801eb5 : SUCCESS in 3m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e5e0efc35f814f7e9a4dad2fcd40c1bd : SUCCESS in 1m 52s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6cbd6053e3da4e35a16dba1a6dc5a04c : SUCCESS in 5m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/303e65e04f334a5bba4bd6b1e02197cd : SUCCESS in 4m 51s\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/d785eba7a12e444aaf9ee1dda405513e : SUCCESS in 2m 20s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/13170a95bb734a6d9c7b63c45326cc1f : SUCCESS in 1m 50s\n- requirements-tox-py310-check-uc https://zuul.opendev.org/t/openstack/build/6327430bb7e541cc8f3909da601d01aa : SUCCESS in 7m 27s\n- requirements-tox-py311-check-uc https://zuul.opendev.org/t/openstack/build/035a172400ff423992d67c058371b022 : SUCCESS in 6m 32s\n- requirements-tox-py312-check-uc https://zuul.opendev.org/t/openstack/build/be113b94bda64bf5803c764d98450062 : SUCCESS in 3m 45s\n- requirements-tox-py313-check-uc https://zuul.opendev.org/t/openstack/build/7870d666520a4907b60f8ea75445583a : SUCCESS in 12m 36s (non-voting)\n- cross-aodh-py312 https://zuul.opendev.org/t/openstack/build/f03c7e66fbba45b39a821b7a1431871f : SUCCESS in 5m 20s\n- cross-barbican-py312 https://zuul.opendev.org/t/openstack/build/3f70b36a15f54a9391f6dc1b9e31c099 : SUCCESS in 3m 29s\n- cross-ceilometer-py312 https://zuul.opendev.org/t/openstack/build/8189b6f93aba4defb1fe55f8ba0456a9 : SUCCESS in 3m 56s\n- cross-cinder-py312 https://zuul.opendev.org/t/openstack/build/e8dac6af573f4a4bac263e73eff35fb2 : SUCCESS in 10m 28s\n- cross-designate-py312 https://zuul.opendev.org/t/openstack/build/6913e64d5fb64a86a675c119cdecd6b2 : SUCCESS in 5m 16s\n- cross-glance-py312 https://zuul.opendev.org/t/openstack/build/1c6222dee3dc425fbf45c27811f2748a : SUCCESS in 3m 29s\n- cross-heat-py312 https://zuul.opendev.org/t/openstack/build/8157b5e3b7a24f66ad98f679a1c5659b : SUCCESS in 7m 36s\n- cross-horizon-py312 https://zuul.opendev.org/t/openstack/build/cad7d4ffa9aa47e4be69b9aa1e0cbc0c : SUCCESS in 17m 16s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/0973d41eece8493fa5aebe0da04ed1b3 : SUCCESS in 7m 10s\n- cross-ironic-py312 https://zuul.opendev.org/t/openstack/build/1ef85c87d19e43669b043b63ce238f1a : SUCCESS in 6m 27s\n- cross-keystone-py312 https://zuul.opendev.org/t/openstack/build/9506c26f544e4ba4bd1c82a3d6d5f51d : SUCCESS in 13m 29s\n- cross-kuryr-py312 https://zuul.opendev.org/t/openstack/build/4f7707ed66564d5cae0db7fe9349901f : SUCCESS in 2m 17s\n- cross-manila-py312 https://zuul.opendev.org/t/openstack/build/dd0d2138614843e1ab03d1d25c734a68 : SUCCESS in 9m 25s\n- cross-magnum-py312 https://zuul.opendev.org/t/openstack/build/f617a8c3d47e4decaa1773300e0c9ec2 : SUCCESS in 4m 16s\n- cross-masakari-py312 https://zuul.opendev.org/t/openstack/build/8d4a44327c9d47eaa6e5ae6b34e7a312 : SUCCESS in 5m 08s (non-voting)\n- cross-mistral-py312 https://zuul.opendev.org/t/openstack/build/8884f04535c54e8b92d6cbbc7eece718 : SUCCESS in 9m 37s (non-voting)\n- cross-neutron-py312 https://zuul.opendev.org/t/openstack/build/58c89cdf38664b54bdbe99d6d07dc18d : SUCCESS in 27m 43s\n- cross-nova-pep8 https://zuul.opendev.org/t/openstack/build/cd32cf35cc64487283c12e06f44b0e0c : SUCCESS in 8m 14s\n- cross-nova-py312 https://zuul.opendev.org/t/openstack/build/d7aeee3ef21f41dbbd22d6696df77065 : SUCCESS in 13m 32s\n- cross-placement-py312 https://zuul.opendev.org/t/openstack/build/bb9b06cfa8e24236be33b8803c97556e : SUCCESS in 4m 49s\n- cross-osvif-py3 https://zuul.opendev.org/t/openstack/build/7d43b17d7fea49659458f83ed550c6c6 : SUCCESS in 3m 38s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/be3ec6e567dd42e2b0ace1aaf5603e28 : SUCCESS in 26m 48s\n- cross-placement-functional-py312 https://zuul.opendev.org/t/openstack/build/87fa0c44a9ba4a21a8894521f6e2d43f : SUCCESS in 3m 53s\n- cross-octavia-py312 https://zuul.opendev.org/t/openstack/build/97ed4be3bcfd4cffbe08461fb2e93ab5 : SUCCESS in 5m 04s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/012a32fcc5fc4bf7be430d2251c1fb07 : SUCCESS in 6m 33s\n- cross-swift-py312 https://zuul.opendev.org/t/openstack/build/0fd162dfc67f4bceb12330b109128ecc : SUCCESS in 19m 53s\n- cross-watcher-py3 https://zuul.opendev.org/t/openstack/build/10237ca2b95740dfb65d7d597b30881d : SUCCESS in 5m 33s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2e97baa60dd44255b8450ef526e49ff5 : SUCCESS in 48m 34s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ca4d16e2bd124a7581b1611ca78ead17 : SUCCESS in 1h 48m 07s","accounts_in_message":[],"_revision_number":2},{"id":"19fcd3e6fc7c02bd806add00a15545911a5c227b","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2025-12-18 16:49:23.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"0f76bd0e8af82cf83299b99b9055db802359a750","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-01-05 16:47:55.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"9c311f9ecb64d9b5356c9a938cb25f590bcbe112","author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"date":"2026-01-05 23:57:14.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"fc3e0eb4781d97fa0bd7482b50f1e6274bb27c23","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-05 23:57:46.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"0c441acba5cc9879c2541bd030d0f9d02ead74fd","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 01:51:46.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/eee21c79b8904b82b4c1c74c684676ca\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/22c71c2db52f413bafb9fc7ac3985b5c : SUCCESS in 2m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7ca7080bd218460da62f808043f0034d : SUCCESS in 2m 41s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0d574ce837064bd0a2a97085b5a22d63 : SUCCESS in 3m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/58752e9635f74e858c92abaf8693b415 : SUCCESS in 5m 31s\n- openstack-tox-validate https://zuul.opendev.org/t/openstack/build/89f47c6cd1d04116b47e8623fa3fbd62 : SUCCESS in 2m 51s\n- requirements-tox-babel https://zuul.opendev.org/t/openstack/build/ff0f350bd5ce4fe6bffd323c570b5d94 : SUCCESS in 2m 49s\n- requirements-tox-py310-check-uc https://zuul.opendev.org/t/openstack/build/95606763d9a54354959cef0fa8e3f417 : SUCCESS in 4m 16s\n- requirements-tox-py311-check-uc https://zuul.opendev.org/t/openstack/build/279f264c3e1d4d92924b29a47e33c383 : SUCCESS in 6m 03s\n- requirements-tox-py312-check-uc https://zuul.opendev.org/t/openstack/build/b4c61ea7446c4e02ba4b904dd906c0d4 : SUCCESS in 8m 47s\n- cross-cinder-py312 https://zuul.opendev.org/t/openstack/build/379434f889f64e11bc69b83aefaaee23 : SUCCESS in 11m 13s\n- cross-designate-py312 https://zuul.opendev.org/t/openstack/build/6f7b48aa44cf4198a83ef3d82d76a8c2 : SUCCESS in 2m 57s\n- cross-glance-py312 https://zuul.opendev.org/t/openstack/build/fd72e45d78dc4b0882b3c0dfaafb0c80 : SUCCESS in 5m 05s\n- cross-heat-py312 https://zuul.opendev.org/t/openstack/build/9000a7fc57c14630bbc9408a42d58a35 : SUCCESS in 8m 08s\n- cross-horizon-py312 https://zuul.opendev.org/t/openstack/build/a996705f15e847738be0161a4beec78d : SUCCESS in 14m 08s\n- cross-horizon-npm https://zuul.opendev.org/t/openstack/build/459329efd5684277a49c5f09be6ca804 : SUCCESS in 6m 31s\n- cross-ironic-py312 https://zuul.opendev.org/t/openstack/build/88d6f365ef554c36baaeed005a42e93b : SUCCESS in 8m 35s\n- cross-keystone-py312 https://zuul.opendev.org/t/openstack/build/964a734f68a745fc974c17534872290d : SUCCESS in 12m 38s\n- cross-kuryr-py312 https://zuul.opendev.org/t/openstack/build/43b54b842c6e4296875af7776bf62a06 : SUCCESS in 1m 57s\n- cross-manila-py312 https://zuul.opendev.org/t/openstack/build/61f6e339c90d4f968dd1c6893608a178 : SUCCESS in 6m 33s\n- cross-neutron-py312 https://zuul.opendev.org/t/openstack/build/054723c6bb82497b86911230ed035990 : SUCCESS in 21m 55s\n- cross-nova-pep8 https://zuul.opendev.org/t/openstack/build/cd31f01a8eaa46caa4f021dd22bbc78b : SUCCESS in 7m 24s\n- cross-nova-py312 https://zuul.opendev.org/t/openstack/build/06422d40db2e411e91d02ea5c8296e80 : SUCCESS in 13m 08s\n- cross-placement-py312 https://zuul.opendev.org/t/openstack/build/a844918c04f84cab960447406fee247d : SUCCESS in 4m 51s\n- cross-osvif-py3 https://zuul.opendev.org/t/openstack/build/6904bda1e25549929edc09448894da49 : SUCCESS in 1m 53s\n- cross-nova-functional https://zuul.opendev.org/t/openstack/build/73a6b1e26db94c84a5a872f105519f11 : SUCCESS in 26m 45s\n- cross-placement-functional-py312 https://zuul.opendev.org/t/openstack/build/16a9658cff3c4bb487c017b9acc0be00 : SUCCESS in 5m 40s\n- cross-octavia-py312 https://zuul.opendev.org/t/openstack/build/b7e65d6410864ddebd1b794319997bc7 : SUCCESS in 4m 31s\n- cross-osc-tox-docs https://zuul.opendev.org/t/openstack/build/ab52aa994f7f4a0a841a5ce81c4a8e80 : SUCCESS in 5m 55s\n- cross-swift-py312 https://zuul.opendev.org/t/openstack/build/0e6b899c06eb4ed1b1a1fe58615b4077 : SUCCESS in 6m 45s\n- cross-watcher-py3 https://zuul.opendev.org/t/openstack/build/32f6857261934ea58718b8bc1bbb2d21 : SUCCESS in 3m 23s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/96f8657aa9d34b4a82714906df5bcf77 : SUCCESS in 1h 00m 28s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/c12b84c771c044fda257e147a05a299c : SUCCESS in 1h 26m 00s","accounts_in_message":[],"_revision_number":2},{"id":"64b6dfcaa4b2245386942947d3123b293be053be","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 01:51:46.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"61bdd1b232124c76a9cc39fc33eb2e58b533b580","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 01:52:29.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ea8bd37fdb0a4b34adbad6c9cba3960e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/242ee56955024ad1b8faf712ea0aea59 : SUCCESS in 33s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"e0f2f0d6bb10f6b86ad7bd59e1b5a86b7e865129","revisions":{"c5b425990811e4e442037bfb6c0dac105a5ca068":{"kind":"REWORK","_number":1,"created":"2025-12-10 17:07:00.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/41/970441/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/requirements","ref":"refs/changes/41/970441/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/requirements refs/changes/41/970441/1"}}},"commit":{"parents":[{"commit":"e0433b5aeec97367454bb4a110a85800c1e65958","subject":"Merge \"Remove python-gnupg from requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/e0433b5aeec97367454bb4a110a85800c1e65958"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-12-10 17:04:43.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-12-10 17:06:51.000000000","tz":0},"subject":"Don\u0027t include type stub packages in upper-constraints","message":"Don\u0027t include type stub packages in upper-constraints\n\nWe don\u0027t need to version these as they don\u0027t affect runtime. Heck, in\nmost cases they shouldn\u0027t be included in the requirements.txt files,\nthough we still need to denylist them here if we want to include them in\ne.g. a typing extra.\n\nChange-Id: I01dc6aa8e6389fc927d03c4997052d237639b9fe\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/c5b425990811e4e442037bfb6c0dac105a5ca068"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/c5b425990811e4e442037bfb6c0dac105a5ca068"}]},"branch":"refs/heads/master"},"e0f2f0d6bb10f6b86ad7bd59e1b5a86b7e865129":{"kind":"REWORK","_number":2,"created":"2025-12-11 12:05:54.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/41/970441/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/requirements","ref":"refs/changes/41/970441/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/requirements refs/changes/41/970441/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/requirements refs/changes/41/970441/2"}}},"commit":{"parents":[{"commit":"e3fe37b5712d553b7f17de688ab73b29c3802a19","subject":"Merge \"update constraint for automaton to new release 3.3.0\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/e3fe37b5712d553b7f17de688ab73b29c3802a19"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-12-10 17:04:43.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-12-11 12:05:29.000000000","tz":0},"subject":"Don\u0027t include type stub packages in upper-constraints","message":"Don\u0027t include type stub packages in upper-constraints\n\nWe don\u0027t need to version these as they don\u0027t affect runtime. Heck, in\nmost cases they shouldn\u0027t be included in the requirements.txt files,\nthough we still need to denylist them here if we want to include them in\ne.g. a typing extra.\n\nWe also remove \u0027typing\u0027 from global-requirements since this is a stdlib\npackage, not a third-party one [1]. typing-extensions is kept since this\nis third-party as is used at runtime (though we correct the name used in\nupper-constraints).\n\n[1] https://docs.python.org/3/library/typing.html\n\nChange-Id: I01dc6aa8e6389fc927d03c4997052d237639b9fe\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/e0f2f0d6bb10f6b86ad7bd59e1b5a86b7e865129"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/requirements/commit/e0f2f0d6bb10f6b86ad7bd59e1b5a86b7e865129"}]},"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":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"}}]}],"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":{}}}]}
