)]}'
{"id":"openstack%2Foslo.messaging~997471","triplet_id":"openstack%2Foslo.messaging~master~I671a401e7470f59655fd32b5be1f0ac591cbdf77","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-10 11:53:00.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":["http-rpc"],"change_id":"I671a401e7470f59655fd32b5be1f0ac591cbdf77","subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","status":"NEW","created":"2026-07-16 04:10:32.000000000","updated":"2026-09-11 04:35:44.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":6,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"0d6e8c70db916c30d915f59ace90923e3591130f","_number":997471,"virtual_id_number":997471,"owner":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-11 04:35:44.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":{"all":[{"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":"","default_value":0,"optional":true},"Workflow":{"all":[{"_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":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":{"CC":[{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-16 04:13:19.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:42:38.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":"CC"}],"messages":[{"id":"a83d97cf1edb0fdff52d1315b190fd64959a3763","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":"5bb2991a5b8c2c839cc262d59b3119010d5d31d7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 04:13:19.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":"fa054b03b8f45acd8f34d3ce3c59a55033492ad1","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":"4d95ecf1fad216b318e8590f169b070e63601e7f","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":"406fa9d43e82453cd2c9f7147d119ab7b5827dfd","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: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"559b6e49e6b985b3ff42f7ed3df1985eaba70933","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 06:23:43.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/615d892afbd749faabc1dfd5245e3bae\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a052d863bd264571b75091ad76ff1c86 : SUCCESS in 3m 19s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4eb4680a91964896af04c0914fae86fb : FAILURE in 2m 37s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2eae1873e89e4d9d8283956412765e38 : SUCCESS in 1h 12m 31s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/94f2d9b2700143188439063734ee80e7 : SUCCESS in 3m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8bf75fdde5844d05b371f930d76dcfe5 : SUCCESS in 3m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/758699a2ec3147c5819b71f4f9111464 : SUCCESS in 3m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a0f5ab63c33f4956acfab6990ff2884f : SUCCESS in 5m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7d30b46c2789427f8a095eecde3db16a : SUCCESS in 6m 21s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/7b352526d9044732b7ec573422502404 : FAILURE in 5m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/08a2e85ccb034bc88c26d738cee64b88 : SUCCESS in 3m 28s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a0a8aaefc24742afa6911eeadecdcd18 : SUCCESS in 2m 25s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/85b1684420764df2b1f16c66107f918e : SUCCESS in 5m 13s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/2d15fb6a7e56464294eb558da8cbef94 : FAILURE in 4m 24s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/0b8d6f1480a04d22ad1b65e642d5359b : SUCCESS in 1h 08m 07s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/6e339f0b020c40f18bc5459c19c2e528 : SUCCESS in 1h 13m 58s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/9d45795ce577479c865fd5b2bb099595 : SUCCESS in 1h 06m 47s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/b33d4c8393f14bd78414fbc992ed29a0 : SUCCESS in 1h 00m 04s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"8b90a1c92c9c727c8fa28c3855dd6f4cdae17b40","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":"099b0aad9baaf502e2cc7d80c912833dd419ddf7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 10:12:54.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/4be16a60182e41b68599406a302df4ee\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a3d9b9c925cf412b8e8b663902f1333b : SUCCESS in 4m 29s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4b268381316046cbbc353ae1536927d5 : SUCCESS in 3m 38s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/eb5f6f68032e4434b28499f7ffefd815 : SUCCESS in 39m 28s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9c529088b591487d9706fbe62ab53674 : SUCCESS in 3m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d91377e6001a47de80c0c2eb4d7626b3 : SUCCESS in 4m 06s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3bdab21b94df4dd49dca1e2970efdd0e : SUCCESS in 3m 58s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/03afcd84389f42919f967a7e3501d329 : SUCCESS in 4m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/47651dc405054f59ad1f9cfa22a52691 : FAILURE in 6m 53s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/6f107fce3b4c4191b7933a8971fd7b0f : FAILURE in 6m 01s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4d2634896e9a4524a33382793c64325c : SUCCESS in 4m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5f2364dd91cd44b5a304dc534ea47c3d : SUCCESS in 3m 44s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/94596581f6674338a7b47064a5a6c539 : SUCCESS in 6m 39s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/8afa53f2aea14080904504ec817341fa : FAILURE in 5m 42s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/fa5f7f1078f444ac99f445227e08de1c : SUCCESS in 1h 27m 35s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/e92564c0ed9a455098b1b51c5494e7f5 : SUCCESS in 59m 00s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/5de05f949ef24c6c968b678f3b5cfb59 : SUCCESS in 1h 07m 01s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/498ad2d3f409412aa0a13899bc391d96 : SUCCESS in 1h 13m 37s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"103fcf7a6b7b65474399e46f652890cb974b7865","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":"6a01cdc8e8732653667bbd4da64281184d78cea3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 13:19:21.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc76c50b14344a1b89e431877dd0b301\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/60412b20362041f98cf585499950e24a : SUCCESS in 3m 53s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4d199f14bacc464dbdd100bae50f7459 : SUCCESS in 2m 20s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b55199d56a2f4eeaae0611d954cdb447 : SUCCESS in 1h 32m 16s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0e4c11a4cba14a33937cdd595579baed : SUCCESS in 5m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/63f07dc47925455db4e925bc191876e6 : SUCCESS in 3m 40s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e4acd44c7dc844e1bef3a56904ef353a : SUCCESS in 3m 54s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a26f7826bd1a4e69961652facf4ab486 : SUCCESS in 5m 00s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8e4c4b11ca894877afc1ea1b817fdea4 : SUCCESS in 7m 17s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/910a5bb403e84fc784f044edd0d38e52 : FAILURE in 6m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/704f132192064f70ad01ea4a50f12b6e : SUCCESS in 4m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3d669a101912482db275664147783f58 : SUCCESS in 4m 41s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/9a67ef28ce6b43218d4d2f7cbfb9f5bb : SUCCESS in 5m 31s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/5134801c9a3d4d11a9d689eed48519cc : FAILURE in 4m 47s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/afefa66fd75a40d28553074af769e93c : SUCCESS in 1h 20m 37s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/8c812fdc78294de485200b136e4be38a : SUCCESS in 1h 41m 15s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/48f924595842487f8f297df61f208195 : SUCCESS in 1h 02m 36s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/6fe98aa3644b49e2b65d9a0330a6f4b0 : SUCCESS in 39m 21s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"c3432d935fac0c1e4aeaac0269d220710f69c765","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: Patch Set 6 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"de08f895fc80e964d5ab7c46cc12e361f8c6e81a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 18:15:25.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4b7332a8200047ecb12194f446884ba8\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/2539782be8374120972374c3d48a3d1b : SUCCESS in 4m 13s\n- requirements-check https://zuul.opendev.org/t/openstack/build/0c8bcb013c96415e838b1d5ca0c08ce6 : SUCCESS in 3m 26s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ad51c1b2e50f494682116e480f9b09d0 : SUCCESS in 1h 41m 31s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/74592ab903834f62997db20677196155 : SUCCESS in 5m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/962f07200ca2427aac538c5518a39366 : SUCCESS in 4m 07s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/754ec9d3825b461cb4a17b5ce6983dc5 : SUCCESS in 3m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a2c2e16963d44ecf9a86c9fe7f96b408 : SUCCESS in 4m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c0bf6081f56348629c0072bdaf707876 : SUCCESS in 6m 33s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/cc305db0da0a47f88137d4b7f8957cfd : FAILURE in 5m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/18a223386ee945ba9cba08cc65aebef3 : SUCCESS in 3m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/abbfed3dda7f426fb8d06f0c81e01360 : SUCCESS in 4m 52s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/84ee4db8501d4bdb933655e0cc9e5dda : SUCCESS in 5m 42s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/2ce19e36d7b6490f8c8f02ff2b17037d : FAILURE in 5m 29s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/31a49e07b47c4824aaf7c3819379ba4c : SUCCESS in 1h 58m 42s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/77e7fc52b5ad400c8c720d6ed45e9f29 : SUCCESS in 1h 57m 22s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/207f6d5016124ffdb14f53c26767ff11 : SUCCESS in 1h 00m 36s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/aa449c8848354c3388291941722cc224 : SUCCESS in 1h 19m 13s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"bf0417c6b4d1a27e7f284eb933a7521a70049f29","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":"9d3fb077f21685a6bb21cfa21365a520b274f5c7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 20:52:06.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fc3353796edd45f99670da2c4df9fda1\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/c8f247c5fe664601ad420f7884238728 : SUCCESS in 3m 23s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8e027b09e2214d91bd92d6908bb17ef5 : SUCCESS in 2m 30s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9047997ec6f44a50b7f5de7e7dd30c1d : SUCCESS in 1h 32m 19s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8216574f7d4a461f8c9cdb8c20032020 : SUCCESS in 4m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c77ab12694fd4402a945c8b0f7079e49 : SUCCESS in 3m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/fb154f652e794cc89bda228ff368293c : SUCCESS in 3m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7ee5f1ab616f470089605a9e03cd9223 : SUCCESS in 4m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d0ade372a6fe419ba819078c43846ea0 : SUCCESS in 6m 30s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/7823c30ba80545ed8c81e5eba51e1b0f : FAILURE in 7m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1bf4ade079a74ea58669d05aa7aa1dea : SUCCESS in 3m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d105b33d92674dd9b4ac75b25ca2156a : SUCCESS in 4m 05s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/c8b9e10ad6c64bb8b19efafce8c4bfd5 : SUCCESS in 4m 57s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/f26c1f6db9874895a591d7280d862cbb : FAILURE in 5m 07s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/3a2f4c993eb049a39eb49ca88c40e8de : SUCCESS in 1h 49m 46s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/3072216d5acb4ebbaaef8f150aea1eb2 : SUCCESS in 1h 41m 50s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/06e479f52af84db6bf01e59e8731f88e : SUCCESS in 1h 01m 20s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/7d71a114fa1741a1bf6036cac9ac5323 : SUCCESS in 1h 21m 01s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"4baf403c08773c8634aa7a670741b74cf53306a4","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":"97a1c09cbacc3bae0cdc672a012d3c08b4544b37","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 22:38:15.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"1d1ba04a1f1622c4bfc78d47cc958a13f51e611f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 22:38:15.000000000","message":"Patch Set 9: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChanges https://review.opendev.org/c/openstack/oslo.messaging/+/997470, https://review.opendev.org/c/openstack/tooz/+/996961 are needed.","accounts_in_message":[],"_revision_number":9},{"id":"4ebd72e6ad59714f62c00214ec9c5565af505fa8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 00:14:06.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6c98267d5f1e4ca49a73cf0c0fcf4a11\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/312da284ecfc4aacaa62297fb4a2f2ed : SUCCESS in 5m 24s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d005b3d0c23e48a3834866b94856120b : SUCCESS in 2m 07s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/35e28534d6e54c51aa9e24978c4ddc68 : SUCCESS in 1h 27m 37s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1b86e15255e144aa9802ee9659c133b1 : SUCCESS in 4m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d5ab27a42d984e9caeebbf4e5488d1b7 : SUCCESS in 3m 28s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/56925e9a3d2a49f8b93de231ee8cdbf6 : SUCCESS in 5m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/08dba84cf81e4663b8598a21d84ced73 : SUCCESS in 2m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f65123856ced40a8ab5afb3900c75c72 : SUCCESS in 5m 00s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ec7aa92f5e9644738a54047010dae1ed : FAILURE in 3m 43s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9d85042d980b4ad092dfe04395718218 : SUCCESS in 2m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/28a4c76c4da449c8b763391870c39528 : SUCCESS in 2m 23s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/091052c332f64b50ae939d3d0a2de3ce : SUCCESS in 6m 39s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/c6bb6c29e9b04a639b2b18f280d22803 : FAILURE in 5m 02s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/8bd719f68c5f4ee7be3fb3f60aa11167 : SUCCESS in 1h 09m 12s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/fce7a5646ca946c29731a457924b56e0 : SUCCESS in 1h 30m 34s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/c2804b80a35b470090c4540b17bf59a0 : SUCCESS in 1h 01m 27s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/a61a9faaf8304ec0847f3533f8b2952b : SUCCESS in 1h 17m 02s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"6d69d4d6657d8050dbc8bf595fa31ce152a23a52","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-17 02:21:43.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":11},{"id":"5f432b1b5453e3de2da6bdd9d3517850cb5fceea","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 04:55:03.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cbb6c62e3447471a9634732abec80c41\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/71a6baf1f76646308f4e08cdafe5bf27 : SUCCESS in 3m 21s\n- requirements-check https://zuul.opendev.org/t/openstack/build/68c88b0837e8473eb182b6cef1d92e68 : SUCCESS in 3m 08s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/267dcf92c1c346e080dab4f173b1ef1b : SUCCESS in 1h 36m 42s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/dbf15f3a21ea45cbbf0d62f09015230b : SUCCESS in 5m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/529f385b9753408e9a50e2ecd3cc9f14 : SUCCESS in 3m 47s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7382773b2d7f4bd08a89b980605b1829 : SUCCESS in 4m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5b190f408af5408b9a6899b119f51a17 : SUCCESS in 4m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ea4726d5ec2242f58bc50bcabb871767 : SUCCESS in 6m 54s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ed12e6facd4c4cd6bf4e41552c3ca40f : FAILURE in 6m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3c0bd0f5cea84e30891d539b9589e928 : SUCCESS in 4m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/edc79232b23c49d9a08d0ef08f0cd9ea : SUCCESS in 5m 35s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/cb6dea104d5147c9b7b6db669c120f60 : SUCCESS in 5m 24s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/23875129ec744b6b9d9710561e08df01 : FAILURE in 3m 24s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/76b9aa7a5cf84620ad1fcd453fdf5592 : SUCCESS in 56m 45s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/1b8e71e80cd94881a0d894633cb5bf3e : SUCCESS in 1h 42m 50s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/828f9d6afff64b429ea2433d5076b9e4 : SUCCESS in 39m 04s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/75c3fa162519490ab772034fb568d230 : SUCCESS in 1h 05m 25s (non-voting)","accounts_in_message":[],"_revision_number":11},{"id":"e46c2a622ca92cab6cc5485c2d046cb5ac794dc9","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-17 12:43:35.000000000","message":"Uploaded patch set 12.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":12},{"id":"183928e87f845a8b1a3969aeb1279ca93b3daac8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 14:39:05.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88bb202af7774d1da02efc1528210229\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3136e22610654d5c85a800e46c7de589 : SUCCESS in 3m 09s\n- requirements-check https://zuul.opendev.org/t/openstack/build/3dacfae6ce3042738ec1c401f897f246 : SUCCESS in 2m 31s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/53cdaad6f4704fb98942f638eeb39111 : SUCCESS in 1h 27m 08s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/be967167208f4127a798a7ab98b62ad1 : SUCCESS in 5m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fa5bbb49549049bbaef7956a13d79853 : SUCCESS in 4m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/10f0810c71d341aaa3777b06dc224454 : SUCCESS in 4m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4445f78d1d9d49fd8dbe18137f0cf771 : SUCCESS in 4m 03s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c7e3343771fc445d922e0372acfbbc95 : SUCCESS in 9m 20s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/d7eae2df00424b449fc7641c93e20ede : FAILURE in 7m 47s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc3f64e803eb42a687fc61a97bcb47d7 : SUCCESS in 4m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b9b58e99a12746fcba2b51a27e142178 : SUCCESS in 4m 47s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/abe8d233fd1d44878fb40a8d4115979e : SUCCESS in 5m 02s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/0c757bc3f2f34b0f8974c55ff0b92858 : FAILURE in 5m 35s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/29636654869c435295b14702c571d845 : SUCCESS in 1h 14m 35s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/a787a48f742f4738adb9c4100e5fc854 : SUCCESS in 1h 43m 26s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/1d230a4284d44f61beb785dbdcc10354 : SUCCESS in 53m 15s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/2cb2f22bfd1441a088feecfd26ad67c4 : SUCCESS in 1h 24m 43s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"4636be1585c02501c43be698af6e8019b888950e","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 12:\n\nrecheck","accounts_in_message":[],"_revision_number":12},{"id":"1f3fcc62d68a5b4787bb7cc56d6b87e57c4ba650","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 10:33:42.000000000","message":"Patch Set 12:\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4cfd01e761054a98bdb059a2df499fbb\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/10057ca62dbc42928ed79328045e6335 : SUCCESS in 3m 33s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2c536f3ece494e16b488c0dc10cae4bd : SUCCESS in 4m 02s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/4a8541de53bc479d97087c26234ca720 : SUCCESS in 1h 37m 00s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c98dbf3a35a54329b83573f7a9d9ecb2 : SUCCESS in 4m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1663a0390c444d8985d2bf6b2849e23f : SUCCESS in 3m 06s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/330e9abdd05a4e33b7cde4449e40e99e : SUCCESS in 6m 50s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fb97d046782841b9935148c5a39882d8 : SUCCESS in 3m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2f69e5f1ff464639bef7eb559894ec7c : SUCCESS in 6m 28s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/08e99ca7da234dfd8fb9d40149b5a70d : FAILURE in 5m 46s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/895f1fd64c9b41bc85278263f23a85df : SUCCESS in 3m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3db2e745c22248bd8c654db41e06df00 : SUCCESS in 3m 52s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/c6b75e7e49144d5ca25c780492c16aaa : SUCCESS in 4m 56s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/8ac3f6bd73f74a6d8ff6d33e2f32aa13 : FAILURE in 13m 34s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/11f314b1a44c40f3aa3e7b385bce9ebb : SUCCESS in 1h 29m 44s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f7eb8629e40c4d3fb4b8c505870e7761 : SUCCESS in 1h 54m 11s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/eebd4e683de141c2be1d08e2a1f2c6b5 : SUCCESS in 56m 57s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/324f69b2e5cf4fb9bd0565ac4659a26d : SUCCESS in 44m 36s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"9c97487ea322b9eb6ea9eeba3dea6f30faf777d8","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":12},{"id":"b595962a8acacbd9befba5219e594d5b8bb4c2a3","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-07 02:55:11.000000000","message":"Uploaded patch set 13.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":13},{"id":"a69cc4365980ff0b861cb5115a832d790aabf996","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 04:45:56.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d35d006e3864aba92702736e27e6230\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/abea5a8772ca457b8d4828563371550d : SUCCESS in 4m 40s\n- requirements-check https://zuul.opendev.org/t/openstack/build/a9af7d19e4494689a4b5ac8bee307cde : SUCCESS in 2m 30s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f04f2032b72b4e7fb22b86cc57eff28c : SUCCESS in 1h 43m 24s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6b1127342c844b238ae919c614f56150 : SUCCESS in 3m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bea925601ad34c049f0c19f80b96c476 : SUCCESS in 3m 23s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/49daa7238abc4fef94b294fd08856194 : SUCCESS in 6m 05s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/37a5784250d24f2e97b8b090a85cbd6c : SUCCESS in 3m 58s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/000a41d062984f588c5382eb22f41ece : SUCCESS in 8m 54s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/39605a2d0c7b400387a4dd870d8eeddd : FAILURE in 4m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1e0adb96202f4cab9278e2112c7edbec : SUCCESS in 3m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4416ab2854004043bea8ede7c68c1a1a : SUCCESS in 4m 06s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/1afcf6d933b04a85a07ef52737ad459a : SUCCESS in 5m 16s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/05e70c22949b4dec829115ddfa1bbd5e : FAILURE in 4m 28s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/e51e58f8fd4e4730820ab3c8fdeb0e0b : SUCCESS in 1h 39m 38s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/cd5c2f83cb454f24b9006939644a77ef : SUCCESS in 1h 35m 13s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2e7bf70c19b244ba8f79f15139727d8c : SUCCESS in 1h 06m 02s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/1ceafd49f96e45da986b1abcdbd585d2 : SUCCESS in 1h 17m 58s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"78a87ca283397fdc633fe8ca1cb0eb0231ff7e25","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 14.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":14},{"id":"a6f2a0eda74bbe31f90540baf82793dd151b7dca","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 03:35:21.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a3e1ea14640f45c4883434e3b9b27d5e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/fadbf43b9578440598c40dc72c4dd26e : SUCCESS in 2m 41s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c279cb29507945d0907f68c45767db61 : SUCCESS in 2m 08s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7ff60fbf3ef849db9bba4f98fc263524 : SUCCESS in 1h 34m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2f9ae39a0f1a469f96296f2ef900bcde : SUCCESS in 3m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5408a2ee3269492dad83d95c8e54fb56 : SUCCESS in 5m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f8727b693ea44f7c9be875512550abff : SUCCESS in 3m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d6b9bbdafd51445b94452c3154e2c5f3 : SUCCESS in 3m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/46a3afb8fa6546589bdb31c48e747fcd : SUCCESS in 6m 10s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/bc78408b1e3d4b7094fc7db6c7c794e8 : FAILURE in 5m 33s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/378622bb75c54ea79c0ddc6e538c587d : SUCCESS in 3m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6ac763dabd204100a5cb75961c138e93 : SUCCESS in 4m 27s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/6595f19eb5ae47a0a978b6e5d7f71d18 : SUCCESS in 7m 30s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/70bb063708564acb80ac56bf2479a91b : FAILURE in 2m 43s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/faed9b55f0884615813ad4b8f16a6f7a : SUCCESS in 1h 39m 01s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4ebabf72fd8148b280787fcc8b3c72e2 : SUCCESS in 1h 17m 22s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/ae1854f431724afc9a76bdea994dc26e : SUCCESS in 54m 41s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/85a0cc4e5b76441c82c7533b6bf9c6c2 : SUCCESS in 1h 20m 54s (non-voting)","accounts_in_message":[],"_revision_number":14},{"id":"8b17336c28309fead73b64953d6ff1202d6e4b99","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 15.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":15},{"id":"5079e5193f4e514068b2649c736acdd92cdb92a0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 09:57:17.000000000","message":"Patch Set 15: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d1b9e5bcef694047bebd6c8ab7c6a1f4\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/0f6ac14790344ec29ae3ea79624906b5 : SUCCESS in 3m 01s\n- requirements-check https://zuul.opendev.org/t/openstack/build/41fa30483ed440888e80fd6c63ce327a : SUCCESS in 1m 57s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/4790d5cd8f3440268709be4132d3b3f4 : SUCCESS in 1h 40m 59s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/02580935a1b942d8836cb8089662e8bc : SUCCESS in 4m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fdaeece33ccd47b4aa9bb40e323257b7 : SUCCESS in 3m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7af3870df8a04b96930c2c2d0e8aa019 : SUCCESS in 3m 54s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f616414e6d12427e8cf702088892f608 : SUCCESS in 4m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ba5300d6f3df40dfb1b715f0502a20e7 : SUCCESS in 6m 30s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/14855c8e942045b2af14740e9bf53984 : FAILURE in 5m 52s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7db3f39a961b4add80337532fa7a94b7 : SUCCESS in 3m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fc35c698a26e433185140ed708b7aa64 : SUCCESS in 4m 47s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/d3613785c0e0475db3a1c2c3668e7af5 : SUCCESS in 4m 13s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a895a134b8244f4facfefe735d25823c : FAILURE in 11m 34s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/7ff2738f405d411ca5e5e99ba9c55b76 : SUCCESS in 1h 35m 29s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f49863231faa41b080047dcc19573cad : SUCCESS in 1h 35m 51s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/58d35d9d2a684bb1928b5e9ce70c3e21 : SUCCESS in 1h 08m 04s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/01e3e6fa13934d92ac308502bbcbb5c9 : SUCCESS in 47m 46s (non-voting)","accounts_in_message":[],"_revision_number":15},{"id":"5473bf357c8818d8a006abb1b2c2681e832081de","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-16 04:35:35.000000000","message":"Uploaded patch set 16.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":16},{"id":"50ac1a83b7efae9036f6b764ba17e606d6e75ac6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 06:13:55.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ac43fa1eef9e499880e00efa2cec4e93\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/4467124310bf452699b4c652f3067f60 : SUCCESS in 1m 44s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c45b50c9d6b54daea9bb052e293e31d7 : SUCCESS in 3m 35s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/1c4fff441145436386eb4a0498bbb390 : SUCCESS in 1h 31m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b7a380931254420e924e4fc30de4dd5a : SUCCESS in 4m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f9010904eb2f40898b64ec24659c886d : SUCCESS in 3m 07s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2626cf4543ac4eb9a83550578cb858e3 : SUCCESS in 4m 52s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/47d8a0a034f84422aef4853a8b5f8518 : SUCCESS in 4m 10s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b9ab1b2e73a74136bdef1ce6327ac773 : SUCCESS in 4m 38s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5b5bf2e636574c23b89831d224fe6785 : FAILURE in 4m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2e7c724bbe594717b55ff87138ec8174 : SUCCESS in 2m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d1adb0f8ba9c40209e889a407b6f9be3 : SUCCESS in 3m 40s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/98c141024a37442aa70ca0ad8e8dc475 : SUCCESS in 4m 59s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/8c032a73a73a4272817d97a643149a0f : FAILURE in 4m 00s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/b25ca150c74a46d8b34d03604dc0362a : SUCCESS in 1h 05m 49s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/375d7297634e4c748f45674d264f038b : SUCCESS in 1h 28m 24s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/4bef9152d55f4dd480bb484a5d79e423 : SUCCESS in 1h 01m 55s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/d61606aabb2b44b0ad37c73ab041971f : SUCCESS in 42m 06s (non-voting)","accounts_in_message":[],"_revision_number":16},{"id":"418a9dde0420caa90911e5664fbd993ae25d4779","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 17.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":17},{"id":"c11472020cfd3f717daccb6587540be26c97ed5b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 14:00:08.000000000","message":"Patch Set 17: 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/d7b82317ca164f14a7a471a9b5803484\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/305446b2d79a45d5a1549d1aca3bdbff : SUCCESS in 2m 03s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d09d576791144e168ef7131c46037a8c : SUCCESS in 3m 31s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/98c5dfe728164b5bb0fd63df20de29bd : SUCCESS in 51m 10s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/608648488fe4447b8551e701b91d3ad8 : TIMED_OUT in 51m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/840b404810d44c70983856e3bffb864d : SUCCESS in 1m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a3bf255d8398407b8124d6b9b72c860a : SUCCESS in 6m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/096819b3c10e478fb8096d0e72266286 : SUCCESS in 3m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a3124930b549435990e0bf1b68db5f37 : SUCCESS in 8m 50s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b45b40f973e0407a9f8c4b6ffe27fb7c : FAILURE in 5m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3f2362c66e154d2d934647262f39379e : SUCCESS in 3m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9932ec311af747edb19cb4875a612c1f : SUCCESS in 2m 36s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/1a30b245bf864652b9ee6850836f6fab : SUCCESS in 4m 26s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/2d7ee69ccb7a4e20a7da8ba2a2c70bad : FAILURE in 4m 14s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/9a4e6686b00b4be9a0ffb0e390707576 : SUCCESS in 1h 08m 51s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/6d23185902fc4326ba06e6d23212a0a6 : SUCCESS in 58m 50s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/606cb0c9c16342ed9485c2ec6aad61ae : SUCCESS in 1h 03m 28s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/d0e02d2e6942485f8e51210037f94e26 : SUCCESS in 1h 10m 31s (non-voting)","accounts_in_message":[],"_revision_number":17},{"id":"978d6d104006f0cb8c892c9155c2220151856d76","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 18.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":18},{"id":"4c76785b195ba2c9205bcf70fe4e12e6af0ce7dc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 01:02:40.000000000","message":"Patch Set 18: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2a1c3f537a0c45f397e7abe8d2afb33f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/52431d449d7147c689fef9eee6f31fa8 : SUCCESS in 2m 37s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d14ec7bce1354e6eb5d25afb2d5c5271 : SUCCESS in 2m 07s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6eb85101789d4229ae32bda4d1a32a4b : SUCCESS in 41m 48s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7ffa601aaece4b51bd9910637c9f0755 : SUCCESS in 5m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/83a6dedf1ca548aa84b99e1bd3adc2e4 : SUCCESS in 3m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9be1f5e648ca4265b07b0d9543e43572 : SUCCESS in 3m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f4304a4d506848e689ee1e50690d1847 : SUCCESS in 3m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/979eaf0d82564182b7ddaf429b3894a5 : SUCCESS in 3m 50s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/60bb018a0c0b41b691cbecc0881c4436 : FAILURE in 6m 01s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a271092871ec406390c399a09123d276 : SUCCESS in 2m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f488b1e994b246d68369f83437c9545c : SUCCESS in 5m 31s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/45253eb086624de0b77fbf8b7e4c8579 : SUCCESS in 4m 37s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/9affddf0e8454fe8a67e535f790265d6 : FAILURE in 3m 58s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/df052a9192d54a1a979dee72d22f95b6 : SUCCESS in 1h 49m 52s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/ee3216fa218f4cf9af34a28c841e8ea3 : SUCCESS in 1h 11m 32s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/c70804b92cb7408eb736fe9e9de8f8ae : SUCCESS in 1h 08m 05s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/a3f3363347f643ff9c1ed99726da0990 : SUCCESS in 42m 23s (non-voting)","accounts_in_message":[],"_revision_number":18},{"id":"818ad2650d5ee8983d1c279c5f8581b6adad54bf","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 19.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":19},{"id":"2c2f0be526f391745ce1a0cde890718d762208c4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 05:35:35.000000000","message":"Patch Set 19: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/889dfa5982fc407eb0f258940945cc03\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/f648b0dc1aff44ed82338d7e715caff2 : SUCCESS in 2m 14s\n- requirements-check https://zuul.opendev.org/t/openstack/build/0a2688c8cdb54f11b6980dfac595ff25 : SUCCESS in 1m 59s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/801557bd194b430682dfc8083dc875e9 : SUCCESS in 1h 43m 48s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/93cdd852d2f7414c9b195d8771a847b6 : SUCCESS in 6m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1052e5599d2a4407bbadbe6ddb06f942 : SUCCESS in 2m 23s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f5a79d54934c4ac3aad1b895a0891263 : SUCCESS in 3m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/cba27282b5c64c859ecdca065f8e8d42 : SUCCESS in 4m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7fde0557cccf44f0b098dd5a030a1c0f : SUCCESS in 8m 14s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f8e020d75585424494c7f0e72603a879 : FAILURE in 5m 47s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d71c81d90973427fbad2a19c73668e30 : SUCCESS in 4m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a01559072d474345b6f637063017e905 : SUCCESS in 3m 49s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/1dc1dd179d0541d0ad5479ebcac94181 : SUCCESS in 6m 14s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/e804af0b4e36430a81badb426c8c5f8d : FAILURE in 3m 45s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/f5e60c385ee9442a8f1fcd7e3577d81a : SUCCESS in 1h 27m 05s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/d9c3394a71024b0a9892567ac984bba2 : SUCCESS in 1h 10m 36s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/01e8d62b9f41468faefc06cf957c20a2 : SUCCESS in 1h 00m 21s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/6b95d57722d64986baa8ad33e9f5b18e : SUCCESS in 1h 15m 23s (non-voting)","accounts_in_message":[],"_revision_number":19},{"id":"164b17e1f5f49b20bbe16ff59059fd1b5b7358a7","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 20.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":20},{"id":"7f6a010b3b1428e4d3bd1c77cb2abc5a46dd48fe","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 08:24:52.000000000","message":"Patch Set 20: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3c712667fa0749809c6562c12cc7f359\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a7232092ffd7401f81a022817206323c : SUCCESS in 1m 57s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f3fa68850aa9471ea0420334960767e2 : SUCCESS in 2m 23s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a6ab0e6da9c24bf9b6310be1680ac257 : SUCCESS in 49m 56s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d0b08fceb5d54da483e1f21507862940 : SUCCESS in 4m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6bf033a8317e4bdf9b8811e64f4f128a : SUCCESS in 2m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9880de83e83e47f9be4eba4a821d95bd : SUCCESS in 5m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c5bf23528c9b44c5bfd15019caba7a6f : SUCCESS in 2m 59s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b6bf887ac743489e9fe6a77dc9307b31 : SUCCESS in 5m 50s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b5dd3813502641daa9afb8f7be599b54 : FAILURE in 5m 07s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d372f7f461a7421b9009170004f0c548 : SUCCESS in 3m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/df4aeb546e564911853f4cb222d82798 : SUCCESS in 3m 06s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/fa671e39584342efb3057bb2c6152414 : SUCCESS in 4m 25s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/587de820bad44d8abe736613c9748ed5 : FAILURE in 3m 56s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/f302a6817980462e88737a9758710c5e : SUCCESS in 1h 08m 47s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f0b23ac4499540449f2966ed140958a6 : SUCCESS in 1h 40m 11s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/8463533d56d045fca6faeb668cfc11df : SUCCESS in 1h 05m 39s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/30f3d0ef90ee410d9814d9d158ccb0eb : SUCCESS in 1h 17m 32s (non-voting)","accounts_in_message":[],"_revision_number":20},{"id":"d61e9155b98583bf7aa84133ebccede2e5586f22","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 21: Patch Set 20 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":21},{"id":"f5a9f5e3b08c8412a31d8026881e8fadb8aa2135","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 14:13:13.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/228d07d7059e451d8aadb12462702c55\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/2ef25734e2bd47299617616e8c6fb136 : SUCCESS in 2m 52s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d3cae359139f4785bd6a58428a69c2b7 : SUCCESS in 1m 33s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3f5d75ff087042febf6b3832a6fd53c1 : SUCCESS in 43m 48s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7420febae8e84214bdbdd6907fb27cfd : SUCCESS in 4m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e6ca911eba334035b911ad404c401170 : SUCCESS in 3m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d16fd662f5ff4260a62fa910f892cd0d : SUCCESS in 3m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fac6eaf6ba05499288d2dd69378b5742 : SUCCESS in 5m 22s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e1904463410f45beb171a150b4e72e8b : SUCCESS in 8m 09s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/4c790888faff44c1b972458e89864c43 : FAILURE in 7m 03s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e3bdec5f3af146ba84794e9948cf2b02 : SUCCESS in 2m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d17e3606e7f54855b0cb587451410341 : SUCCESS in 5m 27s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/40c89fd7610f4c61b564c679efc2fbc1 : SUCCESS in 6m 20s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/3c9a739576be44298133b9756ca2b426 : FAILURE in 5m 31s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/3e68a50c767c4c66a916049eaba8fabf : SUCCESS in 1h 33m 03s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/b6a115af55b24620aaf74d7f209a17fe : SUCCESS in 2h 15m 27s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/77d2c05945514a3698fb8f8de1b88aea : SUCCESS in 59m 46s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/b1fb6ea08970434f9cf5f3bb0d6cc0a9 : SUCCESS in 38m 16s (non-voting)","accounts_in_message":[],"_revision_number":21},{"id":"afa0ad9c82858b9d5395a1b4f20d722c6849f47d","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 22: Patch Set 21 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":22},{"id":"e6216ad61ad30146669b07710ebcdc02e4f16d7e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 18:34:08.000000000","message":"Patch Set 22: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3b8b4b13cd9b4d6a911cfb6469742c88\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/4d77a79e78144bb68e57f270e5c29436 : SUCCESS in 2m 52s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4137740e5a844207b4baaddebb5d2c22 : SUCCESS in 2m 22s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3883d12e63964f7195482d66eb402ceb : SUCCESS in 1h 39m 34s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e915025b558848de894591a87805f7b4 : SUCCESS in 3m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f345571930cd43a689db4e380761f1db : SUCCESS in 3m 30s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c53a1db984d14eeabaa65754925d1d9c : SUCCESS in 2m 57s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e149a64d23164c2581cd16b5b79bb671 : SUCCESS in 3m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2f49102824bb43eebf3dfe04e0c2cfe9 : SUCCESS in 4m 01s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5f3e36f19e3d4737ae0813576cf9c7fa : FAILURE in 4m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c614a21d705341e1b74ca3bccce0e311 : SUCCESS in 3m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8c39056516ca4c3888c89a6e32de99fc : SUCCESS in 4m 56s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/ed81cd1653214fbdacb97e0dc56e46ec : SUCCESS in 5m 12s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/49b8e18325df438588ebc5a5d0d68d89 : FAILURE in 6m 24s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/93c43fd2db4e4ab69fde02249a0f3fda : SUCCESS in 1h 18m 19s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/78a0ce97a14842efb08b92cd71cfe4a0 : SUCCESS in 1h 03m 58s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/346f4f41e45c4b8daab1f174eb20beb3 : SUCCESS in 50m 29s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/87543e0f1bd045a9b34a6d75e461cc5a : SUCCESS in 37m 43s (non-voting)","accounts_in_message":[],"_revision_number":22},{"id":"0b9a712df8078b201e95a2a12fdfb32cb3265b4c","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 23.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":23},{"id":"e5bbd328b97c3bcaaa4f295ac0457bba63712d6a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 12:02:01.000000000","message":"Patch Set 23: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/75c6bfe4ae094b459cb4f1591be09040\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/07aaf80a747145fb8753f7e61c3c33b2 : SUCCESS in 3m 47s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9e35ceb9440848a08e548ce0110c7d7e : SUCCESS in 2m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/978050792a6e4ac8b64dc9615f19c781 : SUCCESS in 1h 05m 56s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e585876ca833434c988a1307803c8b2e : SUCCESS in 7m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ff90e887f872426382d6a227c6fc667c : SUCCESS in 3m 23s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a40b07e9f48548e78f4b46c8a23d2d40 : SUCCESS in 4m 43s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2e7ecfa6337d4543977f1598347e3727 : SUCCESS in 4m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b5ec7274deeb42ebabcc69621b7e50c1 : SUCCESS in 6m 27s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/9e80680b677b4f86b68e8bcbd7f6cbc3 : FAILURE in 4m 44s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/19de628df32b4dafbbcd8a6256913aa7 : SUCCESS in 3m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e272bd8b331c4dfe951a92a0836a19aa : SUCCESS in 4m 27s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/9fb972001e91409aa00b8e7271d06c0e : SUCCESS in 4m 32s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/a8ec8a195c0e4d578ee52fc50a1f0b07 : FAILURE in 12m 23s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/ff8dff1da67f466583179d92986bb0b5 : SUCCESS in 1h 12m 37s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/e04c2fd8321849e58e6ad84e8b353a3e : SUCCESS in 1h 41m 04s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/1e9addddf4c741d19f9a1f13bd976dc7 : SUCCESS in 1h 05m 19s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/643567d2f86e4242bc201a982c0f757f : SUCCESS in 46m 09s (non-voting)","accounts_in_message":[],"_revision_number":23},{"id":"b8f74fefbedd2776c4fc4e9841ac4103985fe0db","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 24.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":24},{"id":"56c22bfa5e7347d2441e8ead731f4b39a63038c0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 13:11:48.000000000","message":"Patch Set 24: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5654db4d54f94c4a8c9322968d15f5fb\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/66d0fff3a5f8448aaeaba6400634415d : SUCCESS in 2m 48s\n- requirements-check https://zuul.opendev.org/t/openstack/build/92d8dd136aaa4fb7a46f87dae60ddcb8 : SUCCESS in 2m 50s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2f2c4e2479c6483597dee2b64297aba5 : SUCCESS in 1h 41m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ea2c73ca120749cfb3d3a9aab40488b1 : SUCCESS in 2m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d0c1787e2e974ed2b9f2d91ff7a24163 : SUCCESS in 2m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/8d371f1dfb4c4cecbda4e7136db74814 : SUCCESS in 5m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d118ed9f216040e4bb8d36093f21c83b : SUCCESS in 2m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/11ba535ae4684712a25a5d8b44384f16 : SUCCESS in 6m 28s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/0e43682901c745cd9dbdc1c6d6fcb792 : FAILURE in 3m 48s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c684d78e04ec4ea288a2cb0704c024b6 : SUCCESS in 4m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b45cf692c78e48e0a7c1df3d3a08bf61 : SUCCESS in 4m 45s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/96368639afa642d1b91562b43aa3d090 : SUCCESS in 5m 10s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/aca5e0b5b8e94c9ebf5dcfbd9101c28d : FAILURE in 8m 02s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/2cb3ed4a4e3c474a87188414ef79a1c2 : SUCCESS in 1h 34m 00s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/afb1b062f6d34a53815e8823f2bedfef : SUCCESS in 1h 39m 11s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/2ec2a78137f743929ae648b43df0d02e : SUCCESS in 1h 08m 43s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/b7a2afcaf7ac44fe99bc2758d4f86997 : SUCCESS in 1h 24m 11s (non-voting)","accounts_in_message":[],"_revision_number":24},{"id":"3a84089293ffa67c049fd2565feec53b48cdccf9","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 25.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":25},{"id":"e57f20031ed7d213a99224d465f606cb63f16910","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 17:26:16.000000000","message":"Patch Set 25: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e3446735da44b4587b4740a47c2b25f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3a0eed861f5c4fb88ba73a1d651a663f : SUCCESS in 3m 11s\n- requirements-check https://zuul.opendev.org/t/openstack/build/6ac286c133e4454e9fd8e93da733a590 : SUCCESS in 2m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/4768051b40f04c7d8b15593db2de13b3 : SUCCESS in 1h 38m 51s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a08d3bc8125a45e98d1df84a2ffd8b47 : SUCCESS in 4m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bed8f1990182478584c751ca60e3d56d : SUCCESS in 4m 06s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c0c82e1326da41c9bbe053baa9aeaf34 : SUCCESS in 3m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/03be45f8fec34f2db55a50de36cf4621 : SUCCESS in 4m 24s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e4601fbfb54040fdbdb8c1c957763f13 : SUCCESS in 7m 00s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/92ed9df3c96544109c89d9a6a700f05d : FAILURE in 6m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1d5c706f2a3f4c9395d91b869d29b1b3 : SUCCESS in 2m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a436d70990d84157b9c3cfdaca77a0a7 : SUCCESS in 4m 46s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/6bc588671d554cfd928758be5a235341 : SUCCESS in 4m 52s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/bcb6ad7ff5954c8ca47010275d50b99d : FAILURE in 9m 50s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/2b6965f0975742a0a0277c8a3da97259 : SUCCESS in 1h 24m 08s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/6076ded68e01459491e043c446ca785d : FAILURE in 40m 38s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/e541cb1df1284c718eead43e7bbdcb2e : SUCCESS in 1h 08m 49s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/3e360a75cce249b28f0784bcb7395767 : SUCCESS in 1h 23m 45s (non-voting)","accounts_in_message":[],"_revision_number":25},{"id":"0f4b563f1972a238c13a96afb7aa7de771643502","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 26: Patch Set 25 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":26},{"id":"adff00b951ef654a6df2cd9e02025f014fa41c74","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 01:46:02.000000000","message":"Patch Set 26: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d06ad75696984d0fa2f1a1406e6fc47d\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/27ffd6abba0e4337ba009708d48ddc9c : SUCCESS in 2m 10s\n- requirements-check https://zuul.opendev.org/t/openstack/build/9d8cfbd3303e4b91a75670b5d1637e1b : SUCCESS in 2m 09s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7b40005c4e6c4256801e5f9d9ca7be98 : SUCCESS in 1h 31m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c1a2227e770b41709a7939717eb90ed2 : SUCCESS in 2m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/35a3c864cf3342709f0864fe51ec376a : SUCCESS in 2m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c62ee4c75aa54aeb8dc173821fb37988 : SUCCESS in 2m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8297074277b346eaa93965381e4aef76 : SUCCESS in 4m 17s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/878073bc6acb46c38c624ce1d3b29bf1 : SUCCESS in 5m 58s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/8f6f009a2362408b93948867bf0ab06c : FAILURE in 3m 50s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4314201b984545539b614c5f29b5d0d5 : SUCCESS in 4m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d720c4e91a7a4db68ffff6c6e3f975e1 : SUCCESS in 5m 21s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/fd0cb997552b4140a1224adff0a19cd4 : SUCCESS in 4m 33s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/2afb4dfcee8245bca3e8fb47d60ed522 : FAILURE in 10m 16s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/c1b3fa6ecbf34bf28a1c08a8998708e0 : SUCCESS in 1h 16m 59s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/820d61f4d51a4a96afdd44aa0845cc2f : SUCCESS in 1h 03m 39s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/66da4decb7ec4e2a9ae1f2b8803eed7d : SUCCESS in 1h 04m 09s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/640be8aedd70437f89e1b266bdc5bba4 : SUCCESS in 1h 22m 29s (non-voting)","accounts_in_message":[],"_revision_number":26},{"id":"cf6683afa72bd073edce6876201a98c01830ac95","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 27.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":27},{"id":"83ca9b66399e3f988a5649333f6dbdf95a336880","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-06 10:52:41.000000000","message":"Patch Set 27: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/45e31cc64fdd4a3294472bdc23783582\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d23d94d2970f4eed9ce7adddd3d406c9 : SUCCESS in 3m 20s\n- requirements-check https://zuul.opendev.org/t/openstack/build/82e35a3a687f4d9496ad579b5f0fc063 : SUCCESS in 2m 34s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0a6fc39a115b4854a56c1bb51f4395e0 : SUCCESS in 1h 28m 33s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f5fa16cb8f8f4a77a3805dea5d5c08de : SUCCESS in 4m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ce113cdff4c54503941e6a0f4dc22548 : SUCCESS in 3m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/0d2fcefb5afa4b69975d666044f37920 : SUCCESS in 3m 41s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/22a94a27d1fd48daab13e7dd156cad70 : SUCCESS in 2m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d8fd861a2e2c489b8076ee4d7f7ea7cf : SUCCESS in 6m 39s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/e98f12a7cb7e420a9008cbd7c64405a4 : FAILURE in 6m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a4d0eba5b5654c788aee768a3f4cda71 : SUCCESS in 3m 50s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bb9f9e6ff6764e55b59265f9cf92204c : SUCCESS in 2m 22s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/d0d9425dc17b490f80e2812aa5ba950d : SUCCESS in 4m 03s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/ff6e8334d637485b80462adfba0837fd : FAILURE in 4m 55s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/749ff4b281f14733876a7fa258dcabda : SUCCESS in 1h 40m 07s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/67335e243b664068a345b0472f0f10c5 : SUCCESS in 1h 22m 46s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/a9d54522311e4145bd48a8676715de6e : SUCCESS in 1h 06m 56s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/d3a675dce49b4eaf84c639c8f20ea71e : SUCCESS in 42m 22s (non-voting)","accounts_in_message":[],"_revision_number":27},{"id":"90e6c2b3ab80f7fed24e25f5e777dee92c4f7227","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 28.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":28},{"id":"af67524677f58a1ba5984c3720c789d597549eaa","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-07 00:41:10.000000000","message":"Patch Set 28: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e985af6ae28142df935e1269ba64bb7c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/72df91cbd1bb4f7b87b4e4e763511a92 : SUCCESS in 2m 45s\n- requirements-check https://zuul.opendev.org/t/openstack/build/6b52ad9c87334bad90b8401c0fb46452 : SUCCESS in 2m 55s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/07bdeacbe8e64eb7801ae08922a050e7 : SUCCESS in 1h 31m 27s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b86e5203ee5242bb9cbb4b6cdc50d2a4 : SUCCESS in 4m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/004eba796c634381bd454cbf29c9c37e : SUCCESS in 3m 04s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/55c74eabe4cc4bf69b136044025819f1 : SUCCESS in 4m 20s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7ca16a9eb8684b99a800e2a7ce967357 : SUCCESS in 5m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d1e484603bac47f2933ff572b80b7247 : SUCCESS in 7m 21s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f00fefa74b0f49019ea8d75d0fd3814d : FAILURE in 6m 22s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c72112f3465b428aa0ff8ed8b6a2d157 : SUCCESS in 3m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c1612521653949d3b056d791e3acc9a3 : SUCCESS in 4m 04s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/7ba4aa476a3d43c89d59fa5a6f3a8920 : SUCCESS in 5m 12s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/7fc8dc15b9964938ada826e6a50637c4 : FAILURE in 6m 04s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/a041d54edd5c4edb81cefca9ed7455f7 : SUCCESS in 1h 46m 56s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4ef62ab86ab64ff6a1ab358bd47511e2 : SUCCESS in 1h 33m 13s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/ad6383605e854f98b2690ffc5c845c69 : SUCCESS in 50m 23s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/e6e56570af10486cb75af6e24d2ac2c9 : SUCCESS in 1h 11m 00s (non-voting)","accounts_in_message":[],"_revision_number":28},{"id":"3d0b6003d5cd998eefcb414d0554b36fcd00401f","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 29: Patch Set 28 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":29},{"id":"c978f517c51ff98584c74fda012eec52cb81ef71","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-07 03:29:09.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/09d23b7aa4c44f7e82aa55a29716d956\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/aacb205940b742ab86967d991f1751b0 : SUCCESS in 3m 56s\n- requirements-check https://zuul.opendev.org/t/openstack/build/50db99eec7694ad6a3e44efdd9630d19 : SUCCESS in 2m 56s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8faf242c9e03415cba8edea32afbd902 : SUCCESS in 1h 35m 53s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a639b2b1346f416ca515fe31c22e364d : SUCCESS in 5m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ea4b943090d48be940c39ab6f997727 : SUCCESS in 3m 58s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e4e2b1e627454dec9c12343ec26925eb : SUCCESS in 6m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/76ff6ea820e246b1bbab07ef7d8ac360 : SUCCESS in 3m 36s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c99de0194e174cc5bed1b85db83ef592 : SUCCESS in 8m 37s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c2baafe020404e84a64f7487ae0c17aa : FAILURE in 6m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/32757d200d574b85a492b1eaf9ff0eca : SUCCESS in 3m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d5fc5d36e86643afb8549781c0f2d55a : SUCCESS in 3m 59s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/a5183e13ad4e4ed49891a4163599a965 : SUCCESS in 5m 07s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/25a062fcc00346f0b58955af351dfe83 : FAILURE in 4m 32s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/4b8a1fe39e1e48d19fab12ba6339cfce : SUCCESS in 1h 37m 49s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/9eb0868d4e12437697766f30fb026af7 : SUCCESS in 1h 44m 44s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/67678395cf294affa5bada5bd5c13b0d : SUCCESS in 54m 59s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/0c46aaaf08964e828b6adbd352497171 : SUCCESS in 1h 19m 01s (non-voting)","accounts_in_message":[],"_revision_number":29},{"id":"904981cd3dcc1265cfb42c91411a9e50b2388f48","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-08 16:42:38.000000000","message":"Patch Set 29:\n\n(4 comments)\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":29},{"id":"8f6013d90224674b9a9466f633304c05ef5876c9","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 30.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":30},{"id":"25799c63537a34762e1df131de6322a4bfe5f316","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 20:44:11.000000000","message":"Patch Set 30: 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/e5378a1d48354cf58c0d72553c240157\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ae5fdb356ecf465c81d32c85cedbb29a : SUCCESS in 3m 25s\n- requirements-check https://zuul.opendev.org/t/openstack/build/74544dc7fa53451eb5928284e2293fc2 : SUCCESS in 2m 33s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f3b753a089754f7bac88c1fe8333a9f2 : SUCCESS in 1h 42m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8f6361a2713c400289def57c7604a63f : SUCCESS in 8m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e45d426d2b8845efb29e090f806a8fce : SUCCESS in 3m 44s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a264c53f9b6f43d8900b6a7b383c7edd : SUCCESS in 4m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8a1acfe529b34664a9a586d4d9cb4c8e : SUCCESS in 4m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9062cf9f77bb4e5fa70493c4da744de9 : SUCCESS in 11m 12s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c43d0c20da05455ab585726c168c0954 : FAILURE in 10m 33s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eff95756491a42edbc74bf619e4f9e67 : SUCCESS in 3m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0dbfc595887943998d522fb5dd21dbe6 : SUCCESS in 4m 13s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/852e75d30cae487882a940870b024fa1 : SUCCESS in 4m 41s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/283389a3fc3740b18bd98a7926b65ea4 : FAILURE in 4m 42s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/ef621deb88a64dc0b542ffcd722126ca : FAILURE in 46m 18s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/f07041d957244923aef409c5a3c8d949 : SUCCESS in 1h 41m 37s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/ff4fb293c5fe472dbf778c8bf9a3174d : SUCCESS in 1h 07m 35s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/8f3a7d96f9684fdb9ae15c51216d761d : SUCCESS in 1h 21m 40s (non-voting)","accounts_in_message":[],"_revision_number":30},{"id":"71613d4ea776dbab532dee9c24aaa8b4a4d5ce29","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-08 20:59:19.000000000","message":"Patch Set 30:\n\nrecheck","accounts_in_message":[],"_revision_number":30},{"id":"8bf75baa833129b54d19201920f7328f8898558c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 22:51:20.000000000","message":"Patch Set 30: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8f87483fd744063a9cefaf2d18e8d9b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/619c44269b4a410e872d58256e4824ff : SUCCESS in 2m 54s\n- requirements-check https://zuul.opendev.org/t/openstack/build/45f76f2ee4d043d6ab5c9986d3051e71 : SUCCESS in 2m 48s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/4970889edc5641b4b38c7ce3e739e458 : SUCCESS in 42m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f6d3349bdc55485baca3ab5dfa4e2c97 : SUCCESS in 6m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3d1b1e4388e34c36a7c67ad35709d468 : SUCCESS in 3m 26s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/420636f99eba40a89bee0968c862a18f : SUCCESS in 3m 26s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c2652683f9e84ff6822bc0a27acb5a96 : SUCCESS in 3m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b105c29708134216a687dd0ea08fe54d : SUCCESS in 6m 58s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/2a321e7368f94725a986e31651e74b1b : FAILURE in 7m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8af5ac48b3df46d78725e2af858a81df : SUCCESS in 3m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3e40f4a38bc246c59b2ab02afe7f3ae7 : SUCCESS in 6m 22s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/6abaa8e8e6a24926b3958b4dddd14bf5 : SUCCESS in 4m 54s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/9b27f4dbcb19413e9761e294c400443d : FAILURE in 6m 02s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/f490ef8d64d24e3ea4dfa440ef990e89 : SUCCESS in 1h 40m 41s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/70ad63c64ec545c1a4ed2254692d5934 : SUCCESS in 1h 23m 20s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/18c8dc70f7e2473eb1f7ee312a1c3af9 : FAILURE in 18m 09s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/c7c5eed6a7564255ae8fa6c0bacc887b : SUCCESS in 36m 15s (non-voting)","accounts_in_message":[],"_revision_number":30},{"id":"f58265d49c01f90fb22d4e54b87267a94a217ed8","author":{"_account_id":33451,"name":"Yushiro Furukawa","display_name":"Yushiro Furukawa","email":"yushiro.furukawa@lycorp.co.jp","username":"yushiro2"},"date":"2026-09-09 13:44:18.000000000","message":"Patch Set 30:\n\n(2 comments)","accounts_in_message":[],"_revision_number":30},{"id":"a8a03ed388058242f4756e8200d1ec7fff748ea1","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 31: New patch set was added with same tree, parent tree, and commit message as Patch Set 30.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":31},{"id":"7759ca387d300a762870087bc9f46976959c4bcb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 17:45:18.000000000","message":"Patch Set 31: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a977ffd8d70c480fbbe1a69a45d21fba\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/dfc28b30c7a64117bfba9501ce0695ca : SUCCESS in 4m 48s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d9c4cc80f30c40f2912f0057016fb608 : SUCCESS in 3m 00s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f385e5ddb1744feb8525cad529316f44 : SUCCESS in 1h 31m 45s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6d42e4560d134cecbce5e78cc712d782 : SUCCESS in 6m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/80a05f2cb79c400fac7009d21dc2a98c : SUCCESS in 3m 44s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2f7ec8af9f374d859b28b0ae4c58f3b0 : SUCCESS in 4m 32s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/692842a9e79f487e9bf51816f9a97149 : SUCCESS in 6m 29s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4813c9c82ca6459ca96e9c99f7711566 : SUCCESS in 8m 13s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/085ed162c1ce4123973a2dca13987570 : FAILURE in 8m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1874826b652149488ea835be5f8cd91e : SUCCESS in 4m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0e93fc9cf09b4d2fb0883211c707799d : SUCCESS in 4m 46s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/aa0e5310623043a4a66b8740c9900aaf : SUCCESS in 5m 11s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/6f59377804be4a13b61a1f2c084d67b4 : FAILURE in 7m 53s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/48c36184054a4440a8dda409f4148cc2 : SUCCESS in 1h 46m 23s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4997d49069b444888c1e067e1aa506c8 : SUCCESS in 1h 32m 54s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/4fb73914efe24f89a3b0756c5fc976f1 : SUCCESS in 1h 16m 09s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/1246c2af65564589b22d4f88173c0582 : SUCCESS in 53m 25s (non-voting)","accounts_in_message":[],"_revision_number":31},{"id":"d1fe1e053ccd3742ff3bf7d81cef8da47699cf86","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 32: Commit message was updated.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":32},{"id":"200628cfa88b4a31e303c2d45113bac55ffb016c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-09 20:54:32.000000000","message":"Patch Set 32: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3ce5be024bd94e3d8a8fe9398d93383f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/4d0664d4a03d4857813d2e78aa72f2f8 : SUCCESS in 3m 04s\n- requirements-check https://zuul.opendev.org/t/openstack/build/66e8d1b64b3b476c93b2587aff688028 : SUCCESS in 3m 28s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7f5fa2211dad4354b81c0639dc33a3ba : SUCCESS in 48m 34s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/61022da148944473a48b8277d42d16ec : SUCCESS in 4m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cb1b6a77ddff478e920bbbb8bd062385 : SUCCESS in 3m 39s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/392a959ea71248658bba1256243c4007 : SUCCESS in 3m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/313c6c9b453d4e659911025a8f0fb35c : SUCCESS in 3m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4cf843714a6f46749661e3ecc95340b7 : SUCCESS in 6m 36s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f2e1de26204448d79092cfa8d0e331d0 : FAILURE in 6m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/af5969dd6e7a4bb3a47f6660d177e91f : SUCCESS in 2m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1173a81b7fc14796848895489e54b90d : SUCCESS in 5m 31s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/9d55e88c133445aea72d6b476e242a0e : SUCCESS in 5m 00s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/436974d9c8394d668998817a2adecc30 : FAILURE in 12m 06s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/bad0adbcc8e74e06838d4d53c4d057be : SUCCESS in 2h 08m 08s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/4a59fb968c664584ba56d8c302d3c43c : SUCCESS in 1h 47m 23s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/d75028ebc47f449caf9c7ff4f7bd21a4 : SUCCESS in 1h 08m 47s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/0d8abf8e66e24430be1e6cb424cb01e4 : SUCCESS in 1h 13m 50s (non-voting)","accounts_in_message":[],"_revision_number":32},{"id":"f1333efd72204c6a7b5bff4df483c4d950c7a59d","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 33.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":33},{"id":"a5abd92da860dedf7b9b11aa2d256caa70560596","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-10 11:53:00.000000000","message":"Patch Set 33: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/tooz/+/997145 is needed.","accounts_in_message":[],"_revision_number":33},{"id":"b20f8fa64b3a016b0497bc5604e88705abf4fbec","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 34.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":34},{"id":"475ca680ad552016e06e8c6e463311e41503060f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-10 13:44:13.000000000","message":"Patch Set 34: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fb2f23ce61414afeb43e43c3bd31e477\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/adcca9b9afb54b129f1c169e199ba544 : SUCCESS in 3m 03s\n- requirements-check https://zuul.opendev.org/t/openstack/build/28f53895bcb347eba9008cb81dc08932 : SUCCESS in 2m 30s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6886c98765834bdfa21dc5746b5b6126 : SUCCESS in 1h 35m 37s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2e4e485f86894d918b6cb21e930280e0 : SUCCESS in 4m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3a7a30a4e35d46dea26cc63ebcd8f3c2 : SUCCESS in 3m 28s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/fd69d9d0beed4194bd6c50eebc7a7a68 : SUCCESS in 4m 19s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f408c78b26624818b5ed2abd70904f51 : SUCCESS in 6m 05s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0d30ce9e26424a1b8e584ede3885eebb : SUCCESS in 7m 42s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/5b5fccdca21d462c89474a696d3016a8 : FAILURE in 6m 33s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c7a46dcead0e4ec081ff391a0be03e00 : SUCCESS in 2m 55s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/730502e33dc447039bbd0af8d6ac30ec : SUCCESS in 2m 30s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/1121391397e74db7bcb5e8b12b532227 : SUCCESS in 5m 37s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/9e83299b422b4981863d4b61d76c4335 : FAILURE in 8m 58s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/aa1345b6f2404052a00f7c4520b13313 : SUCCESS in 1h 41m 46s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/ce25826f4a184bc3b7f04ad898990d09 : SUCCESS in 1h 09m 11s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/8ae1b286083e4deaa4ab948716738d88 : SUCCESS in 33m 19s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/3c07bff65f654c7b81c2554fe56672cd : SUCCESS in 1h 22m 48s (non-voting)","accounts_in_message":[],"_revision_number":34},{"id":"1c6c05de52419fb69581aa0a8a86a46ca7162f39","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-11 02:38:12.000000000","message":"Uploaded patch set 35.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":35},{"id":"0d6e8c70db916c30d915f59ace90923e3591130f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 04:35:44.000000000","message":"Patch Set 35: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/27d773804dbc4fdda983a7a18c74b28f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ec62c31abace4d51af08be587dcd79ec : SUCCESS in 3m 17s\n- requirements-check https://zuul.opendev.org/t/openstack/build/bb61354acff44b068aeeb1066f0534c4 : SUCCESS in 2m 14s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9757ba1c7d4a44659d52137636032997 : SUCCESS in 1h 32m 01s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/68a24ad3ea844490b897419212a864c1 : SUCCESS in 4m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/249b5a0007504dfe8de27da44a3aea37 : SUCCESS in 2m 56s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4a32e84e4c1b4f77a9b2a9e2f81ae0d6 : SUCCESS in 5m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/60ee2d29e732493bbb87296da3e42e64 : SUCCESS in 5m 21s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f18f06a503714ba18b90fdc53e75e81b : SUCCESS in 5m 38s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/636dacffefbc4371b1e713cde80a97a4 : FAILURE in 4m 09s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/999dea2dc04b4453af890f3342c34fc7 : SUCCESS in 3m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/14802318d3974f789169bec233caa96f : SUCCESS in 4m 49s\n- oslo.messaging-tox-py311-func-scenario01 https://zuul.opendev.org/t/openstack/build/61a646fdef374fa1aff0f401de7db8d7 : SUCCESS in 5m 27s\n- oslo.messaging-tox-py311-func-scenario02 https://zuul.opendev.org/t/openstack/build/cf1230a8137141d7b1b2c2f3bb3da824 : FAILURE in 4m 59s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/4d77853fe5b7457885b58c5b4ef4bfbe : SUCCESS in 1h 08m 41s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/fdf38942bfd94e08a2ef412b8b507a1f : SUCCESS in 1h 22m 45s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/26083b85850f4c4ca120b55f7a26bfa5 : SUCCESS in 1h 13m 44s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/fe876e56ae9842babd95ad8aa83d4df4 : SUCCESS in 1h 20m 03s (non-voting)","accounts_in_message":[],"_revision_number":35}],"current_revision_number":35,"current_revision":"06e278a6760ec8b5da2509faa56bfa18bf434f01","revisions":{"6bbe5cce7a82361e1fbe823de4ed13d6a3e0a24e":{"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/71/997471/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/1"}}},"commit":{"parents":[{"commit":"a38c3cc349353c032770ba25e79c31072677090e","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a38c3cc349353c032770ba25e79c31072677090e"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 02:53:52.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/6bbe5cce7a82361e1fbe823de4ed13d6a3e0a24e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/6bbe5cce7a82361e1fbe823de4ed13d6a3e0a24e"}]},"branch":"refs/heads/master"},"b98aab08bbac27acd659dbbf223de0490f8df1e8":{"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/71/997471/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/2"}}},"commit":{"parents":[{"commit":"d2a2725e6c3f5ccc018add4a4e0359bef003b430","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d2a2725e6c3f5ccc018add4a4e0359bef003b430"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 04:15:34.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/b98aab08bbac27acd659dbbf223de0490f8df1e8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b98aab08bbac27acd659dbbf223de0490f8df1e8"}]},"branch":"refs/heads/master"},"7223fcb6ed7d564ea7d0504a3a2dde6e24d678ff":{"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/71/997471/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/3"}}},"commit":{"parents":[{"commit":"b85cb4a14fb4ce5ffdb25a77fec0dc4e544442db","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b85cb4a14fb4ce5ffdb25a77fec0dc4e544442db"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 04:28:18.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/7223fcb6ed7d564ea7d0504a3a2dde6e24d678ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7223fcb6ed7d564ea7d0504a3a2dde6e24d678ff"}]},"branch":"refs/heads/master"},"47f2b830da20368d4d6da26cd8d51a0ac6e3e7a9":{"kind":"TRIVIAL_REBASE","_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/71/997471/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/4"}}},"commit":{"parents":[{"commit":"b2b7d631385490c2d23a32a0f77b90fe34d83b3c","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b2b7d631385490c2d23a32a0f77b90fe34d83b3c"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 05:01:23.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/47f2b830da20368d4d6da26cd8d51a0ac6e3e7a9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/47f2b830da20368d4d6da26cd8d51a0ac6e3e7a9"}]},"branch":"refs/heads/master"},"92cdcc97a0f5c018e9224b5c54ef94c3ed4e7195":{"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/71/997471/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/5"}}},"commit":{"parents":[{"commit":"d49ac4f98cac718e851cf13f937b629c6c4cc518","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d49ac4f98cac718e851cf13f937b629c6c4cc518"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 07:41:00.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/92cdcc97a0f5c018e9224b5c54ef94c3ed4e7195"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/92cdcc97a0f5c018e9224b5c54ef94c3ed4e7195"}]},"branch":"refs/heads/master"},"00dba4d0901fde82f896140da873fc200792d179":{"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/71/997471/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/6"}}},"commit":{"parents":[{"commit":"ec46812c208f2f8be5024e8a95ae46861caf6c30","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ec46812c208f2f8be5024e8a95ae46861caf6c30"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 10:59:30.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/00dba4d0901fde82f896140da873fc200792d179"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/00dba4d0901fde82f896140da873fc200792d179"}]},"branch":"refs/heads/master"},"73785637d490488c9c8e75a2b0096d3efa1b2cad":{"kind":"TRIVIAL_REBASE","_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/71/997471/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/7"}}},"commit":{"parents":[{"commit":"0861406b6e1472fa2b226de63b68a0cf468c799c","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/0861406b6e1472fa2b226de63b68a0cf468c799c"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 15:49:20.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/73785637d490488c9c8e75a2b0096d3efa1b2cad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/73785637d490488c9c8e75a2b0096d3efa1b2cad"}]},"branch":"refs/heads/master"},"463f8462c7d9a3c5fcec4e241b4631f201014c2e":{"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/71/997471/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/8"}}},"commit":{"parents":[{"commit":"3a3d5952f3e09f31b55c1bed4d19edf9e0594ef9","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3a3d5952f3e09f31b55c1bed4d19edf9e0594ef9"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 18:48:01.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/463f8462c7d9a3c5fcec4e241b4631f201014c2e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/463f8462c7d9a3c5fcec4e241b4631f201014c2e"}]},"branch":"refs/heads/master"},"09b6c44cdb481fc966858e37ffd3de666badc134":{"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/71/997471/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/9"}}},"commit":{"parents":[{"commit":"8cc0eaf5527fb5d045686ae0398c0dbe503b510b","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 21:36:26.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/09b6c44cdb481fc966858e37ffd3de666badc134"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/09b6c44cdb481fc966858e37ffd3de666badc134"}]},"branch":"refs/heads/master"},"7a81780d9810846ace7470fa92c16f0d80245650":{"kind":"REWORK","_number":10,"created":"2026-07-16 22:38:15.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/10"}}},"commit":{"parents":[{"commit":"8cc0eaf5527fb5d045686ae0398c0dbe503b510b","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 22:33:53.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/7a81780d9810846ace7470fa92c16f0d80245650"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7a81780d9810846ace7470fa92c16f0d80245650"}]},"branch":"refs/heads/master"},"f3d8b12828e0754d81fdd82f74cfc28370a3b06f":{"kind":"REWORK","_number":11,"created":"2026-07-17 02:21:43.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/11"}}},"commit":{"parents":[{"commit":"8cc0eaf5527fb5d045686ae0398c0dbe503b510b","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-17 00:39:41.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/f3d8b12828e0754d81fdd82f74cfc28370a3b06f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f3d8b12828e0754d81fdd82f74cfc28370a3b06f"}]},"branch":"refs/heads/master"},"5cc1a1a795366c9bee8df62a3ee5de2705dfc8c0":{"kind":"REWORK","_number":12,"created":"2026-07-17 12:43:35.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/12"}}},"commit":{"parents":[{"commit":"8cc0eaf5527fb5d045686ae0398c0dbe503b510b","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-17 12:43:17.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/5cc1a1a795366c9bee8df62a3ee5de2705dfc8c0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/5cc1a1a795366c9bee8df62a3ee5de2705dfc8c0"}]},"branch":"refs/heads/master"},"37aa29c5ddd34d38de7ba5fad43d9a20f5bad4a7":{"kind":"REWORK","_number":13,"created":"2026-08-07 02:55:11.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/13"}}},"commit":{"parents":[{"commit":"8cc0eaf5527fb5d045686ae0398c0dbe503b510b","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8cc0eaf5527fb5d045686ae0398c0dbe503b510b"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-15 16:51:38.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-07 02:49:58.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, redis,\nconsul, Kubernetes, and file backends. The ToozServiceBroker registers\neach listener as a group member with its endpoint and server-hostname\ncapabilities, and resolves RPC targets (including directed RPC) by\nquerying live group members. It is process-global with fork detection so\ncotyledon-style workers each rebuild their own coordinator, uses a\nbackground heartbeat thread, caches lookups for cache_max_age seconds,\nand performs a single batched get_members_with_capabilities fetch to\navoid N+1 queries.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using a thread-local httpx\nclient (avoiding cross-hub greenlet errors) and batched parallel\ndelivery. The broadcaster forces the threading oslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/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\nGenerated-By: Anthropic Claude Opus 4.6 (via OpenCode agent)\nChange-Id: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/37aa29c5ddd34d38de7ba5fad43d9a20f5bad4a7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/37aa29c5ddd34d38de7ba5fad43d9a20f5bad4a7"}]},"branch":"refs/heads/master"},"c08e615826df356edb00ea4e690acb37828e3f22":{"kind":"REWORK","_number":14,"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/71/997471/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/14"}}},"commit":{"parents":[{"commit":"ca6c4cefdc8c04d47a503bb2bd252d48ed2c8634","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ca6c4cefdc8c04d47a503bb2bd252d48ed2c8634"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, Redis,\nConsul, and file backends. The ToozServiceBroker registers each listener\nas a group member with its endpoint and server-hostname capabilities, and\nresolves RPC targets (including directed RPC) by querying live group\nmembers. It is process-global with fork detection so cotyledon-style\nworkers each rebuild their own coordinator, asks tooz to maintain its\nheartbeat without a second broker-managed heartbeat thread, caches\nlookups for cache_max_age seconds, and performs a single batched\nget_members_with_capabilities fetch to avoid N+1 queries. Reconnecting a\ncoordinator restores every existing listener registration before use.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using the HTTPClient\u0027s\nnative-threading shared pool (with per-hub confinement if used under\neventlet) and batched parallel delivery. Pre-handoff connection failures\nuse bounded retries while the stable message ID is retained; ambiguous\nfailures are not replayed. The broadcaster forces the threading\noslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/c08e615826df356edb00ea4e690acb37828e3f22"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/c08e615826df356edb00ea4e690acb37828e3f22"}]},"branch":"refs/heads/master"},"b73dbe65c26487e8f832b8487ccc35e3b3fe31db":{"kind":"REWORK","_number":15,"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/71/997471/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/15"}}},"commit":{"parents":[{"commit":"801a31c74a7fd3289b3e3bde93fbc56b8c58bae9","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/801a31c74a7fd3289b3e3bde93fbc56b8c58bae9"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdds service discovery and fanout relay to the HTTP-RPC driver.\n\nService discovery uses the tooz coordination library, giving operators a\nsingle ``coordination_url`` option that supports memcached, etcd3, Redis,\nConsul, and file backends. The ToozServiceBroker registers each listener\nas a group member with its endpoint and server-hostname capabilities, and\nresolves RPC targets (including directed RPC) by querying live group\nmembers. It is process-global with fork detection so cotyledon-style\nworkers each rebuild their own coordinator, asks tooz to maintain its\nheartbeat without a second broker-managed heartbeat thread, caches\nlookups for cache_max_age seconds, and performs a single batched\nget_members_with_capabilities fetch to avoid N+1 queries. Reconnecting a\ncoordinator restores every existing listener registration before use.\n\nFanout is handled by a standalone oslo-messaging-broadcaster service that\nregisters under the \"fanout\" name. The FanoutHandler relays each fanout\ncast to all subscribers of the target topic using the HTTPClient\u0027s\nnative-threading shared pool (with per-hub confinement if used under\neventlet) and batched parallel delivery. Pre-handoff connection failures\nuse bounded retries while the stable message ID is retained; ambiguous\nfailures are not replayed. The broadcaster forces the threading\noslo.service backend.\n\nHTTPDriver now instantiates ToozServiceBroker directly. Adds the\noslo-messaging-broadcaster console script and tooz to the [http] extra.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/b73dbe65c26487e8f832b8487ccc35e3b3fe31db"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/b73dbe65c26487e8f832b8487ccc35e3b3fe31db"}]},"branch":"refs/heads/master"},"26da2d8b43aac251f5ebea365e87d60987351efb":{"kind":"REWORK","_number":16,"created":"2026-08-16 04:35:35.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/16"}}},"commit":{"parents":[{"commit":"801a31c74a7fd3289b3e3bde93fbc56b8c58bae9","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/801a31c74a7fd3289b3e3bde93fbc56b8c58bae9"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-16 02:46:31.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay\nto the HTTP-RPC driver. Each broker owns its coordinators, detects forks,\nand uses one primary heartbeat thread in the normal case. An additional\nlistener in the same group gets a distinct coordinator and member ID.\n\nKeep support for memcached, etcd3, Redis, and file backends through\ncoordination_url. When that option is unset, use the established\n[oslo_messaging_http_consul] options and Consul catalog schema. Translate\nthose configuration names to the historical Tooz Consul URL names at the\nbroker boundary.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter.\nDirected RPC uses a server-side Consul tag filter, which avoids transferring\na complete large service group. New registrations advertise HTTP/2, while\nthe client uses HTTP/1.1 for compatible preexisting entries during rolling\nupgrades.\n\nUse native Consul endpoint checks when possible. Other backends use the\nclient prober. Mutual-TLS deployments can opt in to native Consul checks\nafter the agent is configured with a trusted client certificate. Let Tooz\nderive a safe Consul request timeout from membership_timeout unless the\noperator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It relays to all\nsubscribers with bounded parallel work and preserves stable message IDs for\nsafe pre-handoff retries. The broadcaster uses the threading oslo.service\nbackend.\n\nUse the globally listed py-consul dependency for the default Consul\nbackend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/26da2d8b43aac251f5ebea365e87d60987351efb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/26da2d8b43aac251f5ebea365e87d60987351efb"}]},"branch":"refs/heads/master"},"8ebc0c0c7df6287becba51c1ea82b295677d2ede":{"kind":"REWORK","_number":17,"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/71/997471/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/17"}}},"commit":{"parents":[{"commit":"8be03798f35b65af688d86a07406ecabc51754cf","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8be03798f35b65af688d86a07406ecabc51754cf"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay\nto the HTTP-RPC driver. Each broker owns its coordinators, detects forks,\nand uses one primary heartbeat thread in the normal case. An additional\nlistener in the same group gets a distinct coordinator and member ID.\n\nKeep support for memcached, etcd3, Redis, and file backends through\ncoordination_url. When that option is unset, use the established\n[oslo_messaging_http_consul] options and Consul catalog schema. Translate\nthose configuration names to the historical Tooz Consul URL names at the\nbroker boundary.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter.\nDirected RPC uses a server-side Consul tag filter, which avoids transferring\na complete large service group. New registrations advertise HTTP/2, while\nthe client uses HTTP/1.1 for compatible preexisting entries during rolling\nupgrades.\n\nUse native Consul endpoint checks when possible. Other backends use the\nclient prober. Mutual-TLS deployments can opt in to native Consul checks\nafter the agent is configured with a trusted client certificate. Let Tooz\nderive a safe Consul request timeout from membership_timeout unless the\noperator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It relays to all\nsubscribers with bounded parallel work and preserves stable message IDs for\nsafe pre-handoff retries. The broadcaster uses the threading oslo.service\nbackend.\n\nUse the globally listed py-consul dependency for the default Consul\nbackend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/8ebc0c0c7df6287becba51c1ea82b295677d2ede"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/8ebc0c0c7df6287becba51c1ea82b295677d2ede"}]},"branch":"refs/heads/master"},"724875fec69251b1e0f995caa117ce164d3ad577":{"kind":"REWORK","_number":18,"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/71/997471/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/18"}}},"commit":{"parents":[{"commit":"922dd026d6fc0e17922591c1a01b1af611307a25","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/922dd026d6fc0e17922591c1a01b1af611307a25"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-16 23:05:54.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay\nto the HTTP-RPC driver. Each broker owns its coordinators, detects forks,\nand uses one primary heartbeat thread in the normal case. An additional\nlistener in the same group gets a distinct coordinator and member ID.\n\nKeep support for memcached, etcd3, Redis, and file backends through\ncoordination_url. When that option is unset, use the established\n[oslo_messaging_http_consul] options and Consul catalog schema. Translate\nthose configuration names to the historical Tooz Consul URL names at the\nbroker boundary.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter.\nDirected RPC uses a server-side Consul tag filter, which avoids transferring\na complete large service group. New registrations advertise HTTP/2, while\nthe client uses HTTP/1.1 for compatible preexisting entries during rolling\nupgrades.\n\nUse native Consul endpoint checks when possible. Other backends use the\nclient prober. Mutual-TLS deployments can opt in to native Consul checks\nafter the agent is configured with a trusted client certificate. Let Tooz\nderive a safe Consul request timeout from membership_timeout unless the\noperator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It relays to all\nsubscribers with bounded parallel work and preserves stable message IDs for\nsafe pre-handoff retries. The broadcaster uses the threading oslo.service\nbackend.\n\nUse the globally listed py-consul dependency for the default Consul\nbackend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/724875fec69251b1e0f995caa117ce164d3ad577"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/724875fec69251b1e0f995caa117ce164d3ad577"}]},"branch":"refs/heads/master"},"98eb5b0494114ccae4b689982559e8c9b93c3104":{"kind":"REWORK","_number":19,"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/71/997471/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/19"}}},"commit":{"parents":[{"commit":"183954e2e8228a1a940148ad90733b86a3531893","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/183954e2e8228a1a940148ad90733b86a3531893"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 03:35:43.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded and report only data that\nis within the configured stale interval.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster uses the threading\noslo.service backend.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/98eb5b0494114ccae4b689982559e8c9b93c3104"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/98eb5b0494114ccae4b689982559e8c9b93c3104"}]},"branch":"refs/heads/master"},"eb5363f9432f736c657e75d0a3cc77d710530b44":{"kind":"REWORK","_number":20,"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/71/997471/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/20"}}},"commit":{"parents":[{"commit":"06f112bff6464f2e332d70f2848f75f9dec02355","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/06f112bff6464f2e332d70f2848f75f9dec02355"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 06:23:43.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded and report only data that\nis within the configured stale interval.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster uses the threading\noslo.service backend.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/eb5363f9432f736c657e75d0a3cc77d710530b44"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/eb5363f9432f736c657e75d0a3cc77d710530b44"}]},"branch":"refs/heads/master"},"462f69b549d4898a59ca987dde5b35fad0bc2e97":{"kind":"TRIVIAL_REBASE","_number":21,"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/71/997471/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/21"}}},"commit":{"parents":[{"commit":"13aeeb944624b9c8af8d224e0209bfcdc3e85aee","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/13aeeb944624b9c8af8d224e0209bfcdc3e85aee"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 11:25:07.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded and report only data that\nis within the configured stale interval.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster uses the threading\noslo.service backend.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/462f69b549d4898a59ca987dde5b35fad0bc2e97"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/462f69b549d4898a59ca987dde5b35fad0bc2e97"}]},"branch":"refs/heads/master"},"f6048928092f66bccda2f8130b4793c02f013f42":{"kind":"TRIVIAL_REBASE","_number":22,"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/71/997471/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/22"}}},"commit":{"parents":[{"commit":"34f79bfff1b2bed1e174a38e7ae3275386bd0f69","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/34f79bfff1b2bed1e174a38e7ae3275386bd0f69"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded and report only data that\nis within the configured stale interval.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster uses the threading\noslo.service backend.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/f6048928092f66bccda2f8130b4793c02f013f42"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f6048928092f66bccda2f8130b4793c02f013f42"}]},"branch":"refs/heads/master"},"17fe30b5241b67a6a8fa0177e20aa8e814ce737b":{"kind":"REWORK","_number":23,"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/71/997471/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/23"}}},"commit":{"parents":[{"commit":"e6b2204a6e23c6ecad19845fff841dab246d3407","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/e6b2204a6e23c6ecad19845fff841dab246d3407"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster rejects an\neventlet-monkey-patched process so its native fanout workers do not cross\ngreen synchronization or socket state.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/17fe30b5241b67a6a8fa0177e20aa8e814ce737b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/17fe30b5241b67a6a8fa0177e20aa8e814ce737b"}]},"branch":"refs/heads/master"},"9d032f8b784006c1098b5ee7370eb9ab3901359a":{"kind":"REWORK","_number":24,"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/71/997471/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/24"}}},"commit":{"parents":[{"commit":"a296d6544fd8d4d4469ef50765c3a1bbbba88ef9","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/a296d6544fd8d4d4469ef50765c3a1bbbba88ef9"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster rejects an\neventlet-monkey-patched process so its native fanout workers do not cross\ngreen synchronization or socket state.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/9d032f8b784006c1098b5ee7370eb9ab3901359a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/9d032f8b784006c1098b5ee7370eb9ab3901359a"}]},"branch":"refs/heads/master"},"52d790ea2e286d45099ff3fb540dcbe5302235dd":{"kind":"REWORK","_number":25,"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/71/997471/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/25"}}},"commit":{"parents":[{"commit":"d3c244eb2628a0877a0f093894c7a25d21bb3a62","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d3c244eb2628a0877a0f093894c7a25d21bb3a62"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster rejects an\neventlet-monkey-patched process so its native fanout workers do not cross\ngreen synchronization or socket state.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/52d790ea2e286d45099ff3fb540dcbe5302235dd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/52d790ea2e286d45099ff3fb540dcbe5302235dd"}]},"branch":"refs/heads/master"},"7cc5b75e177d1ee3bf7bec253679bb0088d0fdfa":{"kind":"TRIVIAL_REBASE","_number":26,"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/71/997471/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/26"}}},"commit":{"parents":[{"commit":"c4c0027b9f74a8ab42adc54f0d1d1e195b884fc4","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/c4c0027b9f74a8ab42adc54f0d1d1e195b884fc4"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster rejects an\neventlet-monkey-patched process so its native fanout workers do not cross\ngreen synchronization or socket state.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/7cc5b75e177d1ee3bf7bec253679bb0088d0fdfa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7cc5b75e177d1ee3bf7bec253679bb0088d0fdfa"}]},"branch":"refs/heads/master"},"2aed0213659a384a45a2d113809fdb018892d0d7":{"kind":"REWORK","_number":27,"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/71/997471/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/27"}}},"commit":{"parents":[{"commit":"f7aafd29efe26af1d31451c75113554ac4b7a181","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f7aafd29efe26af1d31451c75113554ac4b7a181"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. The broadcaster rejects an\neventlet-monkey-patched process so its native fanout workers do not cross\ngreen synchronization or socket state.\n\nUse the globally listed py-consul dependency for the default Consul backend.\n\nPartially-implements: blueprint oslo-http-driver (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/2aed0213659a384a45a2d113809fdb018892d0d7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/2aed0213659a384a45a2d113809fdb018892d0d7"}]},"branch":"refs/heads/master"},"d46b2304d4db8cd8f9c3c27a8e0bed08f1624afd":{"kind":"REWORK","_number":28,"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/71/997471/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/28"}}},"commit":{"parents":[{"commit":"ac862e9f237dc3ffcdb7ba20fe35ac35a041cef9","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/ac862e9f237dc3ffcdb7ba20fe35ac35a041cef9"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse native workers. Consul uses tooz\u0027s default threaded executor; deadline\ndiscovery shares one owned worker without queuing abandoned lookups.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/d46b2304d4db8cd8f9c3c27a8e0bed08f1624afd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/d46b2304d4db8cd8f9c3c27a8e0bed08f1624afd"}]},"branch":"refs/heads/master"},"bda4c6802537f6cf831a7f58b5d3cb61e0013a7d":{"kind":"TRIVIAL_REBASE","_number":29,"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/71/997471/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/29"}}},"commit":{"parents":[{"commit":"1a0388b96694016d600e2f1409ea5bc3d0e4b4ea","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/1a0388b96694016d600e2f1409ea5bc3d0e4b4ea"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-07 00:40:01.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse native workers. Consul uses tooz\u0027s default threaded executor; deadline\ndiscovery shares one owned worker without queuing abandoned lookups.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/bda4c6802537f6cf831a7f58b5d3cb61e0013a7d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bda4c6802537f6cf831a7f58b5d3cb61e0013a7d"}]},"branch":"refs/heads/master"},"47ae952a7684211c25e57b5f765053c6a48ecb04":{"kind":"REWORK","_number":30,"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/71/997471/30","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/30","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/30 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/30 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/30 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/30"}}},"commit":{"parents":[{"commit":"bed97a6c38f45946831a9882ee7c9894cf891868","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bed97a6c38f45946831a9882ee7c9894cf891868"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-08 17:47:35.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse native workers. Consul uses tooz\u0027s default threaded executor; deadline\ndiscovery shares one owned worker without queuing abandoned lookups.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/47ae952a7684211c25e57b5f765053c6a48ecb04"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/47ae952a7684211c25e57b5f765053c6a48ecb04"}]},"branch":"refs/heads/master"},"968f4d315a35ec4fad3d23a6059eed2f23554e34":{"kind":"NO_CHANGE","_number":31,"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/71/997471/31","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/31","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/31 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/31 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/31 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/31"}}},"commit":{"parents":[{"commit":"7bcd09474bac85a61354cc0e585bf44cbf05c597","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7bcd09474bac85a61354cc0e585bf44cbf05c597"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse native workers. Consul uses tooz\u0027s default threaded executor; deadline\ndiscovery shares one owned worker without queuing abandoned lookups.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/3)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/968f4d315a35ec4fad3d23a6059eed2f23554e34"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/968f4d315a35ec4fad3d23a6059eed2f23554e34"}]},"branch":"refs/heads/master"},"f8f16dfba10deeb3864522759aaf8848695bbb40":{"kind":"NO_CODE_CHANGE","_number":32,"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/71/997471/32","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/32","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/32 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/32 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/32 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/32"}}},"commit":{"parents":[{"commit":"4d96bf8f9fbe1322ce5734628fc9f45a6bd86442","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4d96bf8f9fbe1322ce5734628fc9f45a6bd86442"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse native workers. Consul uses tooz\u0027s default threaded executor; deadline\ndiscovery shares one owned worker without queuing abandoned lookups.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/4)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/f8f16dfba10deeb3864522759aaf8848695bbb40"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f8f16dfba10deeb3864522759aaf8848695bbb40"}]},"branch":"refs/heads/master"},"69c854bc477f0964e9b08abff49951591932902b":{"kind":"REWORK","_number":33,"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/71/997471/33","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/33","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/33 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/33 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/33 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/33"}}},"commit":{"parents":[{"commit":"3232761a678a6cd46583c6b46fbfe945e9dd5316","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/3232761a678a6cd46583c6b46fbfe945e9dd5316"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options and the current Consul catalog schema. This driver\ntargets new deployments and does not add compatibility behavior for earlier\ncatalog schemas.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse the calling service\u0027s threading model. Consul uses a synchronous\nexecutor on the Eventlet hub and tooz\u0027s default executor in native services.\nDeadline discovery shares one owned worker per calling hub without queuing\nabandoned lookups. The standalone broadcaster remains native.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/4)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/69c854bc477f0964e9b08abff49951591932902b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/69c854bc477f0964e9b08abff49951591932902b"}]},"branch":"refs/heads/master"},"188310d1db4f1f426d9517cc3341202083d545ed":{"kind":"REWORK","_number":34,"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/71/997471/34","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/34","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/34 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/34 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/34 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/34"}}},"commit":{"parents":[{"commit":"4622a723197fddf2e09502d243566b3ee88216e0","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4622a723197fddf2e09502d243566b3ee88216e0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.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: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options. Allow an explicit group-prefix override for\nall backends and pass a catalog-name template to tooz for Consul. Keep the\nnormal naming defaults and independent coordination namespaces.\n\nExport public HTTP endpoint metadata on the same owned Consul registration.\nUse the tooz catalog API to discover both native members and externally\nregistered HTTP endpoints without adding another Consul client or treating\nexternal services as coordination members. Keep certificate identity\nseparate from routing tags. Propagate broadcaster request-body deadlines.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse the calling service\u0027s threading model. Consul uses a synchronous\nexecutor on the Eventlet hub and tooz\u0027s default executor in native services.\nDeadline discovery shares one owned worker per calling hub without queuing\nabandoned lookups. The standalone broadcaster remains native.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/4)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/188310d1db4f1f426d9517cc3341202083d545ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/188310d1db4f1f426d9517cc3341202083d545ed"}]},"branch":"refs/heads/master"},"06e278a6760ec8b5da2509faa56bfa18bf434f01":{"kind":"REWORK","_number":35,"created":"2026-09-11 02:38:12.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/71/997471/35","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/71/997471/35","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/35 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/35 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/35 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/71/997471/35"}}},"commit":{"parents":[{"commit":"4622a723197fddf2e09502d243566b3ee88216e0","subject":"HTTP-RPC driver: core transport, server, and dedup","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/4622a723197fddf2e09502d243566b3ee88216e0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-15 01:43:07.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-11 02:34:16.000000000","tz":-240},"subject":"HTTP-RPC driver: tooz service discovery and fanout broadcaster","message":"HTTP-RPC driver: tooz service discovery and fanout broadcaster\n\nAdd broker-local tooz service discovery and the standalone fanout relay to\nthe HTTP-RPC driver. Each broker owns its coordinators, detects forks, and\nrestores registrations after coordinator loss. Additional listeners in one\ngroup use distinct coordinators and member IDs.\n\nLimit the fork callback to recreating the reset lock. Discard inherited\nbroker and prober state only when a child uses RPC, not before exec, where\nlibrary finalizers can encounter locks owned by vanished parent threads.\nSerialize concurrent first use and publish the child PID after reset is\ncomplete. Keep parent memberships and connections unchanged.\n\nSupport the standard tooz configuration names for memcached, etcd3, Redis,\nfile, and Consul coordination backends. When coordination_url is unset, use\nthe HTTP-RPC Consul options. Allow an explicit group-prefix override for\nall backends and pass a catalog-name template to tooz for Consul. Keep the\nnormal naming defaults and independent coordination namespaces.\n\nExport public HTTP endpoint metadata on the same owned Consul registration.\nUse the tooz catalog API to discover both native members and externally\nregistered HTTP endpoints without adding another Consul client or treating\nexternal services as coordination members. Keep certificate identity\nseparate from routing tags. Propagate broadcaster request-body deadlines.\n\nConsul discovery prefers the local datacenter and falls back to remote\ndatacenters. Fanout combines passing services from every datacenter. Directed\nRPC uses a server-side Consul tag filter, which avoids transferring a complete\nlarge service group. Discovery caches are bounded. During a backend outage,\none caller refreshes stale data while concurrent callers use the last-known\nendpoint list, and a short negative cooldown suppresses repeated connection\nattempts.\n\nUse native Consul endpoint checks when possible. Other backends use a\nproxy-aware HTTP/1.1 health prober; RPC traffic continues to use HTTP/2.\nProbes use the same client-proxy, target-proxy, and direct-route precedence\nas RPC, with the TLS identity of the selected peer. Keep direct backend\naddresses separate from the advertised reverse-proxy routing metadata.\nMutual-TLS deployments can opt in to native Consul checks after the agent has\na trusted client certificate. Let tooz derive a safe Consul request timeout\nfrom membership_timeout unless the operator sets an override.\n\nFanout is handled by oslo-messaging-broadcaster. It discovers subscribers\nbefore acceptance, applies bounded admission and parallel work, and preserves\nstable message IDs for safe pre-handoff retries. Per-endpoint connection\ntimeouts bound stalled deliveries. Discovery, endpoint probing, and fanout\nuse the calling service\u0027s threading model. Consul uses a synchronous\nexecutor on the Eventlet hub and tooz\u0027s default executor in native services.\nDeadline discovery shares one owned worker per calling hub without queuing\nabandoned lookups. The standalone broadcaster remains native.\n\nUse the globally listed py-consul dependency for the default Consul backend.\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 (2/4)\nDepends-On: https://review.opendev.org/c/openstack/tooz/+/997145\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: I671a401e7470f59655fd32b5be1f0ac591cbdf77\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/06e278a6760ec8b5da2509faa56bfa18bf434f01"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/06e278a6760ec8b5da2509faa56bfa18bf434f01"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"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":""}}}]}
