)]}'
{"id":"openstack%2Foslo.messaging~997470","triplet_id":"openstack%2Foslo.messaging~master~Ifd32a0d267152494ca4a1b5baadcc48cbf230037","project":"openstack/oslo.messaging","branch":"master","topic":"bp/oslo-http-driver-v2","attention_set":{"10273":{"account":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"last_update":"2026-09-26 06:20:34.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{"33451":{"account":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"last_update":"2026-09-09 13:46:16.000000000","reason":"\u003cGERRIT_ACCOUNT_33451\u003e replied on the change","reason_account":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"}}},"hashtags":["http-rpc"],"change_id":"Ifd32a0d267152494ca4a1b5baadcc48cbf230037","subject":"HTTP-RPC driver: core transport, server, and dedup","status":"NEW","created":"2026-07-16 04:10:32.000000000","updated":"2026-10-02 08:36:01.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":10,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d9b5ade945197883456c29af33ab1ba77fe18735","_number":997470,"virtual_id_number":997470,"owner":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-09-26 06:20:34.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":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"all":[{"value":1,"date":"2026-10-02 08:36:01.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},{"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":{"all":[{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-16 04:11:23.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-09-08 16:28:43.000000000","updated_by":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"reviewer":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"state":"REVIEWER"}],"messages":[{"id":"7df4bebf6133f47b5d322c40f9bb73b8671d9a12","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 04:10:32.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f2ef94ed43a36f41381fb8aef355f9e238058ec0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 04:11:23.000000000","message":"Patch Set 1: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.\nWarning:\n  Error merging gerrit/openstack/oslo.messaging for 997470,1","accounts_in_message":[],"_revision_number":1},{"id":"a0bf3c0066a4427804b2c91ff55482610c9ce1de","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 04:16:22.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"efd5ccb448ed7ffa3ecf3052a2259747e3d6fb09","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 04:29:03.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"c783c2e73d278def59874bff1704da51114a61fe","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 05:05:24.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"095b3fba506ef480ed2cb1305135b1de3c12cbc5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 06:22:30.000000000","message":"Patch Set 4: 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/1a833478c1ec4b1c8da85739d1dc9ee4\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/7e32d5d43bba4b3a80213ac1607e2f9b : SUCCESS in 2m 24s\n- requirements-check https://zuul.opendev.org/t/openstack/build/1897f15f5c7541f99c3af00ac0593c76 : FAILURE in 3m 48s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/41773e16362a48c395d1b9699a64713c : SUCCESS in 59m 28s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/30b2ab8cc6be4fb9a7a4bc08bd4fcb04 : SUCCESS in 4m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/896f156e730f424a80ea8bf9f9027e46 : SUCCESS in 2m 50s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bb2bcc6dbd9546dd9edaf3c90e047a2a : SUCCESS in 4m 01s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/81164b1bac9e444a9ddd9dcd48830eed : SUCCESS in 4m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/854d5b58697141cf99de219a42fced57 : SUCCESS in 5m 16s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f0044381d781438c93b53239372d3708 : FAILURE in 4m 27s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5171229ee68641629eb20552d6380720 : SUCCESS in 3m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a063a4cba3524dab805c5f8497ef0702 : SUCCESS in 3m 54s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/9bd0dc312c5e4500ae20f3e2755a3e85 : SUCCESS in 4m 43s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/161f6b4973f240a2a4e95a8d4984cfd7 : FAILURE in 5m 37s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/4cf14bf1667e498eb2de46e0bb6cf450 : SUCCESS in 1h 11m 48s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/ed2cf173e3aa483b9eb23b5928f3bf1a : SUCCESS in 1h 12m 31s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/934a15b843c2467e95cc85c399975f60 : SUCCESS in 48m 47s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/70ca88339e3e4008a6312223c9ace9e5 : SUCCESS in 44m 40s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"54e12485da88d7cd6acb8e8243d32871a8f327c9","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 08:38:43.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"dfa330adbabcb6e95a33f8a3494ae4779e09649a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 10:39:00.000000000","message":"Patch Set 5: 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/81d1274f455f44e7928b94dd7fb56789\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/474d15eb21d54cff8620ef436fc2fe21 : SUCCESS in 3m 09s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2611121832d14dc59aa38ca2ff2f0cb8 : SUCCESS in 2m 05s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8947137581ed488184b7cfe0d79e829d : SUCCESS in 1h 49m 14s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8eba1f4077eb40a1a5d6d19ca34ece66 : FAILURE in 4m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/48e14b9435604d88b238e722485c368c : SUCCESS in 3m 20s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1bc1ad71bc8d4021828b25c50ef24030 : FAILURE in 3m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1a74ca12c9a1425288687e20b259c224 : FAILURE in 4m 21s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a0712f2918984230a8f0e3bb78fbff81 : FAILURE in 7m 08s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/e729b7c35eb644b58fdf91e29a014f93 : FAILURE in 7m 02s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff5d8d32e5754ac3852f8c5c74ea1d60 : SUCCESS in 4m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8ab4d4b1a0524b2db03d612b37bedb4e : SUCCESS in 2m 18s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/c51109db4c8541c8b0df8e662ea0e518 : SUCCESS in 5m 23s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/de472d51fc14482e81936f9da795004e : FAILURE in 9m 17s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/546d94844ef64a07b01be8ba4000e8e5 : SUCCESS in 1h 39m 38s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4bc38ec550f54f9caccdeb9619ec4f95 : SUCCESS in 1h 03m 11s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/1c727f618c5a40bf839e2c661a9ae353 : SUCCESS in 38m 11s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/cb71d05336f2401e980350ac3c89e556 : SUCCESS in 44m 41s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"362de75a9af763582470db3fbbc572ce28e0aa76","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 11:29:31.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"9391d6e53df6b7d5a8992bebcc1f7ec74dd35764","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 13:09:54.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/407d27735f694d7a8380c41fa7a8a873\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d1144ac453754237b5ce8d4b0c67ed90 : SUCCESS in 3m 40s\n- requirements-check https://zuul.opendev.org/t/openstack/build/cbdeb666f82649ac8a658790ba9e8ca7 : SUCCESS in 2m 56s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/677d040e93ca4b4fb8e0da2aff3cb325 : SUCCESS in 1h 11m 44s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a4f368b3e8684b98a67c76e43e71871b : SUCCESS in 5m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cf5120cc817747a9acd0be04753d527b : SUCCESS in 3m 57s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/04328418b87f40c29a196f9353a22419 : SUCCESS in 4m 10s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/44de72e5942d403faba9cfc1393adc65 : SUCCESS in 5m 28s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/60e027838fd54bb2ad67aa178f6c9591 : SUCCESS in 4m 41s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b28382ba52db454094ab9582e3f5abd4 : FAILURE in 6m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b294ba5853a6404892207f5c4af9b0aa : SUCCESS in 6m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d768d702c9994039959eae5aaa375468 : SUCCESS in 5m 27s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/d5fdcbdb96d94602a1422dd0f4d97e46 : SUCCESS in 7m 29s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/eba831e9f26345e9bfef1dbf4bb13107 : FAILURE in 4m 15s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/5c780dc84ca04dc58525ea7ee2a90c93 : SUCCESS in 1h 31m 32s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/dbaeab1e6b6e40a5938c830c5afd3e67 : SUCCESS in 1h 01m 21s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/47c71ab4c34645dd921e5122444502e8 : SUCCESS in 1h 07m 08s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/cc3bdb9e7dd4489d9062ed841eda18f4 : SUCCESS in 1h 00m 06s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"00022d9f0d1718821c7387882e97a5bb08cd251e","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 16:05:21.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"6b9130d90bd44cd5f72e701af1e63265e0cd9b75","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 17:56:04.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d5e86543f13f41249651b15d9915b4c3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/4209a00f11e34e78b8f98fe38c3b06d5 : SUCCESS in 3m 18s\n- requirements-check https://zuul.opendev.org/t/openstack/build/58986057cd3644cbab71fa1b1538ecb2 : SUCCESS in 2m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/acb96c57adec4e8c90caeabc57c91c95 : SUCCESS in 1h 35m 32s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3cc1e3610a41427593fa6728cdf19411 : SUCCESS in 5m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c6cc084f9d364ba5a27076bda4241de0 : SUCCESS in 5m 41s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/437d6c09acc7400d8dca41e601ef4512 : SUCCESS in 4m 57s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a9cb13c0f00e4a11a3b921b816a101b2 : SUCCESS in 4m 25s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/057ffcfad57c41ed9f7196beb78b0547 : SUCCESS in 6m 18s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/00a39f659f614432b1ea2b8f99a0113b : FAILURE in 5m 26s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5eb686b96baf4918862cdb238c0d128c : SUCCESS in 5m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9de53d66cf884c88874f250c9a4c0bcd : SUCCESS in 5m 44s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/473f906711a9480f804ff7a4d1c5b26e : SUCCESS in 4m 34s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/1a8f95b2f7ba46058b1a69655475db93 : FAILURE in 5m 34s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/51a68c1596fa4a5e921b23ab4942b300 : SUCCESS in 1h 32m 17s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/c7f0c4fce1d94dc09a03899e81e07ed1 : SUCCESS in 1h 19m 43s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/8ee2ae9dbc7c4155ab51b3ad66078c80 : SUCCESS in 1h 10m 54s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/400dba4ebc6f43219562b922f8b2bb61 : SUCCESS in 1h 12m 25s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"84159a1c2145266aade9e40c9a106408808948c7","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 18:52:52.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"b2ec17af5a8fd3c4ba838165089e96afa8714e44","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 20:46:28.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/12806ab4978e42e0a7db1f6a409ce327\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d234a4a290e64aaa932c869de7b4c08e : SUCCESS in 3m 01s\n- requirements-check https://zuul.opendev.org/t/openstack/build/49d6a7a1cb794ffe9ff810a6e5902f57 : SUCCESS in 2m 38s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/eddb33ecad154f5ba4aa434d8f8964bb : SUCCESS in 1h 40m 27s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e39058ab4208498b94e99fc637a2ce86 : SUCCESS in 4m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/108ba92147a043618632715c39926726 : SUCCESS in 3m 18s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/93b0cc45059a48639deb4e21838066c3 : SUCCESS in 4m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7a1b5d8feb2c428aa42fdd34ba9d3b32 : SUCCESS in 4m 15s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/99e694ab8c804937999ab2d36a831e11 : SUCCESS in 7m 32s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f75b7cb6bec944c9911acab221845400 : FAILURE in 6m 03s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b594ae2c68a84354a81c6a8f5a2926d0 : SUCCESS in 5m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/eb563d526f074ebd875e290f294c223d : SUCCESS in 4m 25s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/2a663c7553274df492cde0b7adcef395 : SUCCESS in 5m 33s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/4ad43bd44bd24ad09443e2df372d6f6c : FAILURE in 4m 55s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/377186a8860d429290a2fe4ca29cf736 : SUCCESS in 1h 43m 44s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/149a0fac1fe64d92841f4ea5bbcdac61 : SUCCESS in 1h 44m 22s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2ce3d1456dda43df8b1d9b62403e01df : SUCCESS in 1h 06m 24s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/2978be52554e4c13b92665734694af6a : SUCCESS in 1h 16m 37s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"bbc9d1d399382cc559c6c8c978a7be2a9cafdc4c","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 21:50:45.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":9},{"id":"c0c9e201045d160462d3425b5353f84ea6b58e29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 22:38:13.000000000","message":"Patch Set 9: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/tooz/+/996961 is needed.","accounts_in_message":[],"_revision_number":9},{"id":"0cb1c677f8a11ad2bf8116137c41a7d6e54c94a3","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-23 08:28:22.000000000","message":"Patch Set 9:\n\nrecheck","accounts_in_message":[],"_revision_number":9},{"id":"5f20e96d786c495c4553410eb1667224e33e234d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 10:38:49.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1fbcfe66f23e45aeaa302498389e71b3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/49a01478fdec4b248f516bd7b23c3036 : SUCCESS in 3m 31s\n- requirements-check https://zuul.opendev.org/t/openstack/build/eb46e6de1169439188a0e813aaff2f46 : SUCCESS in 2m 16s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/19cdd865e20e4513a2f08c9b87f40ee6 : SUCCESS in 1h 45m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ce75df33141b45b3839a56f61a57fd1c : SUCCESS in 4m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b668a899ad744cb6aa2ac5883f463714 : SUCCESS in 3m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c7380f9b33b04e19af5dc27963d3a60c : SUCCESS in 4m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d4f407eb44f24d6b8ba815ed4c672e3f : SUCCESS in 4m 27s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ecf10590a8ad43899f204f15e4698441 : SUCCESS in 5m 21s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b29444ca306a42a8a6e92b7eeda265b3 : FAILURE in 5m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ae52373117447e5940d3e36ad2783e3 : SUCCESS in 3m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d3b237ca68314847983569e2314a7cfb : SUCCESS in 4m 33s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/55305da28fe141c7ba6043fda1a3e9f6 : SUCCESS in 5m 23s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/2ad8113714f74549a68a3c4a3c039516 : FAILURE in 8m 12s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/06663fa505bf49749f5fc0da01ed68d7 : SUCCESS in 1h 48m 15s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/e5963364492d48329a8f498cb6ba1003 : SUCCESS in 1h 56m 34s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/b5597316eac54afca35c065394ded7ac : SUCCESS in 1h 04m 51s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/44793416a8d4413885ac6f8e4ab9c7a9 : SUCCESS in 1h 30m 38s (non-voting)","accounts_in_message":[],"_revision_number":9},{"id":"d7691d95184737fb9d5b902b4ac0fa7dbadedb8f","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-23 11:27:01.000000000","message":"Hashtag added: http-rpc","accounts_in_message":[],"_revision_number":9},{"id":"c22b713b632fa15c5bc468fa8d4da2be59f73911","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-15 01:50:09.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":10},{"id":"3aced5086bfb34f3e0d996f4e8cf9200706910c1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 03:14:46.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f603ca59d037413e9fd61306caf58429\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/1c5c803c62f7404b83f43fd78b1db992 : SUCCESS in 2m 44s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f34fc0e4460f4fbaa361b58b1e6fc446 : SUCCESS in 1m 42s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2392b12d84ce4b1c8bc5c2b4715e551f : SUCCESS in 50m 19s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e22241dd844c4da0985ab1c90fee9b4d : SUCCESS in 3m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/863ed5fd83da41a4918f1c73eddd3b85 : SUCCESS in 2m 02s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4fe87a71f26a4c90858714e8d51df46e : SUCCESS in 3m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5c85fd2473454385845dbfd71b73dec6 : SUCCESS in 3m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4ed0b7e73bc247b59d0708a322364113 : SUCCESS in 4m 47s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/8329a152cc4e4eb4aaf0b115d2e67e8d : FAILURE in 4m 08s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c8c98c096c0b4256962a899312c2ef38 : SUCCESS in 3m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/279214f4fd84469698df12b8a150ba68 : SUCCESS in 2m 44s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/b2700125113d4abcacacb15b624ca29b : SUCCESS in 3m 42s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/189daf4e68ef4329a7eb66b956ada516 : FAILURE in 4m 17s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/c5b2008de8b1488da69dc20933864238 : SUCCESS in 1h 22m 44s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f8c9d09fef6b47a5a6e382a54f067f02 : SUCCESS in 1h 20m 40s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/f018fe6bf31a46ab84b4db50fd998945 : SUCCESS in 29m 32s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/e461fa7237fd4054aba2b13040d9aba4 : SUCCESS in 43m 34s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"057d16ae030ca135ab0e671abb4144685c77b2ab","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-15 08:07:00.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":11},{"id":"017370699d0531b2cd1a0c9bc6e5fe645ff15820","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 09:48:12.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4f86020941294a39ac01c8c435f9eeee\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a47e3ec2220340a4b190a9652c1227db : SUCCESS in 3m 43s\n- requirements-check https://zuul.opendev.org/t/openstack/build/18cd3a5ad41b40369c10a156a4214be7 : SUCCESS in 3m 15s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/c6507d3014e04c25b93cb078b23b1497 : SUCCESS in 1h 32m 00s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2781e909b42c4faabdda6ac5f5af8bf1 : SUCCESS in 4m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7600c2c25ed44af88e80d8504e74f538 : SUCCESS in 2m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7a06c2d5e31249b6865bd25ccac10719 : SUCCESS in 3m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7fedb4ef98cb45a7aa28775454baccd0 : SUCCESS in 3m 14s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e01224f1ab6a4da487b5b2ad4e44c372 : SUCCESS in 6m 32s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ae11460dad9047f99530c46592134ec3 : FAILURE in 5m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bdfe3931937a4633801a48b8b44459f8 : SUCCESS in 3m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/abfafbf9fe1549ae9629ff0262544ff9 : SUCCESS in 3m 49s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/f8e83675d87246588857b60b378bb3b4 : SUCCESS in 4m 52s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/c21801fd42464578b4b5c73906328125 : FAILURE in 7m 45s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/0520f0f2800640198bea0fc066f0b79b : SUCCESS in 1h 10m 21s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/49830d40229b402db04a9cf2079bd0c1 : SUCCESS in 1h 18m 10s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/cf8ace507a604fed9610206a4ca0cfa1 : SUCCESS in 31m 10s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/da6770ae807846f085e9c63b837e2d87 : SUCCESS in 1h 14m 10s (non-voting)","accounts_in_message":[],"_revision_number":11},{"id":"e44da3f33b7b73c43a5e91cc4f2966a37e188275","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-16 12:43:17.000000000","message":"Uploaded patch set 12.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":12},{"id":"94e2d4fe10cd06e9b8bb7702189f2f476a8f2289","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 13:59:26.000000000","message":"Patch Set 12: Verified-1\n\n(1 comment)\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/02cdd587261649e79f6fe4fb123c2e5f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/6a7a75896564440799d92875ff2e1f84 : SUCCESS in 4m 16s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8ea61a62a8d140c29f0121b72555e821 : SUCCESS in 2m 12s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3d4ae08581ae45e7ab7b9f8929a655bd : SUCCESS in 1h 06m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/941513680c3a4360b5bfcb08cd4fcb92 : SUCCESS in 4m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9aaffdb545d5478bbc3b663db17796a2 : FAILURE in 2m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/29278767d50c44348ab014cc62409af7 : SUCCESS in 3m 29s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fba4bb94cec84217a8ea2473c8a6c291 : SUCCESS in 6m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d2aca97627aa4e41884a3b6ed34e1853 : SUCCESS in 6m 33s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5770f2931949494fa7522362905acc50 : FAILURE in 5m 13s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c7b2245938914e73bc920af776e51f3c : SUCCESS in 2m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d693c24d239497084c542fa2f4ddee4 : SUCCESS in 3m 44s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/3ece672b3fcb47d0bc63b4a4c4745004 : SUCCESS in 3m 23s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a27f0969bd8e49228145cb15234d40c8 : FAILURE in 4m 41s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/956242a04b9b40b0867db8e6ff345361 : SUCCESS in 1h 12m 24s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/702b2864c33f46a790ca093058f819dd : SUCCESS in 1h 01m 04s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2dc8bae66b3049d9b5b10c435686fdfd : SUCCESS in 1h 00m 49s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/a838613cf75e4ec4ae736b34d221f470 : SUCCESS in 1h 09m 42s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"8e14ad4bc2093650e0dbe3039131d0bb0abf0f34","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-16 23:06:30.000000000","message":"Uploaded patch set 13.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":13},{"id":"21c555098259b4d36e88a918e3fa6fab2e96565b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 00:56:47.000000000","message":"Patch Set 13: Verified-1\n\n(2 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/2c022a00c4194577a114d57793bc4ff2\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/90367f0e229d47a9bfaec5b4324d106a : SUCCESS in 2m 31s\n- requirements-check https://zuul.opendev.org/t/openstack/build/b69f12bd0d5c4b8d8fa5ba818c04f930 : SUCCESS in 2m 14s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3f535df9e2444f72bf26b011f18c1db7 : SUCCESS in 1h 43m 53s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ead4297fed9844a8a0169e2981ae0ca3 : SUCCESS in 5m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a22ca800f7264cda935089898ae153c2 : FAILURE in 3m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1067be5c082a465e9618ad6a7187df53 : SUCCESS in 3m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bdd22b0a68be48d6a4e93226f02237cc : SUCCESS in 5m 54s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4317715ae43146848b75c6e945955281 : SUCCESS in 4m 26s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/8ab202d180834e4fb77148c55f216885 : FAILURE in 3m 19s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cb57de4d27614dbf83fcd234431e70a3 : SUCCESS in 3m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a7e278a94c914e9f8f361011734bac32 : SUCCESS in 2m 39s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/0a54f30476eb4d9b90f2579507cee440 : SUCCESS in 3m 45s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/36be64a46ad54954bc2073a52138c65b : FAILURE in 4m 34s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/6ad75c84de924bbcb676680910b38851 : SUCCESS in 1h 38m 06s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/a64e035682724bbfb6ee246d4b005b56 : SUCCESS in 1h 13m 51s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2281996365244022a87f6a4e039d6f94 : SUCCESS in 35m 11s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/90d6f320620e4e07b93b875ea58f4db7 : SUCCESS in 36m 30s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"cf58dd793ba2d5396377a2e23627647658289d5d","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 03:42:59.000000000","message":"Uploaded patch set 14.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":14},{"id":"c1e3b2930d92e3bf1915df2fdba4cf95ea471b4d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 05:16:20.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88cbd7f0439a4d898acb3fdf1fd71bcd\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8076e49498924655936897ffdc50e01f : SUCCESS in 2m 53s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2002222fae16418199a39fcfdc86ae9e : SUCCESS in 2m 21s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/aa666535e2d747c3ac006cba4c3bda4c : SUCCESS in 1h 00m 37s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/24dfc3bd864f4089a7808a3c86ce4c90 : SUCCESS in 4m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/db5d06b7d9da45cab31f0b20f4107391 : SUCCESS in 3m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/81fa06bdb3ba47ae99863b83559b54ed : SUCCESS in 5m 20s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/38476366f68944d1b19fd717adf15ebb : SUCCESS in 3m 51s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e8e97cb89d304148b0d90ea8d0fc1ccf : SUCCESS in 4m 56s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/35dc1db6a3604154a5118cb0984fc1b7 : FAILURE in 5m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff77bb667dd04141a9daf280cc585f7c : SUCCESS in 3m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/75dfb75c8b3d4a4197dd2287a099fe6d : SUCCESS in 3m 54s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/d47c9bf06d1f44878ace4c60efd342a6 : SUCCESS in 5m 14s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/e3614d82eae8488c87efb7b2d2c66ffe : FAILURE in 4m 30s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/1b2708db3372473685e3c99f2973cd2a : SUCCESS in 1h 31m 11s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/eff474980fe34cf3b04920877c8c5355 : SUCCESS in 1h 09m 18s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/67151914f5864f58a5cdd6b5208d6d9c : SUCCESS in 1h 04m 58s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/0f1be031ae484dda9e487f571c1c9daf : SUCCESS in 43m 50s (non-voting)","accounts_in_message":[],"_revision_number":14},{"id":"5c21f39b9d5c14342956bcaba8c36b6524d287a2","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 06:27:53.000000000","message":"Uploaded patch set 15.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":15},{"id":"fa17832aeba48af8c5281364184c9bc9054f3f5d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 08:14:45.000000000","message":"Patch Set 15: Verified-1\n\n(1 comment)\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/23b8366f67b9490795f6539c58800f61\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/04cba827678347219b97c5de09d43c02 : SUCCESS in 2m 37s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f30636e58f5945ffa65160db75e8eb79 : SUCCESS in 2m 16s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b126f1a1fb4643389f6675e29d28ce33 : SUCCESS in 1h 39m 24s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/50871be2ac754f5682a3b3ef6eece9ec : FAILURE in 4m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c66d2aa0b3da409bad802fb403e2066a : FAILURE in 3m 30s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/37dda0b041a14b3495014c600d05a99f : FAILURE in 3m 44s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fa541765515b4b12a573d0c23983fbbb : FAILURE in 4m 10s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7fe28e61c324467993769be8afbe5a21 : FAILURE in 7m 04s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/241f1a694d174043a4354fe632f78000 : FAILURE in 5m 15s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8489f9d6711d45dca0e6818b9a1aa9f9 : SUCCESS in 3m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b0157057b52440f3b7f3a7871a1af5f3 : SUCCESS in 2m 35s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/b92a1c6f5c18450e965133101085d9d0 : SUCCESS in 4m 41s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/e6f98219e3f548b2a6763e2f2f50d43e : FAILURE in 4m 01s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/3eaa7192828b459fb8dfd5558517bfc3 : SUCCESS in 1h 39m 01s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/c6591f523f7643538f2592a9063e12df : SUCCESS in 1h 36m 06s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/70b9e8b5269c410bacdce0a796ab9307 : SUCCESS in 1h 03m 59s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/ca18a911ea8d4f12bbdf9bf6b3a4f2c8 : SUCCESS in 1h 26m 43s (non-voting)","accounts_in_message":[],"_revision_number":15},{"id":"593f8ce6a3e06f95a36c6e79fcd7a6ccfb527a7f","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 11:28:41.000000000","message":"Uploaded patch set 16.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":16},{"id":"54b7fde428ac6961bf921ebb0e2141d0b27a9016","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 13:12:22.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/847fcf6ba2d5453bb11093032dff606d\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/128d21ec876b488e94773b9e1bb33eb9 : SUCCESS in 2m 35s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2f65da4b1a474a64847ce8a0d5b78218 : SUCCESS in 1m 36s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d33cb4030df04b7e886994b6f2df5934 : SUCCESS in 44m 58s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2e3f68aa223343c280002282a3f795f0 : SUCCESS in 4m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/40b6699c7ac146e9abbc7a7acc2d6d96 : SUCCESS in 3m 34s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f6457b906efd4576a7ec20d0f396767c : SUCCESS in 2m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b5fcb16fb08f471db036a9f8f91ae935 : SUCCESS in 2m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/cae16ae68d4648dca55150902e9ebe6f : SUCCESS in 6m 17s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5c27bf8eee5a4fe88c7f9f639a0c3384 : FAILURE in 3m 39s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6abd958a83f64199a5e4bb0be7cdb8df : SUCCESS in 3m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2e8b3a1c347547ed853b2a193330e2e6 : SUCCESS in 4m 10s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/d57484def69c4719b87cd2086a1d91c1 : SUCCESS in 5m 43s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/83370ea9aad642e6bdd68b133847b469 : FAILURE in 5m 51s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/d0c8a26d706c44088f20a9b79e1fa870 : SUCCESS in 1h 39m 39s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/423395d36c1345ce9ee57d73514e7807 : SUCCESS in 1h 23m 26s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2ff4222929c54b9692dcc93abe135f16 : SUCCESS in 1h 05m 37s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/274e132bb3c8417385c509da6534a2e0 : SUCCESS in 49m 58s (non-voting)","accounts_in_message":[],"_revision_number":16},{"id":"4b2d258e7842ffc93ce8baad7a7dc4fb9265f43e","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 16:46:26.000000000","message":"Uploaded patch set 17.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":17},{"id":"0acd4d3e409ee0ecb5ca40dedebc677ff5083137","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 18:24:56.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ac487e6c749044698d6ea96281a79e1d\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/698defc9974e4dadaca05b016b889096 : SUCCESS in 3m 10s\n- requirements-check https://zuul.opendev.org/t/openstack/build/43f91b23d4304a70b61819557a82cc14 : SUCCESS in 1m 58s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/22e7e456cf5f42b7aaa0ff0fa8a4dcad : SUCCESS in 1h 32m 32s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0b90d85483ae45219a43ea6b77839b99 : SUCCESS in 3m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/15f94ac77d4c468182f0db22769aa303 : SUCCESS in 3m 09s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1cc2d2b62b3b4960bf1a3691af64b8ea : SUCCESS in 2m 48s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/207425b2ade442eaa56e12a86383eb01 : SUCCESS in 4m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e29217d3287248fba38f32aab587dae5 : SUCCESS in 6m 16s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/92eabbd5139c454d8c28a5da80ab0a4a : FAILURE in 6m 01s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0f0a9c55949640a4b66794f278da101b : SUCCESS in 3m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b16f9c41c3ad4286b511b9926bdf586b : SUCCESS in 3m 55s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/e589091bc64d485eb75487fdb994e5ef : SUCCESS in 6m 29s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/ef5932cd5d4b416fa315575fe0ad945f : FAILURE in 4m 25s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/e83fd0c7f5464fdf81cad13ab27a0481 : SUCCESS in 1h 26m 29s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/c91b0b4bae094da3a4bb2f388625c811 : SUCCESS in 1h 29m 58s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/a7cc2627ee9e4a2a84081e089ad32420 : SUCCESS in 1h 07m 06s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/d7085e6991a34befa3703e7ecf7fb40f : SUCCESS in 1h 18m 37s (non-voting)","accounts_in_message":[],"_revision_number":17},{"id":"3afd4b75596e7c8b4cf17082871142994c0b59b5","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-19 10:11:01.000000000","message":"Uploaded patch set 18.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":18},{"id":"d436598e4b3eace27871ea48ebf7b48019122e62","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 12:09:03.000000000","message":"Patch Set 18: 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/bcd6698f183f4ae5ad63f9b2acae479e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/24c795939d4e420fa52ef062956972e5 : SUCCESS in 2m 56s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f1185da303d4436e83419104df9936aa : SUCCESS in 2m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0e8dd371a98b40c5b2cbf8944f90d968 : SUCCESS in 1h 29m 18s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1c721b8f199e499ca67002a5258dc417 : SUCCESS in 5m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cba6a5e033d44af2bc282da1a72a128e : SUCCESS in 3m 35s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6a207d678c1b40b8a5bb67db61f39f72 : SUCCESS in 4m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b3dc3f8702de41b7a14e2b3db74e0ad3 : FAILURE in 4m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/fcb6ec3ce5a546e6bcaccedb5d65ccc0 : FAILURE in 6m 42s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/834b06ed0a184e31b55ab98ba9cbeb0a : FAILURE in 6m 26s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/461845ae4e8949cf900480d2e8c70188 : SUCCESS in 3m 52s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/06009b05245348d798ba4365e5e25a63 : SUCCESS in 5m 40s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/af1c06f958c6468790772aa38a9160be : SUCCESS in 9m 02s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/d03699b255a24ab4b2b4d63c936a8a8e : FAILURE in 7m 18s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/3892189847684681a17d78902fa11093 : SUCCESS in 1h 35m 04s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/6ee70b786ffc4a5cab2e84a7ab95ecfa : SUCCESS in 1h 49m 34s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/d757341895934920ba790a0838b46dfd : SUCCESS in 1h 03m 37s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/41950f822636408b8b9fee95f040786e : SUCCESS in 1h 19m 41s (non-voting)","accounts_in_message":[],"_revision_number":18},{"id":"d37fcebfd019bb15f8ec4fc4996fb87da6f84a70","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-24 11:20:17.000000000","message":"Uploaded patch set 19.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":19},{"id":"37b01057fd48ff5722ca850641bd0e284c184455","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 13:12:18.000000000","message":"Patch Set 19: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9324610199954ea0801d109e727d58a3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/99b8c758109e4314b525b956b6a70493 : SUCCESS in 3m 19s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d8233e8fb07e4d42bef4f087de8da2ee : SUCCESS in 1m 34s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/af59508e87114c15801ba75b4dabe736 : SUCCESS in 55m 17s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/55b1f6eaa75f46f687928184d20b098f : SUCCESS in 4m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0113c99fdd144238a884967a13442bbd : SUCCESS in 3m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d9bf57307f68408785276aad7635bd88 : SUCCESS in 3m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8b8cc80662ad41208eac1ac0dfccbc8a : SUCCESS in 3m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3b67dbf842c7443ea9e834ec2101eb2e : SUCCESS in 7m 13s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/591ae64861634f95919bea7b7d7ebf41 : FAILURE in 6m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6f21452c947f4dd58b8bbaa0dd00ccb9 : SUCCESS in 5m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/40fa75efda8648d691763418869f2476 : SUCCESS in 4m 20s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/374ed4327db74c24907aacb2896f1b34 : SUCCESS in 5m 40s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/e66f643e69984d5f916fc22fc22be9bc : FAILURE in 8m 13s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/fb3384ede3f54fe487754a51c8a8f0e0 : SUCCESS in 1h 38m 51s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/75a94455b08b488c827062a92e7de2e5 : SUCCESS in 1h 46m 41s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/d2bf536fa09040ddad9e9b58b151e0ba : SUCCESS in 1h 09m 36s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/f6d573e7986440428bf3a7e7a4a3ab8a : SUCCESS in 47m 30s (non-voting)","accounts_in_message":[],"_revision_number":19},{"id":"70ad7ac16a4746d4c95642fb3c56b38581ced0b0","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-25 14:58:49.000000000","message":"Uploaded patch set 20.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":20},{"id":"1abc9dd4f70eefe2990f4bf616ac7241f4d60b94","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 16:44:46.000000000","message":"Patch Set 20: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/013bf710b56845fdb06a720804456e0c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/87393c65fae440c1a92a6482642a7c28 : SUCCESS in 4m 45s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9ce244294d194db58704291ca747669d : SUCCESS in 2m 29s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/bf306c2587a1476ca4dde1f99fcc4572 : SUCCESS in 1h 38m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8b3ab8b06914451d8ac60c675773a094 : SUCCESS in 5m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/57ff7bfd880d447d9293bc44df1e3b09 : SUCCESS in 4m 33s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a207312dcb2f402aa05d9d90b1c45101 : SUCCESS in 4m 20s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e9bb58a8b8b449a693ac99cf0982d881 : SUCCESS in 4m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/22bd8750ab4c4ed2989f762086c948f4 : SUCCESS in 5m 09s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/e2604e0bc6764ae5806258bc272bb3ac : FAILURE in 8m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6cc214d43c324380bcc48a3d0607cf03 : SUCCESS in 4m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4119d83178d64d9f9e00d39adfea5c81 : SUCCESS in 4m 25s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/8f42fc911cf846f980b3b14eaebec4b7 : SUCCESS in 5m 06s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/af4a6c1f2d2848a0bb76fb52853a742f : FAILURE in 7m 15s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/3859ae910d93488e8c44e609752d4651 : SUCCESS in 1h 32m 46s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/92d2e5f358c84d959cd0a40ca67fadfa : SUCCESS in 1h 13m 06s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/e7adf684da4a42e19fbebb6dfb6a1983 : SUCCESS in 55m 04s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/e343da23122147dcb83777f2a7a0f4a5 : SUCCESS in 43m 24s (non-voting)","accounts_in_message":[],"_revision_number":20},{"id":"b76c859684b9d938b92c2cf3d632639561ea6bfc","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-27 00:08:40.000000000","message":"Uploaded patch set 21.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":21},{"id":"69e37e9186199bbf766b8be08d1a44174ed74d8b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 01:58:48.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8ec375e235b847d6860842824db4447b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d8eacfafa4bf404683eae21d1f4a89aa : SUCCESS in 2m 58s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2560873b171f4765ad8feb9a02a46b98 : SUCCESS in 3m 12s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/60bc96b62e2846b989f96ca1c5759e58 : SUCCESS in 1h 33m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/46f60eda100b477098df7a8b0dadc456 : SUCCESS in 7m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/338389a4cbed46eaa5d00954c3b54a58 : SUCCESS in 4m 56s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/928488caedac4583835caa8369bbce15 : SUCCESS in 3m 04s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2708907cae51405bbb62c9ff8c0a8c10 : SUCCESS in 5m 40s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/055948ddc6b945e7b6cbc2dd9a70d738 : SUCCESS in 8m 03s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/88a677458f67409e9a805d8f759f50fd : FAILURE in 6m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3582299a62744a22b2426361ff582b4c : SUCCESS in 3m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c899f43256a940259bcda4383740fe9e : SUCCESS in 3m 30s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/8d539979920a41c8a5dd22543dcf8086 : SUCCESS in 5m 13s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/8ea27f16b9a2496aa69c8e57499ae343 : FAILURE in 5m 56s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/0a260e5d08084043bf98fb8f6af8f103 : SUCCESS in 1h 43m 17s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/866a9a544d0f4508aa1d31ad1fd031e8 : SUCCESS in 1h 05m 12s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/503332194d4748cfae7d3df9730868b7 : SUCCESS in 30m 02s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/3b9c5f6b09ff48fe977ab8143738190f : SUCCESS in 1h 18m 12s (non-voting)","accounts_in_message":[],"_revision_number":21},{"id":"7dafb684e9899f710433878be886c3671b55c094","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-06 09:04:58.000000000","message":"Uploaded patch set 22.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":22},{"id":"140f52b981da26a88d9a1e9b748c96e0bbb983a8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-06 10:49:41.000000000","message":"Patch Set 22: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2fc525cb4ec24e14b3f5311453105108\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/48838504e1af4a4bbab73a447780156e : SUCCESS in 2m 47s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2ee82c5039e34e4285fdfcea010de461 : SUCCESS in 2m 20s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/cd93a2abf6d74ee0b4a57d1865f48080 : SUCCESS in 1h 02m 13s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ea0a795d517144a99040a5f9eb3d3da9 : SUCCESS in 3m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2f114c208b9544b28a47534295c91db9 : SUCCESS in 3m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bfbb94d6c14f49baa8afdf5dc4106a52 : SUCCESS in 4m 01s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8f9afbbadbb040d9b3f1d3ee4e4ed585 : SUCCESS in 3m 43s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4d5a4ba704cc4b0f92c5e6913676e509 : SUCCESS in 6m 40s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/72719e84bbc24795beb1d672eac53183 : FAILURE in 6m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bbba98570124440190150473e9072e45 : SUCCESS in 4m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fa1424d6f5f849d6be12fd5aaffd3b88 : SUCCESS in 4m 44s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/94950f31b0ff46359ad8a76d580f2da3 : SUCCESS in 4m 26s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/66f4e1bb9d514554beb842c71d76b124 : FAILURE in 4m 31s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/adfc1617874b451faa33a9594ba9e69e : SUCCESS in 1h 37m 49s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4ca4a4fd79694bb3a7239349147d6f50 : SUCCESS in 1h 29m 02s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/b5189c6768fa4eeab4af9db6a3728d0e : SUCCESS in 46m 45s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/a464a0fccc1b4bedbe2162b890effb70 : SUCCESS in 1h 11m 09s (non-voting)","accounts_in_message":[],"_revision_number":22},{"id":"af6bd8dc1dabcebd40ddc98b2182101d838c2557","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-06 22:46:43.000000000","message":"Uploaded patch set 23.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":23},{"id":"113b84f56162ac25349553ee44c62972132d3447","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-07 00:23:26.000000000","message":"Patch Set 23: 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/ba82d307f47149af9c50c9cc5c24b1ef\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ebbc85cec91d4366854f61cb47f926f2 : SUCCESS in 2m 55s\n- requirements-check https://zuul.opendev.org/t/openstack/build/0ad789d76e8a4e458bc9f56ba640c4ad : SUCCESS in 3m 38s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/65db57a7e0ef4cefaf8bd2a6d78f5c71 : SUCCESS in 1h 06m 40s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7ebdfbc205254e69b5cf09ef00b9e9ba : SUCCESS in 4m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04c1b5e8e6f74a89b3819cf2212fa103 : SUCCESS in 3m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/60c19e590f75497b9f8c630351b36d1c : SUCCESS in 3m 45s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/11a39c4695444f9a9cfa35ad4aa48941 : SUCCESS in 4m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e5848156512f4bb18bd68c777f2855db : FAILURE in 6m 49s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c4eca0990e5144269907f243bc204698 : FAILURE in 6m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d2ad9b04d3834b839ab97977b5139de3 : SUCCESS in 2m 50s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6886031aeeda41faa12bdc73020fa41b : SUCCESS in 5m 13s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/2557a48aba574baa8d80a32a7d3cc29b : SUCCESS in 4m 43s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/f1d67125913e4b60bf956c4e13269839 : FAILURE in 2m 58s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/6f71a109030e44fea12b5b8441e1f982 : SUCCESS in 1h 32m 13s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/5f0517f90d13404eab541fcc91c577a1 : SUCCESS in 1h 10m 43s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/71e6d4cf01724f669a735df8f5fdd769 : SUCCESS in 36m 54s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/502064ec349d480b80d0d4fb880f758f : SUCCESS in 1h 15m 15s (non-voting)","accounts_in_message":[],"_revision_number":23},{"id":"2270e37d6cae06f2f7ed16bfb397e01bfbbaad3d","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-07 01:36:28.000000000","message":"Uploaded patch set 24.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":24},{"id":"a64bd69509d274615a9680dbeab3c6aa597da44d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-07 03:20:08.000000000","message":"Patch Set 24: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4c1efcb70d0a49c9aee617a740fcf269\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/c5b10c73412d4566898ba4229f8a9a41 : SUCCESS in 3m 40s\n- requirements-check https://zuul.opendev.org/t/openstack/build/b3e0f09d087f4612976c8578c24de84c : SUCCESS in 2m 09s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/1b91d515ef3d4032b3ea184d0e403880 : SUCCESS in 1h 37m 32s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/08c374dbf6144555807516db864beb6b : SUCCESS in 4m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b7e5e18790a043bb8e0d246b61722052 : SUCCESS in 2m 59s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e239f2adaf1149e1b4de5b865120a15e : SUCCESS in 3m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e5948e5ea80c41bcaac8f6b487b33dc3 : SUCCESS in 3m 52s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/25242ffe2ce64dd9b4a2fc78bc1c41e1 : SUCCESS in 8m 29s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/9f7373ad12a64ff8ba70c7fb4dec53f2 : FAILURE in 5m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/641e31a3af9a42f1ab83996d4097c6f3 : SUCCESS in 5m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/73b4a554150c452d95ebd7016648fedc : SUCCESS in 3m 52s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/f215883b80a94491a699afe6a00114b0 : SUCCESS in 4m 31s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a63306ef71b14ecf828df418a0b5a8a1 : FAILURE in 4m 20s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/c2b39a5105a44e13a51278f06504efdf : SUCCESS in 1h 07m 53s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/c8ed28fb15ab416ca04e0775e7c17880 : FAILURE in 1h 03m 36s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/79be909622894847a7f9e2596f104b66 : SUCCESS in 32m 16s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/730881c3d9d147f18c504d4113bd2f89 : SUCCESS in 44m 31s (non-voting)","accounts_in_message":[],"_revision_number":24},{"id":"1d7522a9148473d7545ec2db44ad55443e0e4155","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-08 16:28:43.000000000","message":"Patch Set 24: Code-Review-1\n\n(3 comments)\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":24},{"id":"17888717520d9030430b61a2e0f8f3ce205bf94a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-08 18:55:07.000000000","message":"Uploaded patch set 25.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":25},{"id":"b36f3affcb60f659a84938ef9ca12036ce94c13c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 20:51:03.000000000","message":"Patch Set 25: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ee984394804f43d7bb4befbc1b60d75f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d80c2d686c664893a626ec4cc1c73821 : SUCCESS in 3m 09s\n- requirements-check https://zuul.opendev.org/t/openstack/build/b9f56e803c344cf19368db28c29ad1ab : SUCCESS in 2m 20s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/943818feb36c4ce9a44107af8c228c1f : SUCCESS in 1h 32m 13s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2598143aab5a44b98a3b210f9c366687 : SUCCESS in 5m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5944aa0b23494a528df6e0072709c93b : SUCCESS in 2m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/cb06719eab8a43b39fee04d5c6bd22f4 : SUCCESS in 4m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/32a0fdac1fb649f8b47b58803b332983 : SUCCESS in 3m 27s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/cc93c3f8561b409595a906a21a4d7a29 : SUCCESS in 4m 45s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/af51d4127d294fe08d8fbd179a633c43 : FAILURE in 7m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e9f9772a04384491b24884072cb0ca62 : SUCCESS in 4m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/91189ae1a4764ed2a0f3770eaf1a9929 : SUCCESS in 4m 29s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/6f840058cbb34ae1aa8c4dd2e83ac25f : SUCCESS in 4m 43s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/02240ce4b0ca4371898062ed20a873af : FAILURE in 5m 45s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/20388d847bdb46ea933d75ab393f8fcf : SUCCESS in 1h 49m 35s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/ef53922e36014a3a9c78b4ba34d76047 : SUCCESS in 1h 01m 07s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/aec935403ba547cdb995c711f91f8115 : SUCCESS in 1h 09m 49s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/80ef8d905e8f45d09283068af39226b7 : SUCCESS in 48m 06s (non-voting)","accounts_in_message":[],"_revision_number":25},{"id":"c99ed4d5006ee4824a6a74d5bd6225862c635bb5","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-09 13:46:16.000000000","message":"Patch Set 25:\n\n(3 comments)","accounts_in_message":[],"_revision_number":25},{"id":"ab75b66251b998f3d8c6ddfe4da466e6af43b37d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-09 15:43:51.000000000","message":"Uploaded patch set 26: New patch set was added with same tree, parent tree, and commit message as Patch Set 25.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":26},{"id":"a9424acda2d34c9e228bb6123f511079da10acc3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 17:43:50.000000000","message":"Patch Set 26: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8fc3e23c034a4f4bbba6ae9f5965cf4b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/b03ab82d521f401b85397e32ed6aec57 : SUCCESS in 4m 12s\n- requirements-check https://zuul.opendev.org/t/openstack/build/eea042046c2244809ba4d0da0988e9ab : SUCCESS in 2m 13s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/390106be1bc24e1c98cd755fec69e528 : SUCCESS in 1h 29m 31s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/22016580145343c880f6433c002b9947 : SUCCESS in 6m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8317af5fa3c24a2fb7cab50afa8f578d : SUCCESS in 5m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4368abcf43f04f9398eed7e9fb55e4a4 : SUCCESS in 3m 50s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e3b213e09a994422bc09e37e287794b5 : SUCCESS in 4m 18s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/534fa41e674f4f7f9343050e4e08c5b8 : SUCCESS in 6m 20s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ed26130904a54ea18fda5dec931c96b6 : FAILURE in 8m 30s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b0f6636a7ab04dda81446969cd812526 : SUCCESS in 6m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dd277b41dcbc454298276c6127cf3f55 : SUCCESS in 5m 05s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/cfccf44aaa1a46c78e8ec98f3a9adbff : SUCCESS in 7m 00s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a85cd607d16c48f0bf6cb24f988b07bf : FAILURE in 6m 15s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/2b0f09893d784072ad46cefdab729dd8 : SUCCESS in 1h 42m 36s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/32ce7d10936d4abc8518b51827428194 : SUCCESS in 1h 30m 53s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/0838b2deae364b78a1f2b63058822c21 : SUCCESS in 1h 12m 15s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/010a4300a55f4645a35ed7522ff5fd98 : SUCCESS in 1h 20m 42s (non-voting)","accounts_in_message":[],"_revision_number":26},{"id":"b53f0f61c3e596e66277223b41e4f7080e3a5b1f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-09 18:38:36.000000000","message":"Uploaded patch set 27: Commit message was updated.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":27},{"id":"577635e4d9f93d26ec43ed03f7a7dd4d8c8d0f32","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 20:35:40.000000000","message":"Patch Set 27: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1a0e7e9a26c14bb8aaf7118ffbf26452\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/cd92afad423c41eb88bbdf547c0434b6 : SUCCESS in 2m 44s\n- requirements-check https://zuul.opendev.org/t/openstack/build/36d9b3d428844518842aff23c85c7e24 : SUCCESS in 1m 53s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/526e3bb8c9c74456afc563ec863af372 : SUCCESS in 1h 35m 47s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/cf7b1e800dcf4738be8d3f9085edd97d : SUCCESS in 4m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9e2cba53950e4f52a2038dac8f2acbb4 : SUCCESS in 1m 59s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5085efcef303458cb597d2b77742f22b : SUCCESS in 5m 05s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/dc453677c2564db7bb3d045d67e7989c : SUCCESS in 3m 42s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1ba2abaefcbe4986bd1504513911d695 : SUCCESS in 6m 35s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ee9e637cd1664fa1a583e6850af574cc : FAILURE in 9m 27s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fe4fd935254c4cb5b3fd348030800a7f : SUCCESS in 3m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d413e30e96b41a6a42ad7058acfedca : SUCCESS in 4m 05s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/6f4f296cd49d4d5c8cbb77996935e8d6 : SUCCESS in 5m 13s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/84335d3926814c28a7395bc1a2f8ebbb : FAILURE in 14m 15s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/84996bdbd8a64d18a869d7caa201fcc0 : SUCCESS in 1h 13m 51s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/a1b21dae2f2e405191be194fe5bd28a3 : SUCCESS in 1h 45m 09s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/bf64782e52fb437faa7e2bb0bfffe599 : SUCCESS in 51m 07s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/341b60e50b584ef8806b53bb04e8c3ea : SUCCESS in 1h 08m 55s (non-voting)","accounts_in_message":[],"_revision_number":27},{"id":"b8ec8390783481527fd7ece68e826adb90e0e000","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-10 10:47:03.000000000","message":"Uploaded patch set 28.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":28},{"id":"ca1c85e2d170b829eac1f150681aa291bb9f864f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-10 11:54:11.000000000","message":"Uploaded patch set 29.","accounts_in_message":[],"_revision_number":29},{"id":"35507201f5805105511c1c0331d67ecbafab1adc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-10 13:48:32.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/60c48dcf199c47ee9cf952a3388ba50e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/f23d4498b9fb43a6b301166e75a8e8b6 : SUCCESS in 2m 49s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8f3c630be06040899f157efda048f9c4 : SUCCESS in 2m 10s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/244cf24aa0604bae871591575ed90447 : SUCCESS in 1h 11m 53s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8bb9266ddea645dcb9cee2d3fcbd9d9d : SUCCESS in 3m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/306fbb52655b4664a1e2d9a277732d0c : SUCCESS in 3m 21s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ecd9ad024d0f4ac1be79b18d09f1b7a3 : SUCCESS in 3m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d1565ee7e58141e7afc2c1409e2933ea : SUCCESS in 4m 19s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0df96b2e86b84a30af07225789bb281f : SUCCESS in 6m 21s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/324790514f17402d994673a2b75b7667 : FAILURE in 4m 21s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9670feaa555c408e99c6ca6233674968 : SUCCESS in 3m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/72b95df5619f4359a52938626e25f7bc : SUCCESS in 4m 37s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/83fa1751ea7349299102945d57dd5283 : SUCCESS in 5m 34s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a1ecbda5bb504f20982b7c97ccc58513 : FAILURE in 7m 35s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/2bb4d9b490854580bfdd251b66b415ff : SUCCESS in 1h 31m 27s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/b27af6349b894d8ab1da37fb15e214b3 : SUCCESS in 1h 46m 43s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/77ec380382374d2a88b747e09ab6d388 : SUCCESS in 1h 07m 14s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/4bfd13d7bfb94e85a4bca64168ce243b : SUCCESS in 43m 18s (non-voting)","accounts_in_message":[],"_revision_number":29},{"id":"c709b30e420730235cdfd6494219408fc6872c5b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-18 16:55:03.000000000","message":"Uploaded patch set 30.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":30},{"id":"5b52ec8ad9e7fd686d7616ed8757a0702768b392","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 18:29:49.000000000","message":"Patch Set 30: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c3a13a5f190b4cc0898d90c4a20b2d0e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/e46ba7a4e10f4f86ba731be23affcebb : SUCCESS in 2m 38s\n- requirements-check https://zuul.opendev.org/t/openstack/build/30a2d5767c4b4f5aba93781df51ed206 : SUCCESS in 2m 24s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/04e8a82192734e01b164604db95e3a83 : SUCCESS in 1h 18m 39s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d2b02e7eb98a4074964e84ca09cd723f : SUCCESS in 4m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8a9f86b81469444491eae33a3c7337cc : SUCCESS in 2m 56s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9df24d8cf8ec46578c6774c92a2dd00c : SUCCESS in 3m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/725e6ff6b24148d5b96f16f093789dd3 : SUCCESS in 3m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5f426347ab91411cb441e0618561c2dc : SUCCESS in 6m 38s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c50be88e4eb340a0a03b07e1ea3d32e9 : FAILURE in 7m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/49cab5de2f4040cc839ab8f794d50ffe : SUCCESS in 2m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6e11621441ef4f31bbecabc68af3f540 : SUCCESS in 4m 23s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/8de9750e16924e7791be5b44d348c952 : SUCCESS in 5m 14s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/f338aa7c5e6e4d399c2a941a9f764f61 : FAILURE in 6m 42s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/dfca40fc79414000b6f3a56e148e1aa1 : SUCCESS in 1h 09m 43s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/85d4a25358b24a52ab3dc098df6cfe51 : SUCCESS in 1h 29m 49s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/176de13af15a42d7bb84cce20bc6f6d9 : SUCCESS in 1h 05m 55s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/6e3949aea5b047d2a059b339df104adf : SUCCESS in 1h 18m 20s (non-voting)","accounts_in_message":[],"_revision_number":30},{"id":"b9908b027958579d29ef486d46200d4ed1d8fe00","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-20 13:43:02.000000000","message":"Uploaded patch set 31.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":31},{"id":"8abe9554e1e318c2ae21a46eab6f0fb71c5c1ff4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-20 15:29:07.000000000","message":"Patch Set 31: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/87f1445ac1e44de59ae637c782fd4c8e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/af28d646ee4f478dac9ee55bf527755d : SUCCESS in 1m 46s\n- requirements-check https://zuul.opendev.org/t/openstack/build/774701b387864468a45c57b88bb137f4 : SUCCESS in 1m 41s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2ba17c03d7a24c1eb04b45d36396be14 : SUCCESS in 42m 18s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f6edc762d2674fd58db2c7d0bec2c9be : SUCCESS in 4m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6e1803ec914b4a7cbcbd071010c61022 : SUCCESS in 4m 30s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/778693a880c54cc48e879841fa6f2a71 : SUCCESS in 3m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a415b8da58e44a00a8d9f3282f9084ec : SUCCESS in 3m 18s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/df1b907901db4cb7ba5a4ed144d0a6c2 : SUCCESS in 6m 31s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/44841f5cf2d64f2397cfa383f2fcdc6c : FAILURE in 4m 16s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ee264d81e08c459292d2ec8a856f0e6e : SUCCESS in 2m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a7d1bcf6a17c4851ac80020be60d970f : SUCCESS in 4m 11s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/415647015ff14a1cb98dfa1cff24a4e9 : SUCCESS in 4m 34s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/cdf734b8ea5d4cd6afb34d2140611864 : FAILURE in 4m 18s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/52955afb56dc43bc946ed8b9179ef477 : SUCCESS in 1h 39m 33s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f1fc58749a1740cdb16fa56321e368b8 : SUCCESS in 1h 19m 17s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/d80e956e6fb241b28d124de374a4bdc6 : SUCCESS in 1h 02m 59s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/95c678e7486b463b9f25b8c167eedf6b : SUCCESS in 1h 14m 26s (non-voting)","accounts_in_message":[],"_revision_number":31},{"id":"e8fcb3155068fdcf245dd0817fb92395745e0542","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-23 03:56:58.000000000","message":"Uploaded patch set 32.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":32},{"id":"0fbb3da9a96d1675d1de643a5eb81466929ac657","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-23 05:23:30.000000000","message":"Patch Set 32: 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/aada3a395fa14e12a45027ce84736dd3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/c071fb17ac344875a0bd261f107fd7ed : SUCCESS in 3m 10s\n- requirements-check https://zuul.opendev.org/t/openstack/build/281f7c2579cd48d5ab7c3835d6c0c736 : SUCCESS in 2m 26s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a86654abbddf44e781c4ce889525aac5 : RETRY_LIMIT in 3m 33s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/12d7aa3f25b04bbe8cf741a11d90aa43 : SUCCESS in 4m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/981571de652244f7a0b9177896778e40 : SUCCESS in 3m 18s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c4753172d2f4430591ad2856ba0b3e94 : RETRY_LIMIT in 1m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/10323df7c51245f38ec030ab1110cfcb : SUCCESS in 9m 14s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/7b0f55dd25fb489ebd1f49996a750e0f : RETRY_LIMIT in 1m 33s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1011947bdb98488fab0ea24388ef194d : SUCCESS in 6m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1561b894d74946bc8fce510e462ec470 : SUCCESS in 5m 27s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/1f8517f9a7f048c4a96d645d497ba589 : SUCCESS in 8m 46s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/4101028e32ab469d863641e6553de2aa : RETRY_LIMIT in 1m 14s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/49475908c05e426fb6f5c1070e593e3e : SUCCESS in 1h 22m 52s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/7f57568880764d34b590819a1d883efc : SUCCESS in 1h 20m 32s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/86d2e7cfdc6b4f7993a11b760735f9b2 : SUCCESS in 1h 04m 42s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/20252193117044edb42e4682a6a241a7 : SUCCESS in 45m 06s (non-voting)","accounts_in_message":[],"_revision_number":32},{"id":"a2bef71f0451aefdb2b4aad78a64763899749f0b","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-23 10:55:29.000000000","message":"Patch Set 32:\n\nrecheck","accounts_in_message":[],"_revision_number":32},{"id":"2f4932802d130c7d9ed2652fd865ae1a237307f7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-23 13:18:49.000000000","message":"Patch Set 32: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d2c0ca44206a4e679efd5db0da4ae76c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/90839330afd54fb9ae8a2e986314c76e : SUCCESS in 2m 53s\n- requirements-check https://zuul.opendev.org/t/openstack/build/18429795f2374afa81eab81dd988e57a : SUCCESS in 2m 22s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/c5d6f4dc29ea4d639d80ce3322981dad : SUCCESS in 46m 05s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1751a4efa982484aa513aab00529ebd0 : SUCCESS in 4m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/63005da97449491bb52dfa62154ea6b3 : SUCCESS in 3m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f3544f9967e9492e898ccad98590f05e : SUCCESS in 3m 22s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/249f66ff600c413ebd7d230a7a8c3796 : SUCCESS in 6m 22s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5cf3f915232e4ca9848b6521dcef8c9c : FAILURE in 6m 15s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82f4d0e990744ac28e15c68fa5b7407c : SUCCESS in 4m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/79d159f039714bb6805c59787ad199f6 : SUCCESS in 4m 55s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/4d8ebc792357445a92d8f8f7f8ab89d3 : SUCCESS in 5m 36s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/7d8951cedea44834b1a139bc01f40d9b : FAILURE in 8m 16s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/54a44278174649348c8cfc375874cfa9 : SUCCESS in 1h 11m 35s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/85db2a70fb734a3bb2282170986a0722 : SUCCESS in 1h 52m 10s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/e6e1a3d1650d4aeaa333664b617996ce : SUCCESS in 35m 09s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/7e09397f189b4b63bbf487f39ad872ff : SUCCESS in 38m 25s (non-voting)","accounts_in_message":[],"_revision_number":32},{"id":"1915ea66360a21f7ec5faf395574dda8ec72d39d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-26 04:38:36.000000000","message":"Uploaded patch set 33.\n\nReview fixes: HTTP/2 cancellation and stream accounting, two-phase listener stop, rotating registration checks, an httpcore read-lock workaround, refused calls retried until their deadline, HTTP/1.1 for original-driver peers, a fanout sliding window, a native test tier, and shorter subjects\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":33},{"id":"054eb0fb879ba6436a9983c437e158300b13690d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-26 06:20:34.000000000","message":"Patch Set 33: 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/6160456d4ded4eb7ad2e105d0f91f803\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3646c50b9e004da4a0ba3e6200a24046 : SUCCESS in 2m 50s\n- requirements-check https://zuul.opendev.org/t/openstack/build/ea154d2526304dcca851826ebd147ce0 : SUCCESS in 2m 51s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/12209bca366045a0b59caf611765ec19 : SUCCESS in 1h 32m 25s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d41bcba9d41c489782f9e2f270220f0e : SUCCESS in 4m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a0ca1ab925cd4ef48d37af10f9f6890b : SUCCESS in 3m 15s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/837dcb43c1ca4af38e161d1b07b2c826 : SUCCESS in 2m 52s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/75bf06b14ef448d495ee859f416f9ade : SUCCESS in 7m 15s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/05bd2c47dfb34ca2b6d58a74d6e7a678 : FAILURE in 6m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d322dcea8f3b47bb82d82dc73111a107 : SUCCESS in 3m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2cf5e2f4903d4bec86b0ceedc1b5f2be : SUCCESS in 4m 35s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/b9b68f262d5346c1a9cd2551fb863d66 : SUCCESS in 4m 05s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/069264aa0ddd4b89aa91b264af181549 : FAILURE in 3m 44s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/9d0aeb9f484a49b4b2a0d52516315079 : SUCCESS in 1h 34m 18s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/ab71dd6845ae46ab8e46e43e0fa223be : SUCCESS in 1h 09m 07s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/4e4a71cb33794c2ba229e272e7a79111 : SUCCESS in 44m 55s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/5280b90018b44f77af112f3e3ed5d8f2 : SUCCESS in 1h 15m 53s (non-voting)","accounts_in_message":[],"_revision_number":33},{"id":"d9b5ade945197883456c29af33ab1ba77fe18735","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-10-02 08:36:01.000000000","message":"Patch Set 33: Code-Review+1","accounts_in_message":[],"_revision_number":33}],"current_revision_number":33,"current_revision":"be150cfc740aaa3bfa0fbe907fb9a317ffe6c372","revisions":{"a38c3cc349353c032770ba25e79c31072677090e":{"kind":"REWORK","_number":1,"created":"2026-07-16 04:10:32.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/1"}}},"commit":{"parents":[{"commit":"8ca4a4bfed0af710c90af95a7821471f898b3d93","subject":"zuul: Use openstack-python3-next-jobs template","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8ca4a4bfed0af710c90af95a7821471f898b3d93"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 02:53:44.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a38c3cc349353c032770ba25e79c31072677090e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a38c3cc349353c032770ba25e79c31072677090e"}]},"branch":"refs/heads/master"},"d2a2725e6c3f5ccc018add4a4e0359bef003b430":{"kind":"REWORK","_number":2,"created":"2026-07-16 04:16:22.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/2"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 04:14:16.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d2a2725e6c3f5ccc018add4a4e0359bef003b430"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d2a2725e6c3f5ccc018add4a4e0359bef003b430"}]},"branch":"refs/heads/master"},"b85cb4a14fb4ce5ffdb25a77fec0dc4e544442db":{"kind":"REWORK","_number":3,"created":"2026-07-16 04:29:03.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/3"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 04:27:35.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b85cb4a14fb4ce5ffdb25a77fec0dc4e544442db"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b85cb4a14fb4ce5ffdb25a77fec0dc4e544442db"}]},"branch":"refs/heads/master"},"b2b7d631385490c2d23a32a0f77b90fe34d83b3c":{"kind":"REWORK","_number":4,"created":"2026-07-16 05:05:24.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/4"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 05:01:17.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b2b7d631385490c2d23a32a0f77b90fe34d83b3c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b2b7d631385490c2d23a32a0f77b90fe34d83b3c"}]},"branch":"refs/heads/master"},"d49ac4f98cac718e851cf13f937b629c6c4cc518":{"kind":"REWORK","_number":5,"created":"2026-07-16 08:38:43.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/5"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 07:40:56.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d49ac4f98cac718e851cf13f937b629c6c4cc518"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d49ac4f98cac718e851cf13f937b629c6c4cc518"}]},"branch":"refs/heads/master"},"ec46812c208f2f8be5024e8a95ae46861caf6c30":{"kind":"REWORK","_number":6,"created":"2026-07-16 11:29:31.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/6"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 10:58:25.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ec46812c208f2f8be5024e8a95ae46861caf6c30"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ec46812c208f2f8be5024e8a95ae46861caf6c30"}]},"branch":"refs/heads/master"},"0861406b6e1472fa2b226de63b68a0cf468c799c":{"kind":"REWORK","_number":7,"created":"2026-07-16 16:05:21.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/7"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 15:49:10.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/0861406b6e1472fa2b226de63b68a0cf468c799c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/0861406b6e1472fa2b226de63b68a0cf468c799c"}]},"branch":"refs/heads/master"},"3a3d5952f3e09f31b55c1bed4d19edf9e0594ef9":{"kind":"REWORK","_number":8,"created":"2026-07-16 18:52:52.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/8"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 18:47:41.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3a3d5952f3e09f31b55c1bed4d19edf9e0594ef9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3a3d5952f3e09f31b55c1bed4d19edf9e0594ef9"}]},"branch":"refs/heads/master"},"8cc0eaf5527fb5d045686ae0398c0dbe503b510b":{"kind":"REWORK","_number":9,"created":"2026-07-16 21:50:45.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/9"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 11:49:25.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 21:35:49.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging.  This driver carries RPC call/cast/fanout over HTTP/2\n(with HTTP/1.1 fallback) using httpx on the client side and Hypercorn\nserving a WSGI application (via a2wsgi) on the server side.  It is\nintended for deployments that prefer direct service-to-service HTTP\nover a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series.  Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), HTTP/2 tuning, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send (outside the retry loop), exponential backoff with\n  jitter, and a sticky preferred-target so retries re-hit the same\n  endpoint for server-side dedup.\n* Server-side DuplicateMessageCache: empty-body rejected before dedup\n  registration, in-flight de-duplication with result caching, and a\n  bounded concurrency gate returning 503 when saturated.\n* Hypercorn listener serving the WSGI app via a2wsgi\u0027s WSGIMiddleware,\n  with the h2 close-notify workaround and an eventlet inbound bridge\n  (real queue + drain thread) so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config.  httpx, hypercorn and a2wsgi are declared\nas the [http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/996961\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]},"branch":"refs/heads/master"},"ca6c4cefdc8c04d47a503bb2bd252d48ed2c8634":{"kind":"REWORK","_number":10,"created":"2026-08-15 01:50:09.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/10"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging. This driver carries RPC call/cast/fanout over HTTP/2\n(with optional, explicitly configured HTTP/1.1 fallback) using httpx on\nthe client side and Hypercorn serving a bare ASGI application on the\nserver side. It is intended for deployments that prefer direct\nservice-to-service HTTP over a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series. Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), forced HTTP/2 by default, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send, an allowlist limited to failures known to occur before\n  request handoff, exponential backoff with jitter, and messaging-deadline\n  enforcement around each HTTP request.\n* Server-side DuplicateMessageCache with result caching, rollback when a\n  cast or fanout handoff fails, and a bounded concurrency gate returning\n  503 when saturated.\n* Hypercorn listener serving the bare ASGI app, with the h2 close-notify\n  workaround and an eventlet inbound bridge (real queue + drain thread)\n  so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config. httpx and hypercorn are declared as the\n[http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ca6c4cefdc8c04d47a503bb2bd252d48ed2c8634"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ca6c4cefdc8c04d47a503bb2bd252d48ed2c8634"}]},"branch":"refs/heads/master"},"801a31c74a7fd3289b3e3bde93fbc56b8c58bae9":{"kind":"REWORK","_number":11,"created":"2026-08-15 08:07:00.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/11"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 08:06:00.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging. This driver carries RPC call/cast/fanout over HTTP/2\n(with optional, explicitly configured HTTP/1.1 fallback) using httpx on\nthe client side and Hypercorn serving a bare ASGI application on the\nserver side. It is intended for deployments that prefer direct\nservice-to-service HTTP over a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series. Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with per-hub-confined httpx clients, mTLS via\n  a custom SNI transport (verify by advertised hostname while connecting\n  by IP), forced HTTP/2 by default, and fork-safe client reset.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send, an allowlist limited to failures known to occur before\n  request handoff, exponential backoff with jitter, and messaging-deadline\n  enforcement around each HTTP request.\n* Server-side DuplicateMessageCache with result caching, rollback when a\n  cast or fanout handoff fails, and a bounded concurrency gate returning\n  503 when saturated.\n* Hypercorn listener serving the bare ASGI app, with the h2 close-notify\n  workaround and an eventlet inbound bridge (real queue + drain thread)\n  so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config. httpx and hypercorn are declared as the\n[http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/801a31c74a7fd3289b3e3bde93fbc56b8c58bae9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/801a31c74a7fd3289b3e3bde93fbc56b8c58bae9"}]},"branch":"refs/heads/master"},"8be03798f35b65af688d86a07406ecabc51754cf":{"kind":"REWORK","_number":12,"created":"2026-08-16 12:43:17.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/12"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-16 12:38:44.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging. This driver carries RPC call/cast/fanout over HTTP/2\n(with optional, explicitly configured HTTP/1.1 fallback) using httpx on\nthe client side and Hypercorn serving a bare ASGI application on the\nserver side. It is intended for deployments that prefer direct\nservice-to-service HTTP over a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series. Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with a loop-owned asynchronous HTTP/2 client\n  and one bounded shared connection pool. Synchronous HTTP/1.1 clients\n  remain confined per eventlet hub where needed. Direct TLS requests\n  support connect-by-IP / verify-by-SNI, and all client state resets\n  safely after fork.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send, an allowlist limited to failures known to occur before\n  request handoff, exponential backoff with jitter, and messaging-deadline\n  enforcement around each HTTP request.\n* Server-side DuplicateMessageCache with result caching, rollback when a\n  cast or fanout handoff fails, and a bounded concurrency gate returning\n  503 when saturated.\n* Hypercorn listener serving the bare ASGI app, with the h2 close-notify\n  workaround and an eventlet inbound bridge (real queue + drain thread)\n  so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config. httpx and hypercorn are declared as the\n[http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8be03798f35b65af688d86a07406ecabc51754cf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8be03798f35b65af688d86a07406ecabc51754cf"}]},"branch":"refs/heads/master"},"922dd026d6fc0e17922591c1a01b1af611307a25":{"kind":"REWORK","_number":13,"created":"2026-08-16 23:06:30.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/13"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-16 23:04:33.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core of an HTTP-based RPC transport driver for\noslo.messaging. This driver carries RPC call/cast/fanout over HTTP/2\n(with optional, explicitly configured HTTP/1.1 fallback) using httpx on\nthe client side and Hypercorn serving a bare ASGI application on the\nserver side. It is intended for deployments that prefer direct\nservice-to-service HTTP over a traditional message broker.\n\nThis commit provides the transport machinery only; service discovery\n(tooz) and the fanout broadcaster are added in the following commits of\nthis series. Without a service broker configured the driver loads and\nits option group registers, but message routing returns no targets.\n\nHighlights:\n\n* HTTPDriver / HTTPClient with a loop-owned asynchronous HTTP/2 client\n  and one bounded shared connection pool. Synchronous HTTP/1.1 clients\n  remain confined per eventlet hub where needed. Direct TLS requests\n  support connect-by-IP / verify-by-SNI, and all client state resets\n  safely after fork.\n* retry_decorator with a single stable X-Msg-ID generated once per\n  logical send, an allowlist limited to failures known to occur before\n  request handoff, exponential backoff with jitter, and messaging-deadline\n  enforcement around each HTTP request.\n* Server-side DuplicateMessageCache with result caching, rollback when a\n  cast or fanout handoff fails, and a bounded concurrency gate returning\n  503 when saturated.\n* Hypercorn listener serving the bare ASGI app, with the h2 close-notify\n  workaround and an eventlet inbound bridge (real queue + drain thread)\n  so dispatch never crosses hubs.\n\nThe driver options live in the [oslo_messaging_http] group and are\nregistered with oslo.config. httpx and hypercorn are declared as the\n[http] extra so the base install is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/922dd026d6fc0e17922591c1a01b1af611307a25"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/922dd026d6fc0e17922591c1a01b1af611307a25"}]},"branch":"refs/heads/master"},"183954e2e8228a1a940148ad90733b86a3531893":{"kind":"REWORK","_number":14,"created":"2026-08-17 03:42:59.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/14"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 03:35:27.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nnever evicts active operations, rolls back reservations when dispatch fails,\nand applies explicit request admission. Late call completion is cached for\nsubsequent polls. Graceful shutdown drains accepted work before stopping the\ninbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/183954e2e8228a1a940148ad90733b86a3531893"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/183954e2e8228a1a940148ad90733b86a3531893"}]},"branch":"refs/heads/master"},"06f112bff6464f2e332d70f2848f75f9dec02355":{"kind":"REWORK","_number":15,"created":"2026-08-17 06:27:53.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/15"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 06:20:46.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nnever evicts active operations, rolls back reservations when dispatch fails,\nand applies explicit request admission. Late call completion is cached for\nsubsequent polls. Graceful shutdown drains accepted work before stopping the\ninbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/06f112bff6464f2e332d70f2848f75f9dec02355"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/06f112bff6464f2e332d70f2848f75f9dec02355"}]},"branch":"refs/heads/master"},"13aeeb944624b9c8af8d224e0209bfcdc3e85aee":{"kind":"REWORK","_number":16,"created":"2026-08-17 11:28:41.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/16"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 11:24:58.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nnever evicts active operations, rolls back reservations when dispatch fails,\nand applies explicit request admission. Late call completion is cached for\nsubsequent polls. Graceful shutdown drains accepted work before stopping the\ninbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/13aeeb944624b9c8af8d224e0209bfcdc3e85aee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/13aeeb944624b9c8af8d224e0209bfcdc3e85aee"}]},"branch":"refs/heads/master"},"34f79bfff1b2bed1e174a38e7ae3275386bd0f69":{"kind":"REWORK","_number":17,"created":"2026-08-17 16:46:26.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/17"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 16:46:04.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nnever evicts active operations, rolls back reservations when dispatch fails,\nand applies explicit request admission. Late call completion is cached for\nsubsequent polls. Graceful shutdown drains accepted work before stopping the\ninbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/34f79bfff1b2bed1e174a38e7ae3275386bd0f69"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/34f79bfff1b2bed1e174a38e7ae3275386bd0f69"}]},"branch":"refs/heads/master"},"e6b2204a6e23c6ecad19845fff841dab246d3407":{"kind":"REWORK","_number":18,"created":"2026-08-19 10:11:01.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/18"}}},"commit":{"parents":[{"commit":"3b02f8abb4e694543ddb303c14a3347472ee77ad","subject":"Merge \"Add OpenTelemetry tracing support for RPC calls\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3b02f8abb4e694543ddb303c14a3347472ee77ad"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-19 10:10:02.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe inbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/e6b2204a6e23c6ecad19845fff841dab246d3407"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/e6b2204a6e23c6ecad19845fff841dab246d3407"}]},"branch":"refs/heads/master"},"a296d6544fd8d4d4469ef50765c3a1bbbba88ef9":{"kind":"REWORK","_number":19,"created":"2026-08-24 11:20:17.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/19"}}},"commit":{"parents":[{"commit":"36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c","subject":"Merge \"Remove duplicated optional dependencies from test requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-24 11:10:40.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe inbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a296d6544fd8d4d4469ef50765c3a1bbbba88ef9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a296d6544fd8d4d4469ef50765c3a1bbbba88ef9"}]},"branch":"refs/heads/master"},"d3c244eb2628a0877a0f093894c7a25d21bb3a62":{"kind":"REWORK","_number":20,"created":"2026-08-25 14:58:49.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/20"}}},"commit":{"parents":[{"commit":"36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c","subject":"Merge \"Remove duplicated optional dependencies from test requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-25 13:44:53.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe inbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d3c244eb2628a0877a0f093894c7a25d21bb3a62"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d3c244eb2628a0877a0f093894c7a25d21bb3a62"}]},"branch":"refs/heads/master"},"c4c0027b9f74a8ab42adc54f0d1d1e195b884fc4":{"kind":"REWORK","_number":21,"created":"2026-08-27 00:08:40.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/21"}}},"commit":{"parents":[{"commit":"36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c","subject":"Merge \"Remove duplicated optional dependencies from test requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/36ce7896c3ae3180dc71c6ad73f09d2e1a3ed49c"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-27 00:04:34.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe inbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/c4c0027b9f74a8ab42adc54f0d1d1e195b884fc4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/c4c0027b9f74a8ab42adc54f0d1d1e195b884fc4"}]},"branch":"refs/heads/master"},"f7aafd29efe26af1d31451c75113554ac4b7a181":{"kind":"REWORK","_number":22,"created":"2026-09-06 09:04:58.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/22"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-06 08:52:51.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe inbound dispatcher.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f7aafd29efe26af1d31451c75113554ac4b7a181"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f7aafd29efe26af1d31451c75113554ac4b7a181"}]},"branch":"refs/heads/master"},"ac862e9f237dc3ffcdb7ba20fe35ac35a041cef9":{"kind":"REWORK","_number":23,"created":"2026-09-06 22:46:43.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/23"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-06 20:56:12.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRequire native threads and networking. Synchronous callers wait on a\nconcurrent.futures.Future while one asyncio loop owns HTTP/2 connections.\nReject Eventlet monkey-patching and captured green HTTP dependencies before\nstarting I/O. Keep timeout cancellation, early-cancellation suppression,\nfork resets, and bounded connection pools.\n\nRun the whole test suite with native threads. Remove Eventlet-only coverage\nand convert shared lifecycle tests to bounded native workers without changing\nthe other drivers\u0027 production implementations.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ac862e9f237dc3ffcdb7ba20fe35ac35a041cef9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ac862e9f237dc3ffcdb7ba20fe35ac35a041cef9"}]},"branch":"refs/heads/master"},"1a0388b96694016d600e2f1409ea5bc3d0e4b4ea":{"kind":"REWORK","_number":24,"created":"2026-09-07 01:36:28.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/24"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-07 00:39:51.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRequire native threads and networking. Synchronous callers wait on a\nconcurrent.futures.Future while one asyncio loop owns HTTP/2 connections.\nReject Eventlet monkey-patching and captured green HTTP dependencies before\nstarting I/O. Keep timeout cancellation, early-cancellation suppression,\nfork resets, and bounded connection pools.\n\nRun the whole test suite with native threads. Remove Eventlet-only coverage\nand convert shared lifecycle tests to bounded native workers without changing\nthe other drivers\u0027 production implementations.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/1a0388b96694016d600e2f1409ea5bc3d0e4b4ea"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/1a0388b96694016d600e2f1409ea5bc3d0e4b4ea"}]},"branch":"refs/heads/master"},"bed97a6c38f45946831a9882ee7c9894cf891868":{"kind":"REWORK","_number":25,"created":"2026-09-08 18:55:07.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/25"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-08 17:43:56.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nRequire native threads and networking. Synchronous callers wait on a\nconcurrent.futures.Future while one asyncio loop owns HTTP/2 connections.\nReject Eventlet monkey-patching and captured green HTTP dependencies before\nstarting I/O. Keep timeout cancellation, early-cancellation suppression,\nfork resets, and bounded connection pools.\n\nRun the whole test suite with native threads. Remove Eventlet-only coverage\nand convert shared lifecycle tests to bounded native workers without changing\nthe other drivers\u0027 production implementations.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bed97a6c38f45946831a9882ee7c9894cf891868"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bed97a6c38f45946831a9882ee7c9894cf891868"}]},"branch":"refs/heads/master"},"7bcd09474bac85a61354cc0e585bf44cbf05c597":{"kind":"NO_CHANGE","_number":26,"created":"2026-09-09 15:43:51.000000000","uploader":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"ref":"refs/changes/70/997470/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/26"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","date":"2026-09-09 15:40:29.000000000","tz":540},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nRequire native threads and networking. Synchronous callers wait on a\nconcurrent.futures.Future while one asyncio loop owns HTTP/2 connections.\nReject Eventlet monkey-patching and captured green HTTP dependencies before\nstarting I/O. Keep timeout cancellation, early-cancellation suppression,\nfork resets, and bounded connection pools.\n\nRun the whole test suite with native threads. Remove Eventlet-only coverage\nand convert shared lifecycle tests to bounded native workers without changing\nthe other drivers\u0027 production implementations.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7bcd09474bac85a61354cc0e585bf44cbf05c597"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7bcd09474bac85a61354cc0e585bf44cbf05c597"}]},"branch":"refs/heads/master"},"4d96bf8f9fbe1322ce5734628fc9f45a6bd86442":{"kind":"NO_CODE_CHANGE","_number":27,"created":"2026-09-09 18:38:36.000000000","uploader":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"ref":"refs/changes/70/997470/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/27"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","date":"2026-09-09 17:31:09.000000000","tz":540},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nRequire native threads and networking. Synchronous callers wait on a\nconcurrent.futures.Future while one asyncio loop owns HTTP/2 connections.\nReject Eventlet monkey-patching and captured green HTTP dependencies before\nstarting I/O. Keep timeout cancellation, early-cancellation suppression,\nfork resets, and bounded connection pools.\n\nRun the whole test suite with native threads. Remove Eventlet-only coverage\nand convert shared lifecycle tests to bounded native workers without changing\nthe other drivers\u0027 production implementations.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/4)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4d96bf8f9fbe1322ce5734628fc9f45a6bd86442"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4d96bf8f9fbe1322ce5734628fc9f45a6bd86442"}]},"branch":"refs/heads/master"},"3232761a678a6cd46583c6b46fbfe945e9dd5316":{"kind":"REWORK","_number":28,"created":"2026-09-10 10:47:03.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/28"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-10 10:31:42.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nLong-running calls return HTTP 202 while execution remains in progress.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Context uses a reserved wire\nenvelope without mutating the caller\u0027s message.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. Keep HTTP/1 clients on their calling\nhub, and transfer inbound messages through a bounded queue before dispatch\nto an Eventlet executor. Reject captured green HTTP dependencies in native\nservices without changing the hosting process\u0027s concurrency model.\n\nPreserve timeout cancellation, early-cancellation suppression, fork resets,\nand bounded connection pools. Retain the shared Eventlet test environment\nand verify native runtime behavior in isolated subprocesses.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nPartially-implements: blueprint oslo-http-driver (1/4)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3232761a678a6cd46583c6b46fbfe945e9dd5316"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3232761a678a6cd46583c6b46fbfe945e9dd5316"}]},"branch":"refs/heads/master"},"4622a723197fddf2e09502d243566b3ee88216e0":{"kind":"REWORK","_number":29,"created":"2026-09-10 11:54:11.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/29"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-10 11:46:48.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nCallers opt in to HTTP 202 polling while execution remains in progress.\nOther callers wait for a completed reply or a serialized timeout.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Send context in args.context and\nuse a reserved outer envelope when a method has its own context argument,\nwithout mutating the caller\u0027s message. Preserve nested error replies and\nmark new replies explicitly to distinguish errors from application data.\nReject incompatible context arguments before sending to an original peer.\n\nAllow an optional backend-independent logical service-name template. Keep\ndefault routing names and discovery group prefixes unchanged.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. Keep HTTP/1 clients on their calling\nhub, and transfer inbound messages through a bounded queue before dispatch\nto an Eventlet executor. Reject captured green HTTP dependencies in native\nservices without changing the hosting process\u0027s concurrency model.\n\nPreserve timeout cancellation, early-cancellation suppression, fork resets,\nand bounded connection pools. Retain the shared Eventlet test environment\nand verify native runtime behavior in isolated subprocesses.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nEventlet-restored checkpoint before catalog and wire interoperation:\n  997470 PS28: 3232761a678a6cd46583c6b46fbfe945e9dd5316\n  997471 PS33: 69c854bc477f0964e9b08abff49951591932902b\n  997472 PS41: c8d9271cf7102eb7e00d0909f4fd09c7f766083c\n\nPartially-implements: blueprint oslo-http-driver (1/4)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4622a723197fddf2e09502d243566b3ee88216e0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4622a723197fddf2e09502d243566b3ee88216e0"}]},"branch":"refs/heads/master"},"fd0a66cb52d654261723d34873430c9b92dc16cb":{"kind":"REWORK","_number":30,"created":"2026-09-18 16:55:03.000000000","uploader":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"ref":"refs/changes/70/997470/30","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/30","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/30 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/30 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/30 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/30"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","date":"2026-09-18 15:53:51.000000000","tz":540},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nCallers opt in to HTTP 202 polling while execution remains in progress.\nOther callers wait for a completed reply or a serialized timeout.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Send context in args.context and\nuse a reserved outer envelope when a method has its own context argument,\nwithout mutating the caller\u0027s message. Preserve nested error replies and\nmark new replies explicitly to distinguish errors from application data.\nReject incompatible context arguments before sending to an original peer.\n\nAllow an optional backend-independent logical service-name template. Keep\ndefault routing names and discovery group prefixes unchanged.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. Keep HTTP/1 clients on their calling\nhub, and transfer inbound messages through a bounded queue before dispatch\nto an Eventlet executor. Reject captured green HTTP dependencies in native\nservices without changing the hosting process\u0027s concurrency model.\n\nPreserve timeout cancellation, early-cancellation suppression, fork resets,\nand bounded connection pools. Retain the shared Eventlet test environment\nand verify native runtime behavior in isolated subprocesses.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nEventlet-restored checkpoint before catalog and wire interoperation:\n  997470 PS28: 3232761a678a6cd46583c6b46fbfe945e9dd5316\n  997471 PS33: 69c854bc477f0964e9b08abff49951591932902b\n  997472 PS41: c8d9271cf7102eb7e00d0909f4fd09c7f766083c\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/fd0a66cb52d654261723d34873430c9b92dc16cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/fd0a66cb52d654261723d34873430c9b92dc16cb"}]},"branch":"refs/heads/master"},"afac47d675be5c39a22368f15574066fd987f7fc":{"kind":"REWORK","_number":31,"created":"2026-09-20 13:43:02.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/31","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/31","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/31 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/31 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/31 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/31"}}},"commit":{"parents":[{"commit":"b5593e2a733bf1ca86be8182f12a17d2d973fb5a","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b5593e2a733bf1ca86be8182f12a17d2d973fb5a"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-20 13:31:56.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nCallers opt in to HTTP 202 polling while execution remains in progress.\nOther callers wait for a completed reply or a serialized timeout.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Send context in args.context and\nuse a reserved outer envelope when a method has its own context argument,\nwithout mutating the caller\u0027s message. Preserve nested error replies and\nmark new replies explicitly to distinguish errors from application data.\nReject incompatible context arguments before sending to an original peer.\n\nAllow an optional backend-independent logical service-name template. Keep\ndefault routing names and discovery group prefixes unchanged.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. Keep HTTP/1 clients on their calling\nhub, and transfer inbound messages through a bounded queue before dispatch\nto an Eventlet executor. Reject captured green HTTP dependencies in native\nservices without changing the hosting process\u0027s concurrency model.\n\nPreserve timeout cancellation, early-cancellation suppression, fork resets,\nand bounded connection pools. Retain the shared Eventlet test environment\nand verify native runtime behavior in isolated subprocesses.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nEventlet-restored checkpoint before catalog and wire interoperation:\n  997470 PS28: 3232761a678a6cd46583c6b46fbfe945e9dd5316\n  997471 PS33: 69c854bc477f0964e9b08abff49951591932902b\n  997472 PS41: c8d9271cf7102eb7e00d0909f4fd09c7f766083c\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/afac47d675be5c39a22368f15574066fd987f7fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/afac47d675be5c39a22368f15574066fd987f7fc"}]},"branch":"refs/heads/master"},"4f03b2b22be3eecda990d8b70284f2b03621feeb":{"kind":"REWORK","_number":32,"created":"2026-09-23 03:56:58.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/32","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/32","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/32 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/32 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/32 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/32"}}},"commit":{"parents":[{"commit":"35dc39299b79d6c9392624993a502d4c5ac73adb","subject":"ruff: Enable ruff-format","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/35dc39299b79d6c9392624993a502d4c5ac73adb"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-23 03:45:39.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries call,\ncast, and fanout requests over HTTP/2, with an explicitly configurable\nHTTP/1.1 mode, using a loop-owned asynchronous httpx client and a bare ASGI\napplication served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service broker,\nthe driver loads and registers its options but routing returns no targets.\n\nCallers opt in to HTTP 202 polling while execution remains in progress.\nOther callers wait for a completed reply or a serialized timeout.\nClients poll the same endpoint with a stable message ID, enforce the overall\nRPC and monitor deadlines, and never fail over after the server accepted a\ncall. Connection failures before handoff can select a surviving endpoint.\n\nThe server bounds request bodies and completed and in-flight dedup state,\nrolls back reservations when dispatch fails, and applies explicit request\nadmission. A configurable pending-operation backstop replaces abandoned\nreservations with non-replayable tombstones. Late call completion is cached\nfor subsequent polls. Graceful shutdown drains accepted work before stopping\nthe RPC executor.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client certificates,\nand explicit server-side mutual-TLS enforcement. Client state and\nsynchronization reset safely after fork. Send context in args.context and\nuse a reserved outer envelope when a method has its own context argument,\nwithout mutating the caller\u0027s message. Preserve nested error replies and\nmark new replies explicitly to distinguish errors from application data.\nReject incompatible context arguments before sending to an original peer.\n\nAllow an optional backend-independent logical service-name template. Keep\ndefault routing names and discovery group prefixes unchanged.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Preserve backend\nrouting headers and verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. Keep HTTP/1 clients on their calling\nhub, and transfer inbound messages through a bounded queue before dispatch\nto an Eventlet executor. Reject captured green HTTP dependencies in native\nservices without changing the hosting process\u0027s concurrency model.\n\nPreserve timeout cancellation, early-cancellation suppression, fork resets,\nand bounded connection pools. Retain the shared Eventlet test environment\nand verify native runtime behavior in isolated subprocesses.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies are\nin the [http] extra so the base installation is unaffected.\n\nPre-simplification rollback points for the complete series:\n  997470 PS22: f7aafd29efe26af1d31451c75113554ac4b7a181\n  997471 PS27: 2aed0213659a384a45a2d113809fdb018892d0d7\n  997472 PS32: 4a42c1e66e07bb9a9a5ac164a4ab2aeecb0e3450\nFetch refs/changes/70/997470/22, refs/changes/71/997471/27, and\nrefs/changes/72/997472/32 from review.opendev.org to restore the series.\n\nEventlet-restored checkpoint before catalog and wire interoperation:\n  997470 PS28: 3232761a678a6cd46583c6b46fbfe945e9dd5316\n  997471 PS33: 69c854bc477f0964e9b08abff49951591932902b\n  997472 PS41: c8d9271cf7102eb7e00d0909f4fd09c7f766083c\n\nPartially-implements: blueprint oslo-http-driver (1/3)\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4f03b2b22be3eecda990d8b70284f2b03621feeb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4f03b2b22be3eecda990d8b70284f2b03621feeb"}]},"branch":"refs/heads/master"},"be150cfc740aaa3bfa0fbe907fb9a317ffe6c372":{"kind":"REWORK","_number":33,"created":"2026-09-26 04:38:36.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/70/997470/33","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/70/997470/33","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/33 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/33 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/33 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/70/997470/33"}}},"commit":{"parents":[{"commit":"35dc39299b79d6c9392624993a502d4c5ac73adb","subject":"ruff: Enable ruff-format","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/35dc39299b79d6c9392624993a502d4c5ac73adb"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:42:49.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-26 00:01:17.000000000","tz":-240},"subject":"HTTP-RPC driver: core transport, server, and dedup","message":"HTTP-RPC driver: core transport, server, and dedup\n\nIntroduce the core HTTP RPC transport for oslo.messaging. It carries\ncall, cast, and fanout requests over HTTP/2, with an explicitly\nconfigurable HTTP/1.1 mode, using a loop-owned asynchronous httpx client\nand a bare ASGI application served by Hypercorn.\n\nThis commit provides transport machinery only. Service discovery and the\nfanout broadcaster are added by the next change. Without a service\nbroker, the driver loads and registers its options, but routing returns\nno targets and RPC servers cannot start.\n\nCallers opt in to HTTP 202 polling while execution remains in progress.\nOther callers wait for a completed reply or a serialized timeout.\nClients poll the same endpoint with a stable message ID, enforce the\noverall RPC and monitor deadlines, and never fail over after the server\naccepted a call. Connection failures before handoff can select a\nsurviving endpoint, and so can a 503 that the listener marks as its own\nrefusal. A refused call keeps retrying until its timeout, as a broker\nqueue would hold it; casts keep their retry count. A 503 from an\nintermediary may follow delivery and is not retried. A connect timeout,\nwhich includes the TLS handshake, bounds each attempt to reach an\nendpoint. Delivery errors name the underlying failure even when the HTTP\nlibrary reports no message.\n\nThe server bounds request bodies and completed and in-flight dedup\nstate, rolls back reservations when dispatch fails, and applies explicit\nrequest admission after authentication. A configurable pending-operation\nbackstop replaces abandoned reservations with non-replayable tombstones.\nLate call completion is cached for subsequent polls. A call result that\ncannot be encoded reaches the caller as an error. Graceful shutdown\ndrains accepted work before stopping the RPC executor. Stopping is\ntwo-phase: the listener leaves discovery and, for shutdown_grace_period\nseconds, refuses new RPC with its marked 503 and new HTTP/2 streams with\nREFUSED_STREAM, so callers fail over, while it still answers polls for\naccepted calls. Queued messages reach the executor before it stops, and\nEventlet services wait cooperatively instead of blocking their hub.\nListeners load their TLS files before registering and treat bind errors\nother than a port in use as configuration errors. Hypercorn logs through\nthe service\u0027s logging configuration. When an HTTP/2 caller disconnects,\na response still being sent to it finishes at once, so the listener\nreleases the request\u0027s admission slot.\n\nTLS supports connect-by-IP and verify-by-SNI, optional client\ncertificates, and explicit server-side mutual-TLS enforcement. Clients\nload the trust store once rather than once per server name. Client state\nand synchronization reset safely after fork. Send context in\nargs.context and use a reserved outer envelope when a method has its own\ncontext argument, without mutating the caller\u0027s message. Preserve nested\nerror replies and mark new replies explicitly to distinguish errors from\napplication data. A reply that cannot be decoded fails the call without\na retry. Reject incompatible context arguments before sending to an\noriginal peer.\n\nDeclare wire protocol version 1 in an X-RPC-Protocol header on every\nrequest and response. A peer that omits it speaks the original protocol,\nso later versions can negotiate new behavior per peer. Requests to a\npeer recorded with version 0, which speaks only HTTP/1.1, use HTTP/1.1\neven when HTTP/2 is configured.\n\nAllow an optional backend-independent logical service-name template.\nKeep default routing names unchanged.\n\nRoute requests through the configured client proxy, then the target\u0027s\nadvertised reverse proxy, or directly to the backend. Ignore proxy\nsettings in the process environment. Preserve backend routing headers\nand verify TLS against the selected peer\u0027s identity.\n\nSupport both native-thread and Eventlet RPC services. One native asyncio\nloop owns HTTP/2 connections; native callers wait on a native event and\nEventlet callers wait cooperatively. The loop resolves host names on\nnative threads, which an Eventlet hub cannot starve. Keep HTTP/1 clients\non their calling hub, and transfer inbound messages through a bounded\nqueue before dispatch to an Eventlet executor. Reject captured green\nHTTP dependencies in native services without changing the hosting\nprocess\u0027s concurrency model.\n\nPreserve early-cancellation suppression, fork resets, and bounded\nconnection pools. When a caller gives up, an HTTP/2 request that is\nstill waiting for a connection or stream is cancelled and reported as\nnot sent, so another endpoint can take it. A request already written\nfinishes with nobody waiting: httpcore sends no stream reset on\ncancellation, so a cancelled stream would stay counted against the\nserver\u0027s limit and hold flow-control credit. A call\u0027s poll carries the\ntime left when it is sent. The HTTP/2 pool keeps as many idle\nconnections as it can open, which avoids an httpcore bug that closes a\nconnection just assigned to a request. A process-wide workaround for\nhttpcore 1.0 lets each HTTP/2 request see its own response or\nflow-control credit as soon as the connection\u0027s reader receives it,\ninstead of waiting behind requests whose responses have not arrived.\nAnother workaround keeps idle HTTP/2 connections that the server has\nclosed out of use, so a listener restart costs callers no request. Unit\ntests run in the shared Eventlet-patched environment and simulate an\nunpatched process to exercise native-thread paths.\n\nThe driver options live in [oslo_messaging_http]. The HTTP dependencies\nare in the [http] extra so the base installation is unaffected; tox\ninstalls the extra for unit tests and disables Eventlet\u0027s green DNS\nresolver. The release note covers the complete series.\n\nPartial-Implements: blueprint oslo-http-driver\nCo-Authored-By: Xiang Wang \u003cxiang.wang@lycorp.co.jp\u003e\nCo-Authored-By: Yushiro Furukawa \u003cyushiro.furukawa@lycorp.co.jp\u003e\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: Ifd32a0d267152494ca4a1b5baadcc48cbf230037\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\nAssisted-By: OpenAI GPT-6 Astra\nAssisted-By: Anthropic Claude Opus 5.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/be150cfc740aaa3bfa0fbe907fb9a317ffe6c372"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/be150cfc740aaa3bfa0fbe907fb9a317ffe6c372"}]},"branch":"refs/heads/master","description":"Review fixes: HTTP/2 cancellation and stream accounting, two-phase listener stop, rotating registration checks, an httpcore read-lock workaround, refused calls retried until their deadline, HTTP/1.1 for original-driver peers, a fanout sliding window, a native test tier, and shorter subjects"}},"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":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"}},{"label":"Workflow","status":"MAY"},{"label":"Backport-Candidate","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":"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":"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":"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":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
