)]}'
{"id":"openstack%2Ftooz~997145","triplet_id":"openstack%2Ftooz~master~If596120464a3138e985964b964240d1330ae1aed","project":"openstack/tooz","branch":"master","attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-08-13 20:58:34.000000000","reason":"\u003cGERRIT_ACCOUNT_10273\u003e replied on the change","reason_account":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"}},"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2026-08-13 11:47:39.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}},"removed_from_attention_set":{"10273":{"account":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"last_update":"2026-08-13 20:58:34.000000000","reason":"\u003cGERRIT_ACCOUNT_10273\u003e replied on the change","reason_account":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"}}},"hashtags":["http-rpc"],"change_id":"If596120464a3138e985964b964240d1330ae1aed","subject":"Add Consul coordination driver using native services","status":"NEW","created":"2026-07-14 00:33:06.000000000","updated":"2026-09-10 13:49:04.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":32,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"0020ead54163408367aa77bcacb1d5ac5caae74d","_number":997145,"virtual_id_number":997145,"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-10 13:49:04.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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-14 02:20:31.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-07-23 11:27:29.000000000","updated_by":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"reviewer":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"state":"CC"},{"updated":"2026-08-13 11:47:39.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"CC"}],"messages":[{"id":"2db7a8e4948320e93e660d40558b6a3db7dbc99e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 00:33:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"58c62178985bf3dc7268bc8d6e9548734b23aa2a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 00:44:47.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6a3d3b17d120af5623b3bf94af9e7c140c2649dd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 02:20:31.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/87f97a3dd4c74c72a0318a074521920f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d2938a40c9d14c1a9be2efe779464d24 : SUCCESS in 2m 31s\n- requirements-check https://zuul.opendev.org/t/openstack/build/bba823169e3d40f3903d1c719c9d1492 : FAILURE in 2m 56s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/82851c57b78b4196b21e38d0b369cd41 : SUCCESS in 1h 34m 02s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/124bea902b6d4b15a71c1dde302f3c25 : FAILURE in 5m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/959a18409d724fcfaf1e4a89035e150c : FAILURE in 3m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f74710aba2e74592b978238f7ee69535 : FAILURE in 5m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f0f0478fbafe4a74a560e71d85bb07c3 : FAILURE in 3m 38s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/aa28ec08a61944e095b47a38c7a3c9d8 : FAILURE in 7m 10s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/9c775bdb15314edbaec67c2be45ec33c : FAILURE in 8m 34s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc6140812494432994cdfe7529fd01ac : SUCCESS in 3m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/049865d04e8c4b5ea1a5fc8b1f30e607 : SUCCESS in 4m 18s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/657662f85c6e4c7cbb837c6cbc73c2dc : SUCCESS in 3m 52s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/24b1aa25784047a8949962869cc89a51 : FAILURE in 5m 09s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/0caf475dda02421995a001cbcf488218 : FAILURE in 8m 30s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/947947c2ec5a4b18a9d7730b4dc51c05 : FAILURE in 3m 04s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/b79682db61004d96ac11a89e8f07814d : FAILURE in 7m 17s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/0c53865d412f4061bd7de8f356175007 : FAILURE in 4m 21s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/b59cb9dfc9a84c918312b3b39667665d : FAILURE in 7m 56s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/f456f5ca20304909ab59eb8844732f45 : FAILURE in 6m 04s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/699e74b2fb0b4c2dbd52e7d3d56f9086 : FAILURE in 9m 12s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/87013a0b990f4fa0aed0a396389109cf : FAILURE in 3m 54s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/848ba41236cd48ebb28433a20ac18d2d : FAILURE in 7m 19s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/d0c4824328a24616b40914388a998738 : FAILURE in 4m 39s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/f064744cc5664dd397e98564d2b3d4fa : FAILURE in 6m 59s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/88bc3257b0234984894182a926096a77 : FAILURE in 6m 10s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/e8c377d915df47aa9106128b5569a8e2 : FAILURE in 7m 26s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/0c303a2d60f041ce8da7836105d5884c : FAILURE in 6m 36s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/6deb2d11fd8241e6858bdcba80246df3 : FAILURE in 4m 10s","accounts_in_message":[],"_revision_number":2},{"id":"0f705522c2b001841de63eba0c428539dfb19de2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 05:55:45.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"5a162918d38301ac4f54df2ab828e24f997bdaf6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 07:41:28.000000000","message":"Patch Set 3: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/a9eb945acfd0440a93746f1f5247c5cf\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a46661c8bd5a4770a2188691068c6d86 : SUCCESS in 2m 51s\n- requirements-check https://zuul.opendev.org/t/openstack/build/e0f6112023514416aa9414387131f055 : FAILURE in 3m 22s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/729d5daf0be84a7aa91c513e91c2ba3b : SUCCESS in 1h 39m 02s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/67566b75d4864e9cac4a716627c78646 : SUCCESS in 5m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0980e74b6b214107a96c21f8b4c3e61c : FAILURE in 5m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/cad807fa2e9f400c8c0a02418d1e305c : SUCCESS in 5m 19s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bc54a293a3574f959f5ee4b4f8519dc1 : SUCCESS in 4m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2186962b4bb44cab885402d55b9f8619 : SUCCESS in 7m 59s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/e97d8a729b534a319889250a3ceee464 : SUCCESS in 8m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6cf18485dcee476a890e2e7baa893aa0 : SUCCESS in 5m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c7402c3bb0e942b8904978e6738ab121 : SUCCESS in 4m 32s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/94a96215aa7d4459b0e5f9e750f66388 : SUCCESS in 5m 03s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/b2749f7118054338a8b451bf17a13e5e : SUCCESS in 4m 46s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/a66020db3e684b7590ff3227b81e7e02 : SUCCESS in 9m 47s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/44d665d997e345258cb81b39a5bbf79e : SUCCESS in 4m 18s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/0ab37dde76984c609efb07106bb32f89 : SUCCESS in 7m 29s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/a1f856339c9a418fb2d6ca9fa8d78dde : SUCCESS in 7m 17s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/61c5e4bd96334336b2dbdc70a50e6d8c : SUCCESS in 8m 38s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/7e990c6bdbdd488bbd52725785d8a8cc : SUCCESS in 6m 19s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/fc9384aaf5004577bef2029898531a21 : SUCCESS in 8m 48s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/6c07b76921314107a53ec54d704c413f : SUCCESS in 4m 59s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/86d9061bbb3342ff96941e77702276f0 : SUCCESS in 7m 13s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/7474cc909be049beaf15b792f65e5d8e : SUCCESS in 6m 21s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/89d44ec071ba4b40ba51641cbfe77974 : SUCCESS in 7m 23s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/5d762b4e4ccf4ed58e025962784b9a00 : SUCCESS in 7m 22s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/9210afae653e477d8fbb872027c85756 : SUCCESS in 7m 48s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/698471c9d3e74fd0bb8ed862a7a4fe4b : FAILURE in 4m 40s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/64ad3af128f2435099974747a7e93562 : FAILURE in 8m 21s","accounts_in_message":[],"_revision_number":3},{"id":"8665b23493a976102297aa1a9aa4ce7432e5b678","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 08:21:01.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"ae48bb67e2a0c1296b44d7b71b82ca0ecfacc5a4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 09:47:25.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"6ea14bf018fd470ca32bcf55c775fc8f7522cc6e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 10:55:51.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/003201839f9948f18b5bd0f3dbe8839b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/7f247010edf04163a72b3c50b1811660 : SUCCESS in 2m 35s\n- requirements-check https://zuul.opendev.org/t/openstack/build/30341cfef2c642fc9967f9d808905555 : SUCCESS in 3m 59s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/41748209e2ed456f86b43c8b3bba90ca : SUCCESS in 1h 05m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/884888b4b34f4280951a175a91a25e68 : SUCCESS in 7m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5aaf5c5817694bbf82bbe75ded2ca1c0 : SUCCESS in 4m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c91c2a2cc4a94fc08c3eabd9560015b1 : SUCCESS in 7m 01s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/810da871b56f48719c510f47ec3adfe6 : SUCCESS in 4m 36s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/33234912dbd6488d969908457c4a0eb2 : SUCCESS in 8m 21s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c5a071e2a49441fd9d3d43b34e232f12 : SUCCESS in 6m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3fe54fbe58c84103ac0ddfe2431d332b : SUCCESS in 4m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c8b085fc4d414eea8c026d113d06661f : SUCCESS in 4m 22s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/22a9a5e8cea545efb376dc4402a5a3e5 : SUCCESS in 5m 16s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/c68e9240021146e4ac03948d764d5af5 : SUCCESS in 3m 59s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/8b1fe73382474ef08b233919a62d931f : SUCCESS in 6m 34s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/e07d0018b16f40709fa11d76dc4baf5c : SUCCESS in 3m 02s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/211ef58ff21e44de8a2e1784638d1163 : SUCCESS in 9m 18s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/e5d41ab9c32a435d9fea8e1ac29bcfe2 : SUCCESS in 5m 52s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/cb8d50f3f7ea46639e890b045ca0ccc9 : SUCCESS in 8m 48s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/047ced2ee43b46c9afbdd590066bb5e7 : SUCCESS in 6m 17s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/0e8c635147544e17a1a018dfd644afbc : SUCCESS in 9m 27s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/fb2626c642ff4ef3b3630453426f79e8 : SUCCESS in 4m 08s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/e37e52b7eeff42408fc7600b889bed23 : SUCCESS in 8m 07s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/4f9eee73a9614e4d8fdebd31b5d1d66d : SUCCESS in 6m 55s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/ee557a9f8ff5455497def44006f0a6a9 : SUCCESS in 9m 14s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/1816c97ad6f04588813a05a6a40c6c1c : SUCCESS in 10m 28s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/97ac5c60e40c4a949d8e1e5397b174f4 : SUCCESS in 7m 50s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/b60e66256ebb4249ab188969b779f7f8 : FAILURE in 5m 21s (non-voting)\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/4975b8532d7840eba0169407c9280f3f : FAILURE in 9m 46s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"7195ea8de5e69cdb0d69caf8beb9d1a4c55b319a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 18:08:55.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"6785110005fa9c92754a1d596e58747b730378c2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 18:35:19.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"d1ec01b9dee9f74db4682cb75c46dffa13c11bec","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 19:36:47.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c52b4f0893f74362898a49ae5011877b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/dabfefc4e1d849f3b5e80032123dd9fb : SUCCESS in 3m 06s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f0bc806fe92d4029a64c8b26b0634243 : SUCCESS in 3m 41s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/202206aba92149d6b876c70ccffebda6 : SUCCESS in 49m 14s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2bdc8433092e4939a8d6d47d977a85c4 : SUCCESS in 6m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/02119b4262f74708bcbc31f496fa5d76 : SUCCESS in 6m 52s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ac2250304dcb45a4a664f062447337ae : SUCCESS in 6m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/938d4d9f11624a1c9e1a0b3b76c12082 : SUCCESS in 6m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/395e9f5971454a6a897b0035f1a372c6 : SUCCESS in 6m 11s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/9c89ccc4f4a94f6d83479829be196f23 : SUCCESS in 9m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/991768a1c30a474d90a86d59cc95363e : SUCCESS in 7m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0d420b0a37b145b9813e724a916a96c2 : SUCCESS in 4m 37s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/962c2771c6894bd9b2fbfbb623e755a9 : SUCCESS in 7m 05s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/996b819f22bc4edc86719ff0c0b2da65 : SUCCESS in 5m 23s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/3186cd1ac0f64f518234ff1bcdd3f519 : SUCCESS in 7m 42s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/6e1aa390cdf54090a61623831ee9ce04 : SUCCESS in 5m 05s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/5b915d341c9e414f80472f399fb1f580 : SUCCESS in 7m 53s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/0ba8ead3672f4a29866036ba8e4b8993 : SUCCESS in 4m 40s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/d0ad983af4a349d88ad08a7f401be1f5 : SUCCESS in 11m 03s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/a0df873b900147c38ee085398e00b426 : SUCCESS in 6m 32s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/8474279cca8d4ea381f9937523cc1737 : SUCCESS in 7m 19s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/61776fc9bc334b6e96fdd96d889b4173 : SUCCESS in 7m 12s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/dd6953091a7749f9ba844517e2274677 : SUCCESS in 5m 36s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/23d715ed29f24644a5b42d42251aae61 : SUCCESS in 5m 44s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/c0aaceab4d0b4be2ad9fc3fcceb94d1f : SUCCESS in 7m 31s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/9002680b484a446eb3834f9b4b2ee894 : SUCCESS in 5m 23s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/b054a492fbf147efb8d36799056be1e6 : SUCCESS in 10m 00s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/b76638b1ed594befae57918ce18e2dc5 : FAILURE in 7m 25s (non-voting)\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/e8f322b1e05c4cc98f2f60a1fa036c98 : FAILURE in 7m 49s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"977010466a48b015dbe9f635be63c7015b25fbd4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 21:11:45.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"f78626c699bb88ef09145384b9b2513c75446e21","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 22:49:45.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/22a941f9f8e44078bf944d438829e365\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/87b9e27de577417f9b1e6b8519991ed7 : SUCCESS in 3m 03s\n- requirements-check https://zuul.opendev.org/t/openstack/build/6fdf1ba1189c4fc1b7c66602c9262bd9 : SUCCESS in 3m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0d4ff67c61274415b5a03297a1a79ef0 : SUCCESS in 1h 31m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ddf035687fee452a8f4320be2c919c49 : SUCCESS in 6m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2c95cc7d349e4116955913d544b28dcb : SUCCESS in 7m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e5271288af4946d9b667688180827ffa : SUCCESS in 6m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ebe3fb5b24e5428698d894193b4112f1 : SUCCESS in 5m 26s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/baeeebd9a4144d75b5523a7294dcbdc3 : SUCCESS in 7m 41s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/156fc8f2bc4c449793274987d3f7b5a5 : SUCCESS in 12m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/967d8e9722044614b0242730531619fc : SUCCESS in 6m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d7eb9736811c4673aa6177aced2cb3bb : SUCCESS in 6m 00s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/82f094b9a8d745deb431d6ca35f84227 : SUCCESS in 4m 58s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/2e47639ff6f2417f9f0baa9a258d8622 : SUCCESS in 5m 49s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/b5d750c7f21a4de69075237a5261224f : SUCCESS in 8m 48s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/3844d66e32de4ac3b7deda6e227701aa : SUCCESS in 4m 20s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/1767a756d19d4669b8cd0f8aecabf0a4 : SUCCESS in 7m 23s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/707af36f67274e308ca02f0cdfe9b87f : SUCCESS in 6m 09s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/6cae29c895c44829b09ed3ec7eb10e2b : SUCCESS in 7m 34s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/fd6802b9a403441cb594a3750702d08b : SUCCESS in 6m 17s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/18581ff44f7846029500294e8e855756 : SUCCESS in 8m 28s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/67cbd03095b4403e862ac4b47a193024 : SUCCESS in 4m 37s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/4a45c5705119414aa0acb36b89935715 : SUCCESS in 6m 08s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/0cece3f8e16a40abb8e30c6403c9acde : SUCCESS in 4m 12s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/f274698820cd42f582dd3c61036b6866 : SUCCESS in 7m 48s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/49221b1e719745188f1cba1420933e16 : SUCCESS in 7m 45s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/b4a67528d4814afb9c1bd5b988813aaa : SUCCESS in 8m 02s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/8583bab4c30c4c6baaefa0dc763d4d9b : FAILURE in 5m 36s (non-voting)\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/1e447fb397d54c8b8e2e6e295f86fae3 : FAILURE in 8m 33s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"bc2773f60e523eedb698c6f9e26c1647056e649a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 23:21:00.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":9},{"id":"319af0479df4a93de50d64221e5e0bcb9c236879","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 23:21:24.000000000","message":"Patch Set 9: Verified-1\n\n(1 comment)\n\nZuul encountered a syntax error while parsing its\nconfiguration in the repo openstack/tooz on branch master.  The\nproblem was:\n\n  Job tooz-tox-py311-k8s not defined\n\nThe problem appears in the \"opendev.org/openstack/tooz\" project stanza:\n\n  project:\n      templates:\n        - check-requirements\n        - lib-forward-testing-python3\n        - openstack-cover-jobs\n        - openstack-python3-jobs\n        - openstack-python3-next-jobs\n        - periodic-stable-jobs\n        - publish-openstack-docs-pti\n  ...\n\n  in \"openstack/tooz/.zuul.yaml@master\", line 3","accounts_in_message":[],"_revision_number":9},{"id":"25a7bcbe5e70ee1988bb6fbacfd40e1509ee7ff0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-14 23:30:37.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":10},{"id":"f41ad9d21eb939f321b8274d72297bf99b392ff4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-15 00:14:23.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7c8057f609ab4eb69399169ab038113a\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/5012227634c24c00890cd525fe9d8345 : SUCCESS in 3m 19s\n- requirements-check https://zuul.opendev.org/t/openstack/build/13de86f9c52f432e86ced5ced7cd2abd : SUCCESS in 2m 41s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f9ff484ba3f84222a61bd3b00e2a65c4 : SUCCESS in 41m 50s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a419e991d3c243aca18345ab46bff324 : SUCCESS in 5m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9b9cd21d3b854db3ad230d7089fb6dce : SUCCESS in 5m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2b5a94010bef4dd79a10e725e6834b15 : SUCCESS in 6m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ebdb49fdee9a4c8eb2a8796ea39f57d8 : SUCCESS in 5m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/bfb22b13890f4fe8887b4a1236798af7 : SUCCESS in 5m 13s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/34bce73d8bc94163b4739f44e44c6c19 : SUCCESS in 10m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e481d8d668d94bd58962fdab89037acd : SUCCESS in 2m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/de5d9606413c4dcc996dff419a966538 : SUCCESS in 2m 53s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/c47a30d5656c44e196312bc52e02db25 : SUCCESS in 4m 42s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/8dc67d6f309a4e71b70a29e4db68239a : SUCCESS in 4m 52s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/d66b85c9140f4a919eab4ea6416e56bc : SUCCESS in 9m 48s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/656d89c64ae548b78c8d93d91332d677 : SUCCESS in 3m 33s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/3b6de0f7b37c4570bff59dca154601a4 : SUCCESS in 4m 35s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/438a5e1fe11f460ba2b16f54407de5b1 : SUCCESS in 4m 18s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/5e01588a3f2148d6b7b9b61ba5e68c3f : SUCCESS in 9m 57s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/80b537042d7b446d91c698f5a8dd6830 : SUCCESS in 6m 14s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/783e7337efa840818fef8a4e4d62c461 : SUCCESS in 6m 48s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/2240b8fc4ae94b9faed0908e1a59993b : SUCCESS in 3m 53s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/7857f61e64d14e5bb5dfb6ac208be020 : SUCCESS in 9m 04s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/38d03e5b29044741920ae09318da697b : SUCCESS in 4m 37s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/a45ea3ef0957424c82e657bc950fb23a : SUCCESS in 7m 35s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/a57b7bcec9a14fccb536e147dab0aa1e : SUCCESS in 11m 30s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/623b99e99c204d9a8b3a11244df1fb6e : SUCCESS in 9m 35s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/26ba757dd07c438ca48acea4eb4b18bf : SUCCESS in 4m 53s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/235a8cf65f5b455fb6744c067cc117af : SUCCESS in 9m 04s","accounts_in_message":[],"_revision_number":10},{"id":"1f3e0a5f3dbc6a5e3d8e8708bf44f864fedc2ffa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 21:50:29.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":11},{"id":"48150d5baeebd1dc4f6a0f5f839d4e65c0bdd89c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-16 22:38:03.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"1abb905ca2ba7b8a80d77907c7030fbb804e6d87","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-17 00:18:37.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/597f70b70aba44e4999c0c6c0581d145\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/22eb7548be404e249ef86fefcfa1180f : SUCCESS in 4m 11s\n- requirements-check https://zuul.opendev.org/t/openstack/build/eb589b6794034f8ea588462c273ae50d : SUCCESS in 2m 37s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/fccf3395e9b74501b901e41abd013494 : SUCCESS in 1h 28m 32s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9872bd01d7e9438da06a5c0a24d05113 : SUCCESS in 6m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/196367cde80d46c7be559e888385ea23 : SUCCESS in 3m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/11b0133c3931414492fd1fc8096f5e2f : SUCCESS in 5m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/595968e6ba6949e4b31c0fd3e3b3af61 : SUCCESS in 5m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/85724d92ff8a49e2a69407ae7096df02 : SUCCESS in 5m 47s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/6ae1137be1f941cd88b109f2b69b3ff2 : SUCCESS in 6m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8dd717347b78420c83978741cb70f3ef : SUCCESS in 6m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/915b028a687c4bdfb3bd36f8724e7a2a : SUCCESS in 5m 07s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/a379a9d3cf1e4ee68709c0ed38d15aa8 : SUCCESS in 6m 22s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/a258720bc0784f3f8d24e81d05870a15 : SUCCESS in 4m 15s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/75d508b7e16340c5b27dbe680d844a7f : SUCCESS in 6m 24s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/73dab0c589c2460bb302c808ad5e8263 : SUCCESS in 4m 56s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/6518e4200de7476b89e2ecb26a3ae3e9 : SUCCESS in 4m 53s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/9d598086299042aea49023c6421b515a : SUCCESS in 6m 53s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/2e662c4093b04859ac512590457b79b0 : SUCCESS in 8m 19s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/cdb22bc4da40459bb5fe8b83a468ef9a : SUCCESS in 5m 37s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/fad080551c8345a1ac1db77efdadae5d : SUCCESS in 9m 50s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/d45b191d8f364398b08e4138ab1d9915 : SUCCESS in 5m 09s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/4c79582ad11847c2b2345d2b6b7b647d : SUCCESS in 8m 57s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/5f97944c6760460c914a6c0bbce2d481 : SUCCESS in 4m 35s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/2f3776301d684f628dab1d04ce3813e2 : SUCCESS in 4m 21s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/4f639cc4a303467f86ea686c0d9ed33b : SUCCESS in 8m 05s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/303abff7d7c4476c849cffb4b9bdb549 : SUCCESS in 7m 57s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/a119af06d46c4c9f8ca6dddcbd7ea988 : SUCCESS in 5m 16s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/5901882a774a4b56bc1f29b1dfd16cbb : SUCCESS in 7m 23s","accounts_in_message":[],"_revision_number":12},{"id":"26145b77eca5867aa37cc5915146412117122361","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-20 10:57:40.000000000","message":"Uploaded patch set 13.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":13},{"id":"793998fc0b24bab479dd9d8cce8e65066bc9813c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 12:31:34.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/431ae26771994151aa4da818d9cbb181\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/68116e50888b4ee796160b0eec87ddfa : SUCCESS in 4m 10s\n- requirements-check https://zuul.opendev.org/t/openstack/build/2e91a40dfd32406388ad7f808f74ffda : SUCCESS in 4m 32s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/048dbc559a194e55a0c79636d6c8d4ff : SUCCESS in 1h 31m 03s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fb0b582fc26842c3a80aa23c2dbf0b2e : SUCCESS in 5m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6005ba6682a94d30aece9680a0c0640d : SUCCESS in 5m 39s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2ca6cc45322a4994915ba2ba1cf3ae15 : SUCCESS in 6m 09s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ec90838271354d8e82f9e7dbc5c1b719 : SUCCESS in 6m 55s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/69ca5a3c41d5427fa4bc5684d70893d1 : SUCCESS in 9m 00s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/658b5a29ff1a48299339a363e0d0491f : SUCCESS in 6m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/43608556ceb84b9e99170561f7cc92bc : SUCCESS in 6m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3c182ee7e79947dcb2ce3b89b1439d6f : SUCCESS in 5m 51s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/2cdf3b557ed24214a00cdfadc5a1b765 : SUCCESS in 6m 03s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/d5b2eb05c59a420c8596386a78cc1575 : SUCCESS in 5m 52s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/36c5f2f47b7a41b08c875cfd7902978b : SUCCESS in 10m 15s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/b76bc9fef01444ae8f3c39db38951106 : SUCCESS in 4m 33s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/e4e26cf4358b49118b54e077e1207d1c : SUCCESS in 7m 54s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/5830328c87944dcaaa6d997b34e391de : SUCCESS in 4m 49s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/0560eaf08f0043b194b184ec6375e1ad : SUCCESS in 6m 57s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/951ff74f0b1d42f6955e0c0524d30150 : SUCCESS in 5m 34s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/34069c6073fb4b5cbf0d66c2949ccf69 : SUCCESS in 7m 51s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/b6bafb1c4130475c839f43e602aef389 : SUCCESS in 4m 06s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/fda1b8a50ff842fa9f3159a1d8d6a26b : SUCCESS in 7m 46s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/764cfeaa2ff549be98dbcbb58232bc34 : SUCCESS in 4m 40s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/699fe4f243b5494b9ac7c5b3dbfae174 : SUCCESS in 7m 26s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/224a39b424714ac088fe51d4a4718862 : SUCCESS in 7m 18s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/034ecfb359dc4e6db53ed3890afc1a3e : SUCCESS in 8m 17s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/53305f9b5f2447febc59bada154777e6 : SUCCESS in 5m 05s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/1643d9c31a7e4a2ca03507da334f38ec : SUCCESS in 5m 44s","accounts_in_message":[],"_revision_number":13},{"id":"f9fbf0dd1d1f5d093f7444bc6b5af4886175ab79","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-22 05:18:11.000000000","message":"Uploaded patch set 14: Patch Set 13 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":14},{"id":"5fbd354654747375eed0b384def4d4f0ec1b89c5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 06:59:39.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9c6a52266c4245dc8d9fe7e2498c3b53\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/72c319fb60f940a88dc56e477128a7da : SUCCESS in 2m 18s\n- requirements-check https://zuul.opendev.org/t/openstack/build/8be2eff1df174cea88877274a6fe4641 : SUCCESS in 4m 33s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f6756d7f8c0d499f99d3f9f869675e66 : SUCCESS in 1h 35m 30s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8a1fe8d733e1463fa2e33f87d348dd92 : SUCCESS in 5m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dd302532ec3448a9a5b5a0a6986f9cb1 : SUCCESS in 5m 32s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2d72f791cc2b434497ed35559ca0a0eb : SUCCESS in 4m 22s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/368c1f1b842643abb3343f3a7d5fbd94 : SUCCESS in 5m 01s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/971ea3bdacb1468c9926d02305d5e446 : SUCCESS in 6m 40s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/e7391aafc96144d8bc85fd706a991e20 : SUCCESS in 9m 07s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dbfb0b6c801745f1acf1b79dbb737856 : SUCCESS in 3m 30s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e188d4c945ae42a8987ff1d3866c8083 : SUCCESS in 5m 16s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/6e6edd8a49654774a5e1b96d4f3a3607 : SUCCESS in 5m 56s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/f1785f8c58eb4bd39f301ab2a35c06a0 : SUCCESS in 3m 58s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/aefe436d904446bb91dfc8281cdde39f : SUCCESS in 7m 58s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/66e6d429d478405b9926db2eff9b42b2 : SUCCESS in 4m 45s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/544e862455374d0b9426d0dfc0eb45da : SUCCESS in 5m 03s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/80cd2cb8c85d493d80895f58bb7f46a4 : SUCCESS in 6m 21s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/5dec43014b304b049f4ae7da3b3456d2 : SUCCESS in 10m 23s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/37b96e8fa3ac44fbbe5829747316ae89 : SUCCESS in 6m 20s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/9a2b68752b184912a3b080ca8a84016c : SUCCESS in 7m 13s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/2fa2853ee7be4a18aa0cd9315c45f607 : SUCCESS in 4m 08s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/bcf000a4148e4680b6645d32bc961aeb : SUCCESS in 7m 53s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/f1d7558a38084c189478f51a6a22afb3 : SUCCESS in 3m 30s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/4f50d85682b74c979a27995cf8c7457f : SUCCESS in 7m 38s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/1a62c269c5274f36b58b49b7af7286d2 : SUCCESS in 7m 17s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/892e0edfb345432da48238d678a3c31c : SUCCESS in 8m 46s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/027e7f8ec488488c812cc1df7dead7d1 : SUCCESS in 4m 57s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/1791497947a6412faeb846471c4951fa : SUCCESS in 7m 36s","accounts_in_message":[],"_revision_number":14},{"id":"daf2f53db978e51e63787bad140ceb70d2dc423d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-07-23 08:28:14.000000000","message":"Uploaded patch set 15.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":15},{"id":"623fd988cdec5c4dfa6bcadab848fef890b16a07","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 10:06:47.000000000","message":"Patch Set 15: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e9ceaa1658764e108bb2c8b6bdc23279\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/44889d74a3824e01a03490686733b6ed : SUCCESS in 3m 00s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c4fa9ae2a64e491f8a87c21d66e6cc90 : SUCCESS in 3m 42s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/683e569351c045a39cc97ce1521e35d1 : SUCCESS in 1h 32m 21s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3a27f615a65542afbb76220272d81ebe : SUCCESS in 6m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8198aa27c8bc4107a48338ef448e797d : SUCCESS in 5m 42s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/dea4ceb06a8049a6b7378d9eaf98e74f : SUCCESS in 5m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4422ad030398479d9b307446dbb70c49 : SUCCESS in 5m 38s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f090ac989a704f2aa6709a12c682529f : SUCCESS in 8m 02s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/d36e24fc397b4617be6a3be635af3bf9 : SUCCESS in 9m 39s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9fa287966a41488992716f13b865d174 : SUCCESS in 5m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ab09c91eabbf4196b087707a1830999d : SUCCESS in 5m 26s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/27ec6c113b18450382514269a9485884 : SUCCESS in 5m 02s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/e9e19abf53c04ae08c4a75096f82edd6 : SUCCESS in 5m 24s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/a313aa25a3084627989e17eb0ec28654 : SUCCESS in 7m 24s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/2d2db8d3dfc24b309d0e3d925d3ed947 : SUCCESS in 5m 40s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/564bd9b402a942cba61ece0dc4b134f7 : SUCCESS in 7m 09s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/a22fe1e2d23f4dd189b3504ec76dcafb : SUCCESS in 6m 32s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/ae5ea5562bb440e18a4396cf5d70d297 : SUCCESS in 8m 20s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/c11d9e353fc4467ab51d2611b8c8d918 : SUCCESS in 6m 25s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/83b9cf899ea04f7fb302965a6674ee82 : SUCCESS in 9m 26s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/f8c32c6af87845bb823d330bf5f65042 : SUCCESS in 6m 47s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/2f78f73f10a44f11b3c7df88f067ebbf : SUCCESS in 7m 42s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/9f246d62bf4d42b087ed3d16ab2916e7 : SUCCESS in 4m 42s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/4934aae137c94c9fa416d07dfbf8c39b : SUCCESS in 4m 29s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/58ad713350ca4049a9ee8374da2b6fb4 : SUCCESS in 5m 02s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/e384fd3c4f064beb8e6436c45ef95090 : SUCCESS in 8m 32s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/fc49f51786044f12bb886f4428a7cb04 : SUCCESS in 5m 32s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/8081dfeaea144c1eb38118adbcc85451 : SUCCESS in 5m 01s","accounts_in_message":[],"_revision_number":15},{"id":"e4e304e5bf91a3a8c8d8991e1f3b0d556859b2e3","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:00.000000000","message":"Hashtag added: http-rpc","accounts_in_message":[],"_revision_number":15},{"id":"1f2a0ca98cdb083b5d38c63709d1eeb686024815","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-07-23 11:27:29.000000000","message":"Patch Set 15:\n\n(3 comments)","accounts_in_message":[],"_revision_number":15},{"id":"ae5dc46918086f85cfec5c32fb7896844e1f2430","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-07 02:12:02.000000000","message":"Patch Set 15:\n\n(3 comments)","accounts_in_message":[],"_revision_number":15},{"id":"e17082dbbac26e34e6108734be96a3f198cf9371","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-07 02:53:02.000000000","message":"Uploaded patch set 16.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":16},{"id":"649e4f4c82b8569f8a88f850cff08b51961022e4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 04:12:31.000000000","message":"Patch Set 16: 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/ad6ccdaad63548aa9cf633338ad252cf\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/abea48d5af7b49fc9dc1aaf9d6ee3e42 : SUCCESS in 2m 06s\n- requirements-check https://zuul.opendev.org/t/openstack/build/1fa65cef36a94657b2c960d8029eb490 : SUCCESS in 3m 25s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/542cc558b9404f059f3e70f1a7463198 : FAILURE in 1h 11m 08s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4663bff75867488e8cdecccafc5590c7 : SUCCESS in 5m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1864105b7db945f0942f57d9a032480a : SUCCESS in 5m 25s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7175773b6c59411c93c1d0685bf4ff45 : SUCCESS in 4m 12s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/410c804cc5064f9f8835b522c32d3648 : SUCCESS in 7m 26s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5f0973c6e5e5451c972d35a927ee3cf3 : SUCCESS in 9m 06s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c4e073ddf9db43449f84c159c768f3f4 : SUCCESS in 8m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b512098b4fd54b32bd0f9983f9780567 : SUCCESS in 4m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/734ca855fb6c4803af09846a2307463b : SUCCESS in 4m 59s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/304b83f3388a4094a8047df35c430da0 : SUCCESS in 5m 04s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/09407600b08d460cad3ce45c4b9b95b8 : SUCCESS in 5m 24s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/c9f69ad8669c428fb6d66861ec6106b3 : SUCCESS in 8m 12s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/9242b2942669405f872a81a296752862 : SUCCESS in 5m 00s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/bd7a25e5a5084fa7836d7998af86a91a : SUCCESS in 7m 13s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/bc91fbe521fc489c996135ebbdaf5747 : SUCCESS in 6m 19s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/0cd566799f664ca9bdf298910538173c : SUCCESS in 8m 24s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/c6fa032589a24543bac58d307acbff4a : SUCCESS in 6m 00s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/0bc5dcbf779945b4a7e29a5ceedcc6dc : SUCCESS in 9m 16s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/aa19a1b0b9c8472cbc79cddf58e835ff : SUCCESS in 4m 59s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/da58fb53340e4170ac2e180215e3cb23 : SUCCESS in 7m 39s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/6d567111292f43a5bb07b2c5af61e4bf : SUCCESS in 4m 52s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/eecd6ca1905649a9966959d6daf8eee1 : SUCCESS in 4m 22s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/a29df63945754a7ea9d782901e9fe3d5 : SUCCESS in 7m 48s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/c57a5cdda831476d934a79e50f7d071f : SUCCESS in 7m 43s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/c1400a60c8a74dd9b7e1237cc37785fc : SUCCESS in 6m 53s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/34155ae313904d459a6dd690ce2a8223 : SUCCESS in 7m 27s","accounts_in_message":[],"_revision_number":16},{"id":"28681df910c51a62d98bd60d1fc8bc901f283e4f","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-10 16:39:37.000000000","message":"Patch Set 16:\n\n(3 comments)","accounts_in_message":[],"_revision_number":16},{"id":"cb12a97d521094123e1b865827eea5d5fcd820b5","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-10 16:39:46.000000000","message":"Patch Set 16:\n\n(1 comment)","accounts_in_message":[],"_revision_number":16},{"id":"e092e9b77d43643530c5fb5f09e26507d557e27e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 17:44:54.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc9861736cbf4e44bc81c1f0b0c27263\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/5d65429478f94740b538ac1301232e18 : SUCCESS in 2m 53s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f6ce9ad6c7e14da19d1576b2b1d57afa : SUCCESS in 3m 18s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/e9834daf108d44eaa4dd1f86d9801d05 : SUCCESS in 1h 02m 35s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5e538f0a4c6a4582b6c32d384c927308 : SUCCESS in 5m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e60f9d1b11934b4b831da24d91a8448e : SUCCESS in 3m 53s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/eed4a2d5c11e4d7b8d1c1423f1b6d34e : SUCCESS in 8m 21s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6968ef65a2fc48b3a2ce099a2c09e601 : SUCCESS in 5m 17s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3ee9661880ab44b2afc8f0c47e6e0a4a : SUCCESS in 9m 20s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/9dc8621219044becbc710ad72960a77f : SUCCESS in 5m 50s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/034d2e3e7d1d4a9fb49ee3c9f23f7888 : SUCCESS in 4m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c3c4e0f695f2416c9284636372e88952 : SUCCESS in 4m 46s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/8b44d436b6a14f9099cbdb13c9b0bf2a : SUCCESS in 4m 30s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/b2f96177e261482cac8a4a437ccaf177 : SUCCESS in 5m 16s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/82bd05aedd4b4d6c97f68076366228ad : SUCCESS in 8m 56s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/03412b7c1a684be5be3d7d1ab2ce1923 : SUCCESS in 4m 37s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/9d7ffaf6eba34630bbe2b204920fdca9 : SUCCESS in 7m 58s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/a18c2d6ae3ac42ffbc93aec201acdb6d : SUCCESS in 5m 52s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/ba3e38cf28c5438c891a5d34142a503f : SUCCESS in 8m 59s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/88221e70d2d340f89a3b8f6e1cf1eb07 : SUCCESS in 6m 06s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/099af8234cf541ee9cc2dd93d91f5999 : SUCCESS in 8m 57s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/a95fab2eca0e4f409ffee44e947b5187 : SUCCESS in 4m 58s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/c1d05f764a6a415fa15fca90b59792e2 : SUCCESS in 7m 43s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/3531c8d3b80e4a8a8d915d5dc415c546 : SUCCESS in 4m 45s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/0ed375d2476b4e7aaabdc6ad56f8ec3a : SUCCESS in 7m 50s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/261945214fe44bb3a79f53459fb4cb09 : SUCCESS in 9m 20s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/0225ab38bbcb435b99e09c139cbe756b : SUCCESS in 7m 17s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/8811435b869649a18c7c86758a3b1fae : SUCCESS in 5m 42s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/631e908cc7e5473497cd2cdc4c899ca9 : SUCCESS in 8m 23s","accounts_in_message":[],"_revision_number":16},{"id":"49f68cc6a98dac01cef30b4bdc7e1f45166e9abd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-11 07:00:22.000000000","message":"Uploaded patch set 17.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":17},{"id":"79e8b705021d66ad952c56a6868f3420e0368cf9","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-11 07:01:47.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"0119561626792adb83c2f24bff70d53fcdc38712","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-11 08:01:45.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0d65005b69da46d68be334147cdcb03c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d62ba2f3af4e43aea2699a6731a89a35 : SUCCESS in 2m 28s\n- requirements-check https://zuul.opendev.org/t/openstack/build/207fcfb1dbc3424c9ced6740e601f66e : SUCCESS in 3m 33s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/5c06a7ddc88547d8b1c77e930d888355 : SUCCESS in 56m 58s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/22e5b5b67fa84cbba6ab76972ff51e14 : SUCCESS in 7m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eb6addc9da3b46acaee6fb4bd35f4e89 : SUCCESS in 7m 18s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/fd016a1d07884aae8e4029f3843bd97a : SUCCESS in 5m 09s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/462dccf366be48999fe5fa8fec1d6cb6 : SUCCESS in 4m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/87ccfb6bb3494887ab425de10f425471 : SUCCESS in 7m 42s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/04f4595e5e734916a2e33566f7ac9b4f : SUCCESS in 8m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3d2e98c9afc146a5afde741d2ba838b3 : SUCCESS in 4m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ec43ae182f6c4dbc9ea9a62ec07e3bb4 : SUCCESS in 5m 52s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/3099d7a2f8244bab91c20d1d07f8bbc8 : SUCCESS in 6m 21s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/c1214ddeeabe43dd85b00460a4393d38 : SUCCESS in 4m 13s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/9c054719325544ae9477da7b40a11c0a : SUCCESS in 8m 51s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/3cbe69ad19d244ec86a4c8bcb2403f7c : SUCCESS in 6m 59s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/a822a103128d49179342d2c4e282477b : SUCCESS in 4m 41s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/ddb7297a44024fe8ab806fd38b56edab : SUCCESS in 6m 01s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/caed2d1546aa44379a07c43998266bba : SUCCESS in 8m 02s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/a9acb51270e64eb5948756dcf4fd1cdf : SUCCESS in 9m 01s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/b9469887baf044f39f34a9213c4c845a : SUCCESS in 8m 29s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/6b87cfea97cf46f0930d3501412a498d : SUCCESS in 7m 54s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/b78bea7bfe2a4abfba7578837d3d6e61 : SUCCESS in 7m 23s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/3bbf3dfb799748ecb55c2ae408fada84 : SUCCESS in 3m 24s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/2f08c0df167740c482a6913869d70624 : SUCCESS in 7m 09s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/de827c85779940cbbd15f1415d502d4a : SUCCESS in 7m 39s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/0c16ea4e8d7f4bc3a9caef779d972950 : SUCCESS in 10m 00s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/01aa224ed6a3420db2da8dd27c33ef6b : SUCCESS in 4m 01s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/593a6f9e28c9408890dba7647b5f39fb : SUCCESS in 7m 32s","accounts_in_message":[],"_revision_number":17},{"id":"91052ea8dd064327085eb05e72f275d5e73d1fd8","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-11 11:48:08.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"c74aa0201deb64c2f3579715f4d8b9cb9b78e490","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-11 21:33:07.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"672bf167a5c956ea284eee19564343500438023e","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-13 01:10:15.000000000","message":"Patch Set 17:\n\n(2 comments)","accounts_in_message":[],"_revision_number":17},{"id":"cbc15e1b6b1dc57aaa913ab7910895d798c52276","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 01:30:11.000000000","message":"Uploaded patch set 18.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":18},{"id":"0b4c9a0e3e940b696e2a4e2196d7d6cd00a04feb","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 01:31:47.000000000","message":"Patch Set 18:\n\n(1 comment)","accounts_in_message":[],"_revision_number":18},{"id":"97ea6cca213a7a585ce45ebb62c56e80541c3a59","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 03:16:36.000000000","message":"Patch Set 18: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0d83c69eb7124d60ad7492d1a5e04e48\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/e90cbd99b4ff4b72ad02fc50190ab6c5 : SUCCESS in 2m 42s\n- requirements-check https://zuul.opendev.org/t/openstack/build/d822faf18e2b4c6eb8c9644ac9ddfc20 : SUCCESS in 4m 04s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/5c93e4f600fc437ab8dbe116d85411d0 : SUCCESS in 1h 24m 36s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0fe3033b19094cb38627ec582e250ac1 : SUCCESS in 4m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ce40568a0c9d4a99aaa7f701be717223 : SUCCESS in 5m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/baf78c52c4ef44df811d854a6daa2fcd : SUCCESS in 4m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/36db8a9f40084238876154b2b5f56979 : SUCCESS in 5m 11s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/46d5d21ba244453db764cfbb3492144d : SUCCESS in 6m 51s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c29353a999cd4577b6287e3ca69287e1 : SUCCESS in 5m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3e4a91cbdc1945a2abbb07466b2a70cc : SUCCESS in 6m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/159d566b06bf49b28bfc1d80497c23be : SUCCESS in 4m 21s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/311b9d8885ab4092be13fdecc495bd93 : SUCCESS in 4m 31s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/3d43afb14c0c465dbc7d8fbf0fbe601c : SUCCESS in 5m 55s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/05a9bcb06d5c42f4bd132277037c6a27 : SUCCESS in 7m 51s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/35d7c3e3833347de98524a6c05c592c7 : SUCCESS in 4m 34s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/a277d5c16aed484d944096ad40e8aaad : SUCCESS in 7m 26s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/a71a690d90444483949203e5f87caaea : SUCCESS in 4m 09s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/ccc54478b8c94c91a84b825e5d573ce2 : SUCCESS in 8m 14s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/62120bd5bf9b46318eba719ac3c5ca52 : SUCCESS in 5m 51s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/abc87b4c0c844a8ababc455bef4ca90b : SUCCESS in 8m 10s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/10f768be339d45d6b9ebe4a03c582878 : SUCCESS in 4m 46s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/f14b6ca9b9b243639ae2202c39ae4841 : SUCCESS in 15m 12s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/55427be537fa4bcb8a8d388e94fa531c : SUCCESS in 3m 52s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/04e9d1e79eb84dcaa6b2c2e1838951bf : SUCCESS in 4m 08s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/d1557fac141c497da555372c1393e073 : SUCCESS in 8m 11s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/c9062b9f365b4a839793d4d7b8e0db58 : SUCCESS in 7m 45s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/b97ddf208c02490987409891862cc62e : SUCCESS in 4m 42s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/6cc154bc10bd448391db6a03ee2c4aa3 : SUCCESS in 7m 34s","accounts_in_message":[],"_revision_number":18},{"id":"cd67535b93fb611374f9d77f6184a791e8fc6408","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-13 03:53:36.000000000","message":"Patch Set 19: Published edit on patch set 18.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":19},{"id":"6c609512cb278aabe5ad1c8e68b9bd608340557a","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-08-13 03:54:10.000000000","message":"Patch Set 19:\n\n(2 comments)","accounts_in_message":[],"_revision_number":19},{"id":"61d4f4aec1c9dfea9e69c0cd2b6932412b930c78","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 04:37:14.000000000","message":"Patch Set 19: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/46b0f0c8829b4abd82f6625a8fb93d05\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/9ec56c32c5624d03854803a6df01e94b : SUCCESS in 2m 17s\n- requirements-check https://zuul.opendev.org/t/openstack/build/7167063cd4424dc8848e4893ff544a7f : SUCCESS in 2m 57s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7ac559313f2b434bbe7844ff7279b6a1 : SUCCESS in 40m 36s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6f74b88a52cd4200b2c595a509650627 : SUCCESS in 7m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/05ae740ecf2e4927beebd137b1e50099 : SUCCESS in 4m 46s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f33b8baf9ec14689892be04ff9933d67 : SUCCESS in 7m 21s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9e44f42a648541f9b9f0040563b63b5b : SUCCESS in 7m 14s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2134848ea4aa4914a186885426c7d802 : SUCCESS in 8m 17s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/b077e8175fb0416583735d6c9abd3a70 : SUCCESS in 8m 16s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/93d95f24745a48e7b4ec494fa23d41c6 : SUCCESS in 4m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5e7e625906b146e9a080c0d97073a7f8 : SUCCESS in 4m 18s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/eeea109a8a284deda15e594648c165df : SUCCESS in 6m 28s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/a7f2047d34d0479384a96f1c078e2119 : SUCCESS in 5m 08s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/a2a62a874eeb499883948b86469400f8 : SUCCESS in 5m 13s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/e5f76db117d2437da4729f76458e57e7 : SUCCESS in 4m 37s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/f88af9e4e81841a39690472f230681c2 : SUCCESS in 4m 21s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/ff96b88771ac40bb8ea75f7751e79036 : SUCCESS in 5m 17s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/42117b2bf2e444fdbdcae2a52132d827 : SUCCESS in 8m 50s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/cbfb915cfaf9424b9b225361405f58bd : SUCCESS in 5m 26s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/5d4d3f5ddc53465d8e081b6c22f94eae : SUCCESS in 6m 02s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/1be37d888cc9426ab979e8d7a8cbfd15 : SUCCESS in 3m 58s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/0e8c614594024a1c8a94934b9c217486 : SUCCESS in 8m 15s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/739b6d35b2b44564864fe1af1dec6a0d : SUCCESS in 3m 15s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/7714f8c4ef1e460892d6fd3497c69987 : SUCCESS in 4m 17s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/e505b0fadfde45c49d5398fdb42d467a : SUCCESS in 9m 52s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/68efbac53949483ba84bf8dde66535aa : SUCCESS in 9m 00s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/eab53345dcab4f39b6f01ea11e7b6413 : SUCCESS in 4m 06s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/d503760c632f4ebf92150b89ca8d0838 : SUCCESS in 6m 30s","accounts_in_message":[],"_revision_number":19},{"id":"c5e6edeff3f04575cc015d1970a065a7a71ed9c3","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-13 11:47:39.000000000","message":"Patch Set 19:\n\n(2 comments)","accounts_in_message":[],"_revision_number":19},{"id":"d35b4184e647eab6e7b5b89c00b4c3c720e878b2","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-13 11:51:30.000000000","message":"Patch Set 19:\n\n(2 comments)","accounts_in_message":[],"_revision_number":19},{"id":"c0bb9b4b1c67efa7ff4ac56158bb6bc45c6e3978","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 20:57:15.000000000","message":"Uploaded patch set 20.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":20},{"id":"a1af0b01a5f359df8aaa500840ec0b8d7199bfa4","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 20:58:34.000000000","message":"Patch Set 19:\n\n(3 comments)","accounts_in_message":[],"_revision_number":19},{"id":"58f857c4f76e8a88147f4c4913ff2e6fed49acc0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 20:59:45.000000000","message":"Uploaded patch set 21: Commit message was updated.","accounts_in_message":[],"_revision_number":21},{"id":"d1f19083033c15d8d518b479a9947767e7361bf8","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 21:01:54.000000000","message":"Patch Set 21:\n\n(1 comment)","accounts_in_message":[],"_revision_number":21},{"id":"7c559259a5e93a3ec7d97c133532919c1276072d","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 21:28:19.000000000","message":"Patch Set 21:\n\n(1 comment)","accounts_in_message":[],"_revision_number":21},{"id":"5f9a37f19e908ec07dc0224650d7658e85138503","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 22:42:35.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4e4b5549fce540759f821a4453ac6199\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/fdf9448ef5a1477596f7aeb8a979eabd : SUCCESS in 2m 40s\n- requirements-check https://zuul.opendev.org/t/openstack/build/90e743d4f50a44e794a04d3a6e640ccf : SUCCESS in 3m 29s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ce651c253fd747ed85d03d42822708db : SUCCESS in 1h 36m 40s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c851a3545a844d14ab747aa29a16dc0a : SUCCESS in 5m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bc949d60595249e4a811f34c417ace02 : SUCCESS in 5m 06s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6f845b149c7f43bcb6b706c9d5a56869 : SUCCESS in 4m 51s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3d1ca86f65084675a0e6ec50e0a665a6 : SUCCESS in 4m 24s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9debc1fa145748198bc21fa3c6257116 : SUCCESS in 6m 54s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/d0fa3ab0587446c2bf832396fab5f608 : SUCCESS in 9m 30s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fb5bfb0273924d689089ff7fb5dd1a55 : SUCCESS in 3m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a031ff1ba81d441c87c385bbe471c885 : SUCCESS in 4m 44s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/81ab25dd2cdc4cbf9a358dcee263e670 : SUCCESS in 5m 06s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/66ecf1fe72ae48b094b0d5cc6fa024d6 : SUCCESS in 9m 06s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/fcf9ff7ac00c4ac7911e4fd1488c690e : SUCCESS in 7m 50s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/87c309d4f4794bab9868480241068c29 : SUCCESS in 3m 38s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/1b6e071ba3b447238fae862ab409f7e2 : SUCCESS in 6m 52s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/f50ee39d7c9245f6aeb5fdf5b48a5303 : SUCCESS in 6m 16s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/522eca39cef14bcf9108981884acacbc : SUCCESS in 8m 17s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/c52d78e93dd04763834e83dc703265ea : SUCCESS in 5m 47s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/0b34c158c1524134804c3675b1c209e3 : SUCCESS in 13m 08s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/7445168352c0429b8594e0db019d4d65 : SUCCESS in 4m 52s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/66c654e740464e559708e4eba8e99247 : SUCCESS in 5m 52s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/b7f1965f673644fd8b90391359ef368b : SUCCESS in 4m 45s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/286a6af80fd84037b171d85c17e8cef9 : SUCCESS in 7m 23s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/f07bd81b2e234fe397727cca684707a3 : SUCCESS in 8m 09s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/2f5934e1316341918d0a172f008e7b65 : SUCCESS in 8m 28s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/d1ce95b03a1a4cb0a6d14998319aca45 : SUCCESS in 5m 36s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/3e957681190841e7a5924321f6399dd3 : SUCCESS in 5m 37s","accounts_in_message":[],"_revision_number":21},{"id":"77cc09579dd4c30dcc76cc23b1e249955ac83baa","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 23:51:20.000000000","message":"Patch Set 21:\n\n(1 comment)","accounts_in_message":[],"_revision_number":21},{"id":"906d226d4d6f504ca32327964fa66c277d6f928a","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-13 23:54:26.000000000","message":"Patch Set 21:\n\n(1 comment)","accounts_in_message":[],"_revision_number":21},{"id":"c10375b0b7af36de86cbf495b088f5317609237a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-16 04:35:19.000000000","message":"Uploaded patch set 22.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":22},{"id":"26f5e6721ee1fe88ee24b73dfdf7a0014f0546e4","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-16 04:36:46.000000000","message":"Patch Set 22:\n\ncheck experimental","accounts_in_message":[],"_revision_number":22},{"id":"a125c719b8e5f1519aa2ecefb7507984c24746e7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 05:44:29.000000000","message":"Patch Set 22: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1962af0f692d40279033058498860a85\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/1e733159c8144c2b87165c28e6a43da8 : SUCCESS in 2m 25s\n- requirements-check https://zuul.opendev.org/t/openstack/build/a6f01374e4f1408687feed3fe5e67dac : SUCCESS in 3m 15s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6171d9ad908b4c93a007704905f74694 : SUCCESS in 1h 07m 09s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/36f1c5ea5afe4bc7af85bbb6e8e806dc : SUCCESS in 3m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ddce9aef31ca48a18353083dff3f99c0 : SUCCESS in 5m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9a8a3dd591cd4ae39fdef2843a6ebe3d : SUCCESS in 5m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f0166561d6cf41aeafb05aa17e05c194 : SUCCESS in 7m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2ce27442b74a4229a2fbc20474abbbda : SUCCESS in 8m 20s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/cea8c5b1699e49058b3da002a814ac1b : SUCCESS in 8m 30s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7a81002f93254a9a991978da517f38a5 : SUCCESS in 3m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b08bd9b46b2b4dd883fef325671d8571 : SUCCESS in 4m 58s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/d244e8ab6e0d48e7aac5bcdfe3396663 : SUCCESS in 2m 44s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/af7acf41bb244abf99f2659a27d0c993 : SUCCESS in 5m 57s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/9d4e1d2dd7d54beca17874d1c6d09dfc : SUCCESS in 7m 47s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/f3ec69d3fe024a3c9fca198c800c470d : SUCCESS in 3m 10s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/ec1329b8789347e8be0fc28ac55b1f2e : SUCCESS in 9m 33s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/adb0fa3d035b4fb794671651d304eecf : SUCCESS in 8m 59s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/3af71063bc954606ab721b272e9e003c : SUCCESS in 10m 53s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/9f79ce2a75e84d5aab3e50f7c4c52c93 : SUCCESS in 5m 21s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/f313178b62224d21ab853e9b52a51fd2 : SUCCESS in 8m 13s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/c29bd0d450574af8bc0fa7174b717a68 : SUCCESS in 5m 28s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/45315a5b623a4eb590806998c5dded90 : SUCCESS in 5m 43s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/11af3403afd04f4da9fb038da310c650 : SUCCESS in 4m 41s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/f18f7dc0a99445adbabf2b62622a3f73 : SUCCESS in 11m 54s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/a193a8f35cc7463bbc059e712d8825e2 : SUCCESS in 5m 59s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/7b82b4207349485484a4c56efead30a3 : SUCCESS in 9m 50s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/c8dba6ecf3cb434a8fa8b604aa163a08 : SUCCESS in 3m 43s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/9d8802f26d334be68d54175ffbd49dc2 : SUCCESS in 5m 54s","accounts_in_message":[],"_revision_number":22},{"id":"1a5f265496308fd05de3ba8bc646a1740676b5e8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 03:42:32.000000000","message":"Uploaded patch set 23.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":23},{"id":"5cc8619fad51f6a963413b73956aa63596ae558b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 04:46:53.000000000","message":"Patch Set 23: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5a066ac9db8140ccaa88053c024bd28b\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a573cef04a0045d0a6ee9a3ae149cc3c : SUCCESS in 4m 09s\n- requirements-check https://zuul.opendev.org/t/openstack/build/c8f076612e6e4f4888a1ec4f87b514ec : SUCCESS in 3m 00s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b8364822aef040849a1f038c100e8330 : SUCCESS in 1h 03m 30s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/80e35ba2959a4c9491e73f95c0f3b71b : SUCCESS in 5m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0988a369260541c186ebb84d9204ce44 : SUCCESS in 3m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ae99be8b025145eb8fe4e585318017e3 : SUCCESS in 3m 44s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/db3ecdca2ede4c7cb93defb88f9eff78 : SUCCESS in 4m 09s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/056305a298f04643a4cfc8f5fa7c0cbb : SUCCESS in 6m 12s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/65a778a8de304c019c8630012ad8f328 : SUCCESS in 8m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c22f47b4eb1540c786516b707f8ecc5a : SUCCESS in 3m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1c8cd21fce5549ccb2f3e23887155369 : SUCCESS in 3m 22s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/65c6e0b8f87d44f9b7b19fba198ea151 : SUCCESS in 4m 44s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/7ebc11f797024aa39948ca8f26fb5cd9 : SUCCESS in 4m 28s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/fa0a9cb0079c43e19029132a8979220d : SUCCESS in 5m 57s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/3f154ad6c5e8472ab452834043400b41 : SUCCESS in 3m 36s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/1bae062c6a814f75a96424fcbb35a977 : SUCCESS in 5m 28s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/e706eeaa630943b19438c02436028e18 : SUCCESS in 5m 00s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/8652c60b81c04f96b64f54e382f2311c : SUCCESS in 6m 23s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/f17dc2f7176b43ca9da4a95dc6125903 : SUCCESS in 4m 56s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/b2050bdfaf0b4784bb2027c5af36880e : SUCCESS in 6m 41s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/090b9cba25584cf3895755d0a091d758 : SUCCESS in 4m 03s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/2d5ecf39dfb643c5b0d7d66967e14502 : SUCCESS in 5m 39s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/708bd28056c04eacb94ace191154cc14 : SUCCESS in 3m 33s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/335c8e6866d242fbaf6b6155863f3aae : SUCCESS in 7m 06s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/b07aa07fb76a4d70a4738b1d91958b26 : SUCCESS in 5m 13s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/970a8d904c70428fb1b2a334597d718e : SUCCESS in 7m 16s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/58004cebad084a8599ed594de52907da : SUCCESS in 3m 24s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/23d29b7689964ff1ad66c86ef06840b1 : SUCCESS in 5m 54s","accounts_in_message":[],"_revision_number":23},{"id":"e0585003712c680666c6ca8cce040887194027c0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-17 06:27:27.000000000","message":"Uploaded patch set 24.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":24},{"id":"fdaca5a336be2809867838241b539487c30d6fff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 07:53:21.000000000","message":"Patch Set 24: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/41be14cfe600410e9c9f782e44cd5bf3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/6f293bb69ff541129e0ecf7ff93c5a5d : SUCCESS in 2m 37s\n- requirements-check https://zuul.opendev.org/t/openstack/build/ae852a018c4b4a148cc5db906d530838 : SUCCESS in 4m 37s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8eb3a47c67104817a6902ea3e5841fda : SUCCESS in 1h 21m 47s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/dc8df2ebaef9445f8a3a5baf6193da3d : SUCCESS in 5m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c28c92621d4f4a628ec7c87c3220cffb : SUCCESS in 5m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ccad9e25b2d0490ba67b216a83dadc8d : SUCCESS in 5m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0458c12aed8449878094275a729ff947 : SUCCESS in 8m 32s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/107d25c365494d1ab3c472302fde42a3 : SUCCESS in 8m 11s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/f57a1389dfe74d4582a1de6b9f673b77 : SUCCESS in 10m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7efa4660e22841dd8d3b94498b946e45 : SUCCESS in 4m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bb06db988382456abef2144ea06680a0 : SUCCESS in 4m 36s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/d7d69091c7834800b526df019996e824 : SUCCESS in 5m 00s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/575f100b763f44a2a892ed98b2b309fd : SUCCESS in 5m 47s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/d07a8386bf6d4d46b05e29efd31ad268 : SUCCESS in 9m 39s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/8343bc32abfb4209b3e5bf04f92b246d : SUCCESS in 5m 05s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/b8c4f21a245248148ad9ac0837efaaa0 : SUCCESS in 8m 04s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/37b193af39794edd878f3386d71e3f9b : SUCCESS in 6m 09s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/ac2923d71d584f9ba8aabfc3e73b4988 : SUCCESS in 8m 19s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/e3fc97a93e3e436c9a502b9d0afabc6f : SUCCESS in 6m 11s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/267b6d5727b04680a2450a0e83be303a : SUCCESS in 8m 47s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/f7b6d44cdc9f49c4a5319622277ed3cf : SUCCESS in 8m 28s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/e2bd203021504663acb7313ff603f514 : SUCCESS in 7m 44s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/f589e287759846978c8435e7c92becfe : SUCCESS in 7m 52s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/dc34f0223bd44dc18df72f44b159eab3 : SUCCESS in 10m 10s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/5ad6f254f6114bacaa3f1fd6a6c359f9 : SUCCESS in 6m 27s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/a9434f77121841fe857acdf8a8d9f612 : SUCCESS in 7m 38s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/50f5be2d8d7346bb9610d8c99f96c5cf : SUCCESS in 5m 21s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/d8924530778b49899c262289d5bb3a41 : SUCCESS in 7m 06s","accounts_in_message":[],"_revision_number":24},{"id":"e3a7ba7e5a6cd166a1c89ed9205362e230de349d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-19 10:10:32.000000000","message":"Uploaded patch set 25.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":25},{"id":"cf729ddcb8e376628a8bdc0f960b62a904e80348","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 11:29:44.000000000","message":"Patch Set 25: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5804edc8ef1e46e687c2e8d5dd6ba6f4\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/a5d4e53f69234534b0d36368118892a1 : SUCCESS in 2m 56s\n- requirements-check https://zuul.opendev.org/t/openstack/build/4779f8e08f4349f98fc3bfb45216eb34 : SUCCESS in 4m 20s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/1ad98c2674734ccb9c14acd92a4dea0a : SUCCESS in 1h 16m 51s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f6feacc5e45e4df2afd841d79fa4ea36 : SUCCESS in 8m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9b77252fb8bb4cd088a4a76b1a015a71 : SUCCESS in 7m 25s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/217e984f9abe44b5b1d94713d6928246 : SUCCESS in 5m 58s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/815b4c3bc7144192acf6e9c740dd14f7 : SUCCESS in 8m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4a3564013d454058ad98aaad9f79de8d : SUCCESS in 7m 40s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/c969aa30368f41e6a1cbdda2c0ce4c15 : SUCCESS in 6m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/740339c90e914d7eb6d227c661a4f952 : SUCCESS in 5m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/955fd303e0e0480d923d38c9d6f06d73 : SUCCESS in 5m 14s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/1c8e001de7924be7bf5c32fb9a0e8e98 : SUCCESS in 5m 28s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/77b4c58e50c644c4aea2c13b478b383c : SUCCESS in 4m 14s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/afc94e09457c416389e4b76725ad94c0 : SUCCESS in 10m 18s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/dacdbf1661fd4ee5979f543336ec5396 : SUCCESS in 5m 05s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/e6df01eb71974ca6bed06fa38e64c19f : SUCCESS in 7m 05s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/4cf3e5d7228d477b8bd1453797d1b1c1 : SUCCESS in 5m 03s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/a8d0f687052746eeba001d4d1215b2c0 : SUCCESS in 8m 15s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/68ee01685c67431d8e505c49ce5ce025 : SUCCESS in 6m 22s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/f0f6dc2a558549c5ace4be87ab06bf90 : SUCCESS in 8m 23s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/e1202ca73fdc41f289087363892b8943 : SUCCESS in 5m 55s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/35e6149fbfb5416688ad7e6321a7b78c : SUCCESS in 7m 31s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/0758ceff63c64631b124b3c737860be0 : SUCCESS in 5m 01s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/af64023ee02c42b8873bbb2646e9bdb8 : SUCCESS in 4m 36s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/f7f3ac2090f9415da3b98204bf1a9422 : SUCCESS in 7m 59s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/549b3e1c270f478e89b909a175f4bf5b : SUCCESS in 8m 17s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/42c9674631cc4469a9212c8f7bb67a31 : SUCCESS in 4m 26s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/e8491f0f20514e329a87c74bd21cb559 : SUCCESS in 7m 59s","accounts_in_message":[],"_revision_number":25},{"id":"72e01ddd694456a5a2bfec847238edd5ac44b1db","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-24 11:05:38.000000000","message":"Uploaded patch set 26.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":26},{"id":"b3d3d151a6a6b46963fc85344c59d3a8cb1c848a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 12:52:29.000000000","message":"Patch Set 26: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/deefca75c0a8477b89ec9a4760b825e2\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/e076daf1586a4197aa929a22e60b7fa1 : SUCCESS in 1m 51s\n- requirements-check https://zuul.opendev.org/t/openstack/build/33b9c561bab1400b9c01849c97ece214 : SUCCESS in 3m 20s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9e3e2c32a4c546c2b746ef3830123d17 : SUCCESS in 1h 40m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/338d91568f01490ebdd292b7e48b419b : SUCCESS in 6m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/94194e33ee494d65a1f46e3d14d2e252 : SUCCESS in 7m 39s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e93f7f4723fd40c59405b34f0d6b44da : SUCCESS in 5m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7104042bebb5431fb98133b59ec45dde : SUCCESS in 11m 35s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/0ed6cec6a3244a9180d81d8ae701301e : SUCCESS in 5m 36s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/646786b7bd94433c889a7bf9e5bdf342 : SUCCESS in 8m 14s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9032db1c502f43b7b5117767ee3df8da : SUCCESS in 3m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/63ce65b8e20b4daa9a558f83f9e63103 : SUCCESS in 5m 01s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/1c42b086380845ec9b25f73c2a53e7c7 : SUCCESS in 4m 56s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/bc33381a818e4ef983216f9d26687376 : SUCCESS in 5m 19s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/c83eec9b0f244e2aa68a79a71a94b7fc : SUCCESS in 14m 52s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/5b72b1d185c1405cbc29f5843c1c7974 : SUCCESS in 4m 57s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/2a58c54dde9d4ee3a814cd66babf5294 : SUCCESS in 7m 31s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/852f30252fc547758360a2da1aa8561a : SUCCESS in 5m 53s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/97bdf0c5b8fa48038f2714a0e53e4def : SUCCESS in 8m 37s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/13c5b81681c04ba8b384e6135f07a5a1 : SUCCESS in 6m 54s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/038b24abc8cb498e85d1fc704ad7a524 : SUCCESS in 8m 41s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/05ac68865db64dde8dec74f35f468095 : SUCCESS in 5m 09s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/b4d4e0c9eb7c4e09978c3b13d99e25ed : SUCCESS in 8m 12s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/22b890e59b8745afb7a5e90ae4851ebf : SUCCESS in 5m 02s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/8bc1b887f5cc4e58b67254077ae0f955 : SUCCESS in 5m 24s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/ef2b436dbd384c4bb796967b26587942 : SUCCESS in 4m 35s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/caaef0aa2e4c4f658488e1b0f5091479 : SUCCESS in 4m 47s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/8c5611062cab4e98adb1648f9812e841 : SUCCESS in 4m 57s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/6b53b9afb8654674b67646338011e3b9 : SUCCESS in 5m 02s","accounts_in_message":[],"_revision_number":26},{"id":"e79b1daf56803b00779c7ae5a7c812f48bbe72de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-08-25 14:58:35.000000000","message":"Uploaded patch set 27.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":27},{"id":"116e7432455bb4e140aaee3e3c219de7caa3d97a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 16:45:00.000000000","message":"Patch Set 27: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ac7af86b5ea443b7b47f046135b5ed03\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/34f775c26eae4724a96fe36702531d02 : SUCCESS in 3m 59s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f5be2a45c38e41f0aac124c271b2ab61 : SUCCESS in 2m 41s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/558f1ec553484f52abd61168fc868ae0 : SUCCESS in 1h 39m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/844399464fda427d9eae5c358f03bc03 : SUCCESS in 4m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/81fc8bfbcbbe4b49a79f6aee587433cf : SUCCESS in 3m 52s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d33515bdb33c41d4aae3f96273c6e955 : SUCCESS in 7m 44s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2e5b93ed5ecc4783922a87c2e76a3cc2 : SUCCESS in 4m 51s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6b11fa6c80434c4681fc8a8be87f2f53 : SUCCESS in 6m 58s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/551038a348234038accdb7e0055315fa : SUCCESS in 9m 34s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/69be5861c1ca41a0baf901a323700312 : SUCCESS in 5m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/488eec7562d3468eb09306fbd1366fcd : SUCCESS in 5m 55s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/d2fd9828cf9243848ecce050eeff778e : SUCCESS in 3m 42s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/2bfbac19a5e04c3d811af1e9374f13dc : SUCCESS in 7m 16s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/d13e9c8dacba46d4933a244136ab3139 : SUCCESS in 9m 15s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/68f9a84a98804b13830f607ff6131a2c : SUCCESS in 7m 17s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/36892b9d61174020b69a2b3c4c3a0e6b : SUCCESS in 9m 30s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/82aa27083139486c98ef52d916f5d835 : SUCCESS in 5m 31s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/366ff920f0df4be293eac1e61ae938cc : SUCCESS in 10m 12s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/5adeb91fa1204bf58be8c96464128c8f : SUCCESS in 6m 16s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/bdcf8c1c53de4c1682756f6734ccd391 : SUCCESS in 9m 13s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/91af4e829d0b4fcf825f6e295bd32cc9 : SUCCESS in 7m 06s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/3f6672bf51564db2811aedb47aa37564 : SUCCESS in 8m 33s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/736d82a64b5e465fb483b991668e5380 : SUCCESS in 3m 49s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/5fd638d33d9f45cb96a0bdd4822ec3e6 : SUCCESS in 8m 58s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/83a95a7754c14a81b37d16792d9b086e : SUCCESS in 7m 02s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/fc33d2c19c23420ba90286a4d8ef3caa : SUCCESS in 8m 33s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/02f8097d01674cb6ab52981ba2029052 : SUCCESS in 5m 18s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/2db56cc869d04b81bdc980fc4ebb2681 : SUCCESS in 6m 21s","accounts_in_message":[],"_revision_number":27},{"id":"bc719fb360d701dfd3d74aa0ae7e17eaa159ff41","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-06 09:03:05.000000000","message":"Uploaded patch set 28.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":28},{"id":"c9e5521f10c9eceafc05837752b7a0d2c1887af7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-06 10:52:37.000000000","message":"Patch Set 28: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ebc9f6c4ab414b5b8a9a911e9c4d6a4e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/65341cfca1e344a3ada9779820fab216 : SUCCESS in 2m 55s\n- requirements-check https://zuul.opendev.org/t/openstack/build/41bdf184f962493aa7a6e01d3ce2cb68 : SUCCESS in 2m 31s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/04e1f060b7d94c0f945dfaca28792d3c : SUCCESS in 1h 42m 59s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0e26c8dc1a8e4973b004e99466eb69b5 : SUCCESS in 6m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/35943a99415d4e899acdf1b0ce36be73 : SUCCESS in 6m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e8166d34403d46719c6e6d3399d7e442 : SUCCESS in 5m 22s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/84c50f5243c84064ba3b0be010e4e7b4 : SUCCESS in 5m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2c2f0ac43e3e40bc8746281fe0dcd833 : SUCCESS in 8m 04s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/1c75f68874df43398ad408fc9d14c4c7 : SUCCESS in 8m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1dcd409c023545dbb674e2c98ee2a6b7 : SUCCESS in 3m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7dee4ef2ba0b43e8ad705bcdb6fe6bb5 : SUCCESS in 3m 59s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/84a3233b92424563ad85cc401ee575aa : SUCCESS in 5m 10s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/f3a5c69c1f934dc99362db13198dfba1 : SUCCESS in 5m 25s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/6f4e85c512a14792bfb9615567e9b95d : SUCCESS in 7m 51s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/62c826261f8d4cbda01815a106280c61 : SUCCESS in 5m 06s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/8de4a75ba1ad4a618f55af5a3e93a020 : SUCCESS in 7m 58s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/33c6f9e35f1c41cbaeec468df18e8ebc : SUCCESS in 9m 14s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/376ee4da71d14705aa3e7c16f05c32ff : SUCCESS in 8m 32s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/c7fbda7fcb4046c08486f65cf4dbb4f1 : SUCCESS in 6m 04s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/db5ec6140b744704a50bdb7c997e738b : SUCCESS in 10m 43s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/ebdfe30a57e94063b627648235225416 : SUCCESS in 5m 17s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/b5843888c5994473a133c831fcb4ffc7 : SUCCESS in 7m 04s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/3563cbda1b4141a1b164d2c6afa4793f : SUCCESS in 4m 05s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/c6a6a0089e4d4cd5addbb568090fe641 : SUCCESS in 7m 01s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/ef42f0b66bcd4572962e792dd7b45192 : SUCCESS in 8m 22s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/30e673fad8d94d4b90af7962b887e761 : SUCCESS in 7m 48s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/6e31d9637de54d0bb471b0e1a2ace7ee : SUCCESS in 4m 11s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/26edad493bb044279267a6144caf311d : SUCCESS in 7m 28s","accounts_in_message":[],"_revision_number":28},{"id":"6bf80cac2d1f47054d9abef294b15ead092ac885","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"date":"2026-09-10 11:52:47.000000000","message":"Uploaded patch set 29.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":29},{"id":"0020ead54163408367aa77bcacb1d5ac5caae74d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-10 13:49:04.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0b23b05a9564458b8d6beedcd4e242bc\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ea65c27c8e3b4ca8add03f033f3fccc4 : SUCCESS in 3m 03s\n- requirements-check https://zuul.opendev.org/t/openstack/build/79dac3250699496f857617f4fd775e39 : SUCCESS in 3m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/53320b69147c444e8e1b83c3b828a42f : SUCCESS in 1h 49m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/18a9d623cd714c7ea51ed392b6164b93 : SUCCESS in 5m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/69e66d642d3543f19932bc9c39521cf1 : SUCCESS in 6m 31s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3374507cc7aa41cc8b7a80a350cb43ca : SUCCESS in 5m 43s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8013dcc84e1d4c079b09ba0b3887ac7c : SUCCESS in 5m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d0708c2e66db4d739380ec48e464ac97 : SUCCESS in 6m 30s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/8ba94bf6390a44e08737b6b25174cc73 : SUCCESS in 17m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/edde83839e0e4e4bb8751a6ba11ede40 : SUCCESS in 5m 54s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c2e2ef74487241e198340ada627d52cb : SUCCESS in 4m 33s\n- tooz-tox-examples https://zuul.opendev.org/t/openstack/build/0ed0b60d89cf45b29ab7ceb26d996968 : SUCCESS in 3m 43s\n- tooz-tox-py311-etcd3gw https://zuul.opendev.org/t/openstack/build/63ac9765f4cd4b87a8464a43e310b5c2 : SUCCESS in 4m 58s\n- tooz-tox-py314-etcd3gw https://zuul.opendev.org/t/openstack/build/01c62d59c9c94f48af17764a6e31d8e7 : SUCCESS in 15m 39s\n- tooz-tox-py311-zookeeper https://zuul.opendev.org/t/openstack/build/e1b789dce6b6487aa50cd5de8ff1ff3a : SUCCESS in 9m 34s\n- tooz-tox-py314-zookeeper https://zuul.opendev.org/t/openstack/build/9e19548609414e35bcfc48f0e6c61c37 : SUCCESS in 5m 19s\n- tooz-tox-py311-redis https://zuul.opendev.org/t/openstack/build/7dbc2062e28d4ef683975eb30846bbe2 : SUCCESS in 5m 59s\n- tooz-tox-py314-redis https://zuul.opendev.org/t/openstack/build/f53cba4438a1440e9f7852dcc2774f3c : SUCCESS in 8m 19s\n- tooz-tox-py311-sentinel https://zuul.opendev.org/t/openstack/build/e1317cb0ab944960972fea3c6d3339c8 : SUCCESS in 6m 13s\n- tooz-tox-py314-sentinel https://zuul.opendev.org/t/openstack/build/4fd6619042f742de8c0842934f357dfe : SUCCESS in 8m 10s\n- tooz-tox-py311-memcached https://zuul.opendev.org/t/openstack/build/c41e3c3ba6644ac59921e80c5055712a : SUCCESS in 5m 18s\n- tooz-tox-py314-memcached https://zuul.opendev.org/t/openstack/build/a4e37c361adf4ffba977a09d883ae3a4 : SUCCESS in 7m 41s\n- tooz-tox-py311-postgresql https://zuul.opendev.org/t/openstack/build/02d51c27e94541fc8ec6e81fc4cfa30e : SUCCESS in 4m 59s\n- tooz-tox-py314-postgresql https://zuul.opendev.org/t/openstack/build/ed97febddb124f5ebd8e626d5f45e9eb : SUCCESS in 7m 35s\n- tooz-tox-py311-mysql https://zuul.opendev.org/t/openstack/build/4455344e0ad340c0bdeb5cf990e07d5d : SUCCESS in 7m 35s\n- tooz-tox-py314-mysql https://zuul.opendev.org/t/openstack/build/027d656d22d145729c5c32039d785fef : SUCCESS in 5m 38s\n- tooz-tox-py311-consul https://zuul.opendev.org/t/openstack/build/8762e442403e45c7a08c6b63e2024520 : SUCCESS in 5m 24s\n- tooz-tox-py314-consul https://zuul.opendev.org/t/openstack/build/f9d6001aa28e4538872bb8fe1baed2ae : SUCCESS in 8m 35s","accounts_in_message":[],"_revision_number":29}],"current_revision_number":29,"current_revision":"6e9d3c8c9ea27d423762fb61f21ea6816321d4f8","revisions":{"239c977c1af7ef7264b5b57940b0439a2fdce42c":{"kind":"REWORK","_number":1,"created":"2026-07-14 00:33:06.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/1"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/239c977c1af7ef7264b5b57940b0439a2fdce42c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/239c977c1af7ef7264b5b57940b0439a2fdce42c"}]},"branch":"refs/heads/master"},"4a6a7ae3ccd9cce7d29c3bd1c203acb39d422103":{"kind":"REWORK","_number":2,"created":"2026-07-14 00:44:47.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/2"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:44:45.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4a6a7ae3ccd9cce7d29c3bd1c203acb39d422103"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4a6a7ae3ccd9cce7d29c3bd1c203acb39d422103"}]},"branch":"refs/heads/master"},"b13961a15c8f25dab47f45926016577fdd42017c":{"kind":"REWORK","_number":3,"created":"2026-07-14 05:55:45.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/3"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 05:55:43.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/b13961a15c8f25dab47f45926016577fdd42017c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/b13961a15c8f25dab47f45926016577fdd42017c"}]},"branch":"refs/heads/master"},"4e72e1880821cc0db9612a7e7a705c52d422c8c6":{"kind":"REWORK","_number":4,"created":"2026-07-14 08:21:01.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/4"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 08:20:31.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4e72e1880821cc0db9612a7e7a705c52d422c8c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4e72e1880821cc0db9612a7e7a705c52d422c8c6"}]},"branch":"refs/heads/master"},"c3bd2a92a880f78626cea2a18761b7ae233ad97f":{"kind":"REWORK","_number":5,"created":"2026-07-14 09:47:25.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/5"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 09:15:32.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/c3bd2a92a880f78626cea2a18761b7ae233ad97f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/c3bd2a92a880f78626cea2a18761b7ae233ad97f"}]},"branch":"refs/heads/master"},"ae97f45bc24cfa99f20f025229c93b3e4dae0093":{"kind":"REWORK","_number":6,"created":"2026-07-14 18:08:55.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/6"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 18:03:11.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/ae97f45bc24cfa99f20f025229c93b3e4dae0093"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/ae97f45bc24cfa99f20f025229c93b3e4dae0093"}]},"branch":"refs/heads/master"},"5ec3b113fdf4a6dae221eb5137824747d1af6c47":{"kind":"REWORK","_number":7,"created":"2026-07-14 18:35:19.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/7"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 18:34:11.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/5ec3b113fdf4a6dae221eb5137824747d1af6c47"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/5ec3b113fdf4a6dae221eb5137824747d1af6c47"}]},"branch":"refs/heads/master"},"443f49dd5b52cf6f6d5704171eee99435921bc5c":{"kind":"REWORK","_number":8,"created":"2026-07-14 21:11:45.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/8"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 21:08:47.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/443f49dd5b52cf6f6d5704171eee99435921bc5c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/443f49dd5b52cf6f6d5704171eee99435921bc5c"}]},"branch":"refs/heads/master"},"a5ff74c0bd3ebde27b518b0e0a971ac31826163d":{"kind":"REWORK","_number":9,"created":"2026-07-14 23:21:00.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/9"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 22:21:20.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/a5ff74c0bd3ebde27b518b0e0a971ac31826163d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/a5ff74c0bd3ebde27b518b0e0a971ac31826163d"}]},"branch":"refs/heads/master"},"46544ad3a9192bf24e1b2ad28a6053e2beb7a3b8":{"kind":"REWORK","_number":10,"created":"2026-07-14 23:30:37.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/10"}}},"commit":{"parents":[{"commit":"f596120464a3138e985964b964240d1330ae1aed","subject":"Add get_members_with_capabilities() for batched discovery","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f596120464a3138e985964b964240d1330ae1aed"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 23:27:46.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and TTL health checks for liveness — matching how LY\nCorp\u0027s oslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nArchitecture:\n- join_group: agent.service.register with TTL check + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per registered service\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/46544ad3a9192bf24e1b2ad28a6053e2beb7a3b8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/46544ad3a9192bf24e1b2ad28a6053e2beb7a3b8"}]},"branch":"refs/heads/master"},"051db218a27cc7dcee91ccac5ec7c4cd8a51d557":{"kind":"REWORK","_number":11,"created":"2026-07-16 21:50:29.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/11"}}},"commit":{"parents":[{"commit":"8092db737af37932636776926ec188af5778c9de","subject":"Add get_members_with_capabilities() and endpoint-health plumbing","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/8092db737af37932636776926ec188af5778c9de"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 21:45:14.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness — matching how LY Corp\u0027s\noslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises endpoint information in its capabilities\n(host/port/enable_ssl, or an explicit health_url), it is registered\nwith a Consul server-side HTTP health check against that endpoint, so\ndiscovery (passing\u003dTrue) only returns members whose endpoint is\nactually reachable and answering — not merely members whose TTL is\ncurrent.  This is the ConsulOperator behaviour LY Corp relied on:\nConsul actively probes the RPC endpoint and auto-deregisters it when\nthe check stays critical (DeregisterCriticalServiceAfter).\n\nMembers that advertise no endpoint fall back to a self-reported TTL\ncheck driven by heartbeat().  The driver sets provides_endpoint_health\n\u003d True so a consumer can skip its own endpoint probing on Consul and\nrely on the backend having filtered unhealthy endpoints.\n\nDeployer note: the Consul agent must be able to reach the advertised\nendpoint URL; in host-network / reverse-proxy topologies advertise a\nreachable address (or an explicit health_url), and set\nhealth_tls_skip_verify when endpoints use a private CA the agent does\nnot trust.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/051db218a27cc7dcee91ccac5ec7c4cd8a51d557"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/051db218a27cc7dcee91ccac5ec7c4cd8a51d557"}]},"branch":"refs/heads/master"},"def98c8622be27800ab48ffbcb46f4b11f35926c":{"kind":"REWORK","_number":12,"created":"2026-07-16 22:38:03.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/12"}}},"commit":{"parents":[{"commit":"98499819b894fca228813dd4b767be41c850f9ef","subject":"Add get_members_with_capabilities() and endpoint-health plumbing","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/98499819b894fca228813dd4b767be41c850f9ef"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-16 22:33:25.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness — matching how LY Corp\u0027s\noslo.messaging ConsulOperator registers HTTP-RPC endpoints.\n\nKV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises endpoint information in its capabilities\n(host/port/enable_ssl, or an explicit health_url), it is registered\nwith a Consul server-side HTTP health check against that endpoint, so\ndiscovery (passing\u003dTrue) only returns members whose endpoint is\nactually reachable and answering — not merely members whose TTL is\ncurrent.  This is the ConsulOperator behaviour LY Corp relied on:\nConsul actively probes the RPC endpoint and auto-deregisters it when\nthe check stays critical (DeregisterCriticalServiceAfter).\n\nMembers that advertise no endpoint fall back to a self-reported TTL\ncheck driven by heartbeat().  The driver sets provides_endpoint_health\n\u003d True so a consumer can skip its own endpoint probing on Consul and\nrely on the backend having filtered unhealthy endpoints.\n\nDeployer note: the Consul agent must be able to reach the advertised\nendpoint URL; in host-network / reverse-proxy topologies advertise a\nreachable address (or an explicit health_url), and set\nhealth_tls_skip_verify when endpoints use a private CA the agent does\nnot trust.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/def98c8622be27800ab48ffbcb46f4b11f35926c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/def98c8622be27800ab48ffbcb46f4b11f35926c"}]},"branch":"refs/heads/master"},"a5e578184c2a827901530a6c549b180aace8e6d9":{"kind":"REWORK","_number":13,"created":"2026-07-20 10:57:40.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/13"}}},"commit":{"parents":[{"commit":"b05c8e369b74ce2d2bce0dc39f0950f516c858c8","subject":"Add endpoint-health introspection plumbing","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/b05c8e369b74ce2d2bce0dc39f0950f516c858c8"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-20 10:57:06.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``health_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``health_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a health_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/a5e578184c2a827901530a6c549b180aace8e6d9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/a5e578184c2a827901530a6c549b180aace8e6d9"}]},"branch":"refs/heads/master"},"63e91e702832d994a492be2e1f5883131add70c6":{"kind":"TRIVIAL_REBASE","_number":14,"created":"2026-07-22 05:18:11.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/14"}}},"commit":{"parents":[{"commit":"a22dbde51d6a3586f7bc3a0b7ab8db3cad265b9d","subject":"Add endpoint-health introspection plumbing","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/a22dbde51d6a3586f7bc3a0b7ab8db3cad265b9d"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-22 03:47:39.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``health_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``health_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a health_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/63e91e702832d994a492be2e1f5883131add70c6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/63e91e702832d994a492be2e1f5883131add70c6"}]},"branch":"refs/heads/master"},"e3661f3f6338547bd4d29f54e359638b1bb14542":{"kind":"REWORK","_number":15,"created":"2026-07-23 08:28:14.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/15"}}},"commit":{"parents":[{"commit":"92884b42d14b95a9f3145063baad9419e69809de","subject":"Add get_members_with_capabilities()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/92884b42d14b95a9f3145063baad9419e69809de"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-23 07:31:09.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``health_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``health_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a health_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/e3661f3f6338547bd4d29f54e359638b1bb14542"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/e3661f3f6338547bd4d29f54e359638b1bb14542"}]},"branch":"refs/heads/master"},"2cd46ee7090e33222e04bd8812e449ad340896cb":{"kind":"REWORK","_number":16,"created":"2026-08-07 02:53:02.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/16"}}},"commit":{"parents":[{"commit":"92884b42d14b95a9f3145063baad9419e69809de","subject":"Add get_members_with_capabilities()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/92884b42d14b95a9f3145063baad9419e69809de"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-07 02:52:49.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/2cd46ee7090e33222e04bd8812e449ad340896cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/2cd46ee7090e33222e04bd8812e449ad340896cb"}]},"branch":"refs/heads/master"},"4bb35da7c3256a62036aa250fdbecca1d8676675":{"kind":"REWORK","_number":17,"created":"2026-08-11 07:00:22.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/17"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-11 06:59:56.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4bb35da7c3256a62036aa250fdbecca1d8676675"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/4bb35da7c3256a62036aa250fdbecca1d8676675"}]},"branch":"refs/heads/master"},"1cf5dbb1b221cfc7b0fe3b56470b1bd9e3f444cd":{"kind":"REWORK","_number":18,"created":"2026-08-13 01:30:11.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/18"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-13 01:30:10.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1cf5dbb1b221cfc7b0fe3b56470b1bd9e3f444cd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1cf5dbb1b221cfc7b0fe3b56470b1bd9e3f444cd"}]},"branch":"refs/heads/master"},"67f62a415d8554234cadcd5b356cb135c1cdf4ad":{"kind":"REWORK","_number":19,"created":"2026-08-13 03:53:36.000000000","uploader":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"ref":"refs/changes/45/997145/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/19"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","date":"2026-08-13 03:53:36.000000000","tz":0},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nDepends-On: https://review.opendev.org/c/openstack/requirements/+/997160\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/67f62a415d8554234cadcd5b356cb135c1cdf4ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/67f62a415d8554234cadcd5b356cb135c1cdf4ad"}]},"branch":"refs/heads/master"},"349fd5a662f541edb35ebfc61efa44c67ba4da02":{"kind":"REWORK","_number":20,"created":"2026-08-13 20:57:15.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/20"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-13 12:06:52.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/349fd5a662f541edb35ebfc61efa44c67ba4da02"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/349fd5a662f541edb35ebfc61efa44c67ba4da02"}]},"branch":"refs/heads/master"},"82168ba85fe54a54ffaa4112c0f89940d5b37267":{"kind":"NO_CODE_CHANGE","_number":21,"created":"2026-08-13 20:59:45.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/21"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-13 20:59:26.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduces Consul support using py-consul (actively maintained\nMIT-licensed fork by Criteo).  Unlike the removed KV-only driver,\nthis implementation uses Consul\u0027s native service catalog for group\nmembership and health checks for liveness.\n\nThe KV store is used only for group existence markers (GroupNotCreated\nsemantics) and distributed locks (session + KV acquire pattern).\n\nEndpoint health checks\n----------------------\n\nWhen a member advertises an explicit endpoint ``healthcheck_url`` capability,\nit is registered with a Consul server-side HTTP health check against\nthat URL, so discovery (passing\u003dTrue) only returns members whose\nendpoint is actually reachable and answering -- not merely members\nwhose TTL is current.  Consul actively probes the endpoint and\nauto-deregisters it when the check stays critical\n(DeregisterCriticalServiceAfter).\n\nMembers that advertise no ``healthcheck_url`` fall back to a self-reported\nTTL check driven by heartbeat().  The driver sets\nprovides_endpoint_health \u003d True so a consumer can skip its own endpoint\nprobing on Consul and rely on the backend having filtered unhealthy\nendpoints.\n\nArchitecture:\n- join_group: agent.service.register with an HTTP endpoint health check\n  when a healthcheck_url is advertised, else a TTL check, + Meta\n- leave_group: agent.service.deregister\n- get_members: health.service(passing\u003dTrue)\n- heartbeat: agent.check.ttl_pass per TTL-checked service (HTTP-checked\n  services are probed server-side and are not heartbeat)\n- get_lock: session.create + kv.put(acquire\u003dsession_id)\n- get_members_with_capabilities: single health.service call\n\nConnection URL: consul://[HOST[:PORT]][?token\u003d\u0026membership_timeout\u003d30\n                \u0026health_check_interval\u003d10\u0026health_tls_skip_verify\u003dfalse]\n\nGenerated-By: Claude (claude-opus-4.6)\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/82168ba85fe54a54ffaa4112c0f89940d5b37267"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/82168ba85fe54a54ffaa4112c0f89940d5b37267"}]},"branch":"refs/heads/master"},"3bf5db4e66b889ae974ceb389d9aecfb6ddcd92c":{"kind":"REWORK","_number":22,"created":"2026-08-16 04:35:19.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/22"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-16 02:46:31.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client.\nUse Consul\u0027s native service catalog and health checks for group membership,\nthe KV store for group markers, and Consul sessions plus KV acquire\noperations for distributed locks.\n\nMembers that advertise a healthcheck_url use a Consul HTTP check. Other\nmembers use a heartbeat-driven TTL check. Heartbeat also reconciles group\nmarkers, registrations, and checks after a local agent loses its state.\nBound every Consul API request so an unavailable agent cannot block the\nheartbeat thread indefinitely.\n\nSupport Consul API HTTP and HTTPS, ACL tokens, CA and client\ncertificates, and separate TLS-verification controls for the API and RPC\nendpoint health checks. Apply ACL tokens to all agent requests and document\nthe minimum agent, service, node, KV, and session policy. Keep the\nhistorical Tooz acl_token, ttl, and namespace URL options.\n\nUse distinct options for membership timeout, catalog query wait,\nrequest timeout, and native health-check timing. Derive the request timeout\nfrom the membership timeout unless the operator supplies an explicit\nvalue.\n\nAdd an opt-in catalog compatibility mode. It preserves stable service\nIDs, native address and port fields, server tags, health-check IDs, and\ncompatible metadata. A stable service ID also replaces a compatible\nregistration that predates Tooz metadata. Qualify fallback member\nidentities with the Consul node and datacenter.\n\nDiscovery prefers the local datacenter, falls back to remote\ndatacenters, combines all datacenters when requested, and applies a Consul\ntag filter for directed lookups.\n\nTreat Consul\u0027s transient missing-node-registration response as a\nconnection error so applications can retry startup while a new agent\nregisters itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/3bf5db4e66b889ae974ceb389d9aecfb6ddcd92c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/3bf5db4e66b889ae974ceb389d9aecfb6ddcd92c"}]},"branch":"refs/heads/master"},"9d135fd4c942cd5957c15c090b5ee9a4449ec7b0":{"kind":"REWORK","_number":23,"created":"2026-08-17 03:42:32.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/23"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 03:42:32.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/9d135fd4c942cd5957c15c090b5ee9a4449ec7b0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/9d135fd4c942cd5957c15c090b5ee9a4449ec7b0"}]},"branch":"refs/heads/master"},"f23e8f68a1763c4f9c7f2f3b38f52a72bbd57127":{"kind":"REWORK","_number":24,"created":"2026-08-17 06:27:27.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/24"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-17 06:24:14.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f23e8f68a1763c4f9c7f2f3b38f52a72bbd57127"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/f23e8f68a1763c4f9c7f2f3b38f52a72bbd57127"}]},"branch":"refs/heads/master"},"0b25597d73e5a2156a2cab68869daf9225dcc251":{"kind":"REWORK","_number":25,"created":"2026-08-19 10:10:32.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/25"}}},"commit":{"parents":[{"commit":"1d7c2052a5bb09713e82883b86de69e66f62e9a0","subject":"Merge \"Add get_members_with_capabilities()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1d7c2052a5bb09713e82883b86de69e66f62e9a0"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-19 10:07:16.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/0b25597d73e5a2156a2cab68869daf9225dcc251"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/0b25597d73e5a2156a2cab68869daf9225dcc251"}]},"branch":"refs/heads/master"},"37551b0cdab5cb1fdb0d4dfe8fd7249cf643d3f9":{"kind":"REWORK","_number":26,"created":"2026-08-24 11:05:38.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/26"}}},"commit":{"parents":[{"commit":"97ff7ffe6169919d7f96636c20e38c49d70627b3","subject":"Merge \"Remove duplicated optional dependencies from test requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/97ff7ffe6169919d7f96636c20e38c49d70627b3"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-24 11:00:08.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/37551b0cdab5cb1fdb0d4dfe8fd7249cf643d3f9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/37551b0cdab5cb1fdb0d4dfe8fd7249cf643d3f9"}]},"branch":"refs/heads/master"},"53757a8902aad02edbdd555cc7225b9a4fc1bb20":{"kind":"REWORK","_number":27,"created":"2026-08-25 14:58:35.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/27"}}},"commit":{"parents":[{"commit":"97ff7ffe6169919d7f96636c20e38c49d70627b3","subject":"Merge \"Remove duplicated optional dependencies from test requirements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/97ff7ffe6169919d7f96636c20e38c49d70627b3"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-08-25 12:35:12.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\nSigned-off-by: Adam Harwell \u003cflux.adam@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/53757a8902aad02edbdd555cc7225b9a4fc1bb20"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/53757a8902aad02edbdd555cc7225b9a4fc1bb20"}]},"branch":"refs/heads/master"},"fcf0cabbf63fe2c3e73a945a622b840a5ddac04e":{"kind":"REWORK","_number":28,"created":"2026-09-06 09:03:05.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/28"}}},"commit":{"parents":[{"commit":"1e9fd9798bad3372b2d262503603ff7af6877a64","subject":"typing: Use type for parsed_url","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1e9fd9798bad3372b2d262503603ff7af6877a64"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-06 09:03:05.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\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/tooz/commit/fcf0cabbf63fe2c3e73a945a622b840a5ddac04e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/fcf0cabbf63fe2c3e73a945a622b840a5ddac04e"}]},"branch":"refs/heads/master"},"6e9d3c8c9ea27d423762fb61f21ea6816321d4f8":{"kind":"REWORK","_number":29,"created":"2026-09-10 11:52:47.000000000","uploader":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"ref":"refs/changes/45/997145/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tooz","ref":"refs/changes/45/997145/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tooz refs/changes/45/997145/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tooz refs/changes/45/997145/29"}}},"commit":{"parents":[{"commit":"1e9fd9798bad3372b2d262503603ff7af6877a64","subject":"typing: Use type for parsed_url","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/1e9fd9798bad3372b2d262503603ff7af6877a64"}]}],"author":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-07-14 00:32:56.000000000","tz":-240},"committer":{"name":"Adam Harwell","email":"flux.adam@gmail.com","date":"2026-09-10 11:52:47.000000000","tz":-240},"subject":"Add Consul coordination driver using native services","message":"Add Consul coordination driver using native services\n\nReintroduce Consul coordination with the maintained py-consul client. Use\nnamespaced native Consul services for group membership, KV entries for group\nmarkers, and sessions with KV acquire operations for distributed locks.\n\nMembers with a healthcheck_url use a Consul HTTP check; other members use a\nheartbeat-driven TTL check. Heartbeat renews member liveness before locks and\nreconciles missing markers, registrations, and checks after local agent state\nloss without resurrecting memberships that were removed concurrently.\n\nBound Consul API requests, support API HTTP and HTTPS, apply ACL tokens to all\nagent operations, and support CA and client certificates with separate\nverification controls for the API and endpoint checks. Derive a safe request\ntimeout from membership timeout unless it is configured explicitly.\n\nUse stable, reversible service identities so a process can reclaim its own\nstale registration after an unclean restart. Reject live registrations owned\nby another member and contain malformed capability metadata without breaking\ndiscovery.\n\nDiscovery prefers the local datacenter, falls back to remote datacenters,\ncombines datacenters when requested, and applies a server-side Consul tag\nfilter for directed lookups. Cache the datacenter list and preserve member\nidentity across arbitrary supported byte values.\n\nTreat Consul\u0027s transient missing-node-registration response as a connection\nerror so applications can retry startup while a new agent registers itself.\n\nAllow a configurable catalog-name template without changing coordination\nkeys or lock namespaces. Export bounded public service metadata beside\nowned capability metadata, and provide a catalog query for applications\nthat need to discover external services without enrolling them as tooz\nmembers. Preserve directed and multi-datacenter discovery policies.\n\nPre-interoperation checkpoint: 997145 PS28\nfcf0cabbf63fe2c3e73a945a622b840a5ddac04e.\n\nGenerated-By: Claude (claude-opus-4.6)\nAssisted-By: OpenAI 5.6 Sol\nChange-Id: If596120464a3138e985964b964240d1330ae1aed\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/tooz/commit/6e9d3c8c9ea27d423762fb61f21ea6816321d4f8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tooz/commit/6e9d3c8c9ea27d423762fb61f21ea6816321d4f8"}]},"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":""}}}]}
