)]}'
{"id":"openstack%2Foctavia~999326","triplet_id":"openstack%2Foctavia~stable%2F2025.2~Ia026781af131da7c91642470802d342eca259b05","project":"openstack/octavia","branch":"stable/2025.2","attention_set":{},"removed_from_attention_set":{"28619":{"account":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"last_update":"2026-08-05 15:40:02.000000000","reason":"Change was submitted"},"29244":{"account":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"last_update":"2026-08-05 13:43:27.000000000","reason":"\u003cGERRIT_ACCOUNT_29244\u003e replied on the change","reason_account":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}},"37598":{"account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"last_update":"2026-08-05 15:40:02.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ia026781af131da7c91642470802d342eca259b05","subject":"Fix ZooKeeper session churn in ZookeeperTaskFlowDriver","status":"MERGED","created":"2026-07-30 18:20:20.000000000","updated":"2026-08-05 15:42:24.000000000","submitted":"2026-08-05 15:40:02.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"999326","cherry_pick_of_change":998901,"cherry_pick_of_patch_set":5,"meta_rev_id":"88c39c3de0ed5bab5f30255f170b5bec7871ace8","_number":999326,"virtual_id_number":999326,"owner":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},{"value":0,"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-05 15:40:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"recommended":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"all":[{"value":1,"date":"2026-07-31 08:31:13.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},{"value":2,"date":"2026-08-05 13:43:27.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"all":[{"value":0,"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},{"value":1,"date":"2026-08-05 13:43:27.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},{"value":0,"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},{"value":0,"_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":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"}],"CC":[{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-30 18:20:20.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":39044,"name":"Alicja Filipek","display_name":"alaf01","email":"alicja.filipek@cleura.com","username":"alaf01"},"state":"CC"},{"updated":"2026-07-30 18:22:13.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"state":"REVIEWER"},{"updated":"2026-07-30 18:22:13.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"REVIEWER"},{"updated":"2026-07-30 21:03:12.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-07-31 08:31:13.000000000","updated_by":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"reviewer":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"state":"REVIEWER"}],"messages":[{"id":"935e11925d9ad451625d02243a351c8d915e527b","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-07-30 18:20:20.000000000","message":"Patch Set 1: Cherry Picked from branch stable/2026.1.\n\nThe following files contain Git conflicts:\n* test-requirements.txt","accounts_in_message":[],"_revision_number":1},{"id":"8b7f6f4accd6e2bfe4ddc156a5632a6a386a7e46","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-07-30 18:21:59.000000000","message":"Patch Set 2: Published edit on patch set 1.","accounts_in_message":[],"_revision_number":2},{"id":"c60d6e558a8ccb3a7c46ef09947499c9baf6033f","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-07-30 18:22:13.000000000","message":"Patch Set 2:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":2},{"id":"0925a6e8aeb0341306ab29f4c68dcefda9d78d7d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 21:03:12.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c1079d7ccb904f61877757eaba572603\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/537897fa76c244ea886af74750ab013e : SUCCESS in 2m 11s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a99d9444d22944ffb5dae29507e497fd : SUCCESS in 12m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7eaa3adccee64c4daa34cd0b380eab8a : SUCCESS in 6m 07s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/17cf2d9be8c640f9829f6155122fbb5c : SUCCESS in 6m 19s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/30fa3b5669de47298cf243facf4cd3ac : SUCCESS in 4m 52s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0e8454e423ac444485be2f9d31866cda : SUCCESS in 5m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c2dc250e43334c2ca9cb6876c7769910 : SUCCESS in 7m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0896df1a199245bda33d0a3b9a11c321 : SUCCESS in 4m 56s\n- octavia-tox-py311-tips https://zuul.opendev.org/t/openstack/build/eeb18635107f4e75ab790aee745a4562 : SUCCESS in 5m 09s\n- octavia-tox-functional-py311-tips https://zuul.opendev.org/t/openstack/build/11f39103d2f349509bc6f7e5f2c0c64f : SUCCESS in 4m 15s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/e58b9b23b51844d7a002a2019185b830 : SUCCESS in 3m 39s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/f1aa89aa3a984a80ad50295c2e61521e : SUCCESS in 7m 16s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/91135078a3bc441fa47f4aec2a04302b : SUCCESS in 6m 47s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/c59324ede1cd4023b525057830279210 : SUCCESS in 1h 22m 23s\n- octavia-v2-dsvm-scenario-traffic-ops https://zuul.opendev.org/t/openstack/build/fe892df36a0a4c9394e0668e14441a91 : SUCCESS in 1h 34m 57s\n- octavia-v2-dsvm-scenario-non-traffic-ops https://zuul.opendev.org/t/openstack/build/11fb9db5f42948e5af07438f0a9fd1e3 : SUCCESS in 59m 26s\n- octavia-v2-dsvm-scenario-traffic-ops-jobboard https://zuul.opendev.org/t/openstack/build/1a3bbcf710554b58a1b78c993344365b : SUCCESS in 1h 33m 42s\n- octavia-v2-dsvm-scenario-non-traffic-ops-jobboard https://zuul.opendev.org/t/openstack/build/e23225946c814ccc9a9bef65b339609f : SUCCESS in 1h 15m 04s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/0677b1063d934d9aa35a2165aa857c1d : SUCCESS in 37m 51s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/b3072e5e89f141d788713d7a32964c60 : SUCCESS in 46m 25s\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/c0fe8e0a692a456c81abedea6df2aa56 : SUCCESS in 32m 38s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/a00c5609550f4b8a9a7395660d64a8b2 : SUCCESS in 34m 20s (non-voting)\n- octavia-v2-dsvm-scenario-two-node https://zuul.opendev.org/t/openstack/build/4ac066c005a84460a86961f236b69900 : SUCCESS in 2h 40m 23s (non-voting)\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/30bc4b147d8b49c58190fbe4dbbb525c : SUCCESS in 1h 34m 41s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"e16fcd616fa0f065c52de4b55c34f490cd6fb2cc","author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"date":"2026-07-31 08:31:13.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"44f01cc6bca94eb826dd77efc1f7f29cc3560a34","author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"date":"2026-08-05 13:43:27.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"006626d8bb3dfd6e169ecefd44f3e68469d25ff1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 13:44:08.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"72d277d686905b7283ad6cde0fc7d31cd3497064","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 15:40:01.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a04431ec53234d769380718200ea7929\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/08005bb015914198a4a0a2b172b32bf1 : SUCCESS in 3m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b1feba2f4ea5468aa87437d672ff7283 : SUCCESS in 3m 40s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/08298d4675434faa9a72deab4a031422 : SUCCESS in 4m 49s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/cb4d6cd2f7104d2d8402ae58cd4d3657 : SUCCESS in 5m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/84b28f0954bd4a57afbc2633933cae6f : SUCCESS in 7m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/afa38a03802544d69e19002731a71644 : SUCCESS in 9m 41s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/d93b3fdafdce4a728a90a3371f3591ec : SUCCESS in 3m 18s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/bccd3dea1a7247c8a7a0f42d886acc4e : SUCCESS in 7m 59s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/890f69c424a240d8a6fe3796ad5cf1ac : SUCCESS in 46m 38s\n- octavia-v2-dsvm-scenario-traffic-ops https://zuul.opendev.org/t/openstack/build/554df59ff1694a18863a99e0f8b8c699 : SUCCESS in 1h 54m 58s\n- octavia-v2-dsvm-scenario-non-traffic-ops https://zuul.opendev.org/t/openstack/build/b3d467daeb004f97a056a004635bf2fd : SUCCESS in 1h 15m 10s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/fe7c24593f824586a887330517cb6b87 : SUCCESS in 38m 53s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/dc33a59210d9498a9f56dbb93385b180 : SUCCESS in 44m 27s","accounts_in_message":[],"_revision_number":2},{"id":"d2cfd88be607b1de842b1ad98a63c7de464b4866","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 15:40:02.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"88c39c3de0ed5bab5f30255f170b5bec7871ace8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 15:42:24.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/51d0307b41164769aba12fbd0ea81c45\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7187d24aea24dedb4a8b3dffd917380 : SUCCESS in 1m 04s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/08e635a7872841b1b5e0a8dc56e0539b : SUCCESS in 46s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ddaa9172fb68e66f13ea0f8f0a26bcbd9b0479cb","revisions":{"40aae76e9ffed9ea52099c1b57d0f2cd3a37680a":{"kind":"REWORK","_number":1,"created":"2026-07-30 18:20:20.000000000","uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/26/999326/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/26/999326/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/26/999326/1"}}},"commit":{"parents":[{"commit":"7fc09c0c39a7f9bc71a24227302d31ef18856b3b","subject":"Merge \"Add SKI and AKI extensions to amphora certificates\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/7fc09c0c39a7f9bc71a24227302d31ef18856b3b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-06-16 09:51:31.000000000","tz":120},"committer":{"name":"Ivan Anfimov","email":"lazekteam@gmail.com","date":"2026-07-30 18:20:20.000000000","tz":0},"subject":"Fix ZooKeeper session churn in ZookeeperTaskFlowDriver","message":"Fix ZooKeeper session churn in ZookeeperTaskFlowDriver\n\nZookeeperTaskFlowDriver.job_board() was called inside a `with`\nblock in _extend_jobs(), creating and immediately closing a new\nKazooClient every ~8 seconds. This caused continuous ZooKeeper\nsession churn and kazoo.exceptions.ConnectionLoss errors during\nLB operations.\n\nFix by holding a single KazooClient for the driver\u0027s lifetime.\nThe client is created lazily on first job_board() call via\n_ensure_client(), preserving the previous behaviour where a\nbriefly-unavailable ZooKeeper at startup does not prevent the\nworker from starting. A threading.Lock guards _client access in\nboth _ensure_client() and shutdown() to prevent races between\nconcurrent job_board() calls and service shutdown.\n\nA new shutdown() method finalizes the client on SIGTERM via\nConsumerService.terminate() -\u003e ControllerWorker.shutdown(). A\nno-op base class shutdown() means Redis and Etcd drivers need\nno changes. The kazoo import is deferred to __init__ to avoid\nrequiring kazoo in non-ZooKeeper deployments.\n\nCloses-Bug: #2144800\nChange-Id: Ia026781af131da7c91642470802d342eca259b05\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n(cherry picked from commit ee5dc8f3356d3725800e61973e66df8a02ba6fc8)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/40aae76e9ffed9ea52099c1b57d0f2cd3a37680a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/40aae76e9ffed9ea52099c1b57d0f2cd3a37680a"}]},"branch":"refs/heads/stable/2025.2","conflicts":{"base":"50316329bea5ca55b3db9841bf2f804b97247872","ours":"7fc09c0c39a7f9bc71a24227302d31ef18856b3b","theirs":"88ec42d6163d72d9938788bac15c1f72bf64fcf0","merge_strategy":"recursive","contains_conflicts":true}},"ddaa9172fb68e66f13ea0f8f0a26bcbd9b0479cb":{"kind":"REWORK","_number":2,"created":"2026-07-30 18:21:59.000000000","uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/26/999326/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/26/999326/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/26/999326/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/26/999326/2"}}},"commit":{"parents":[{"commit":"7fc09c0c39a7f9bc71a24227302d31ef18856b3b","subject":"Merge \"Add SKI and AKI extensions to amphora certificates\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/7fc09c0c39a7f9bc71a24227302d31ef18856b3b"}]}],"author":{"name":"Alicja Filipek","email":"alicja.filipek@cleura.com","date":"2026-06-16 09:51:31.000000000","tz":120},"committer":{"name":"Ivan Anfimov","email":"lazekteam@gmail.com","date":"2026-07-30 18:21:59.000000000","tz":0},"subject":"Fix ZooKeeper session churn in ZookeeperTaskFlowDriver","message":"Fix ZooKeeper session churn in ZookeeperTaskFlowDriver\n\nZookeeperTaskFlowDriver.job_board() was called inside a `with`\nblock in _extend_jobs(), creating and immediately closing a new\nKazooClient every ~8 seconds. This caused continuous ZooKeeper\nsession churn and kazoo.exceptions.ConnectionLoss errors during\nLB operations.\n\nFix by holding a single KazooClient for the driver\u0027s lifetime.\nThe client is created lazily on first job_board() call via\n_ensure_client(), preserving the previous behaviour where a\nbriefly-unavailable ZooKeeper at startup does not prevent the\nworker from starting. A threading.Lock guards _client access in\nboth _ensure_client() and shutdown() to prevent races between\nconcurrent job_board() calls and service shutdown.\n\nA new shutdown() method finalizes the client on SIGTERM via\nConsumerService.terminate() -\u003e ControllerWorker.shutdown(). A\nno-op base class shutdown() means Redis and Etcd drivers need\nno changes. The kazoo import is deferred to __init__ to avoid\nrequiring kazoo in non-ZooKeeper deployments.\n\nCloses-Bug: #2144800\nChange-Id: Ia026781af131da7c91642470802d342eca259b05\nSigned-off-by: Alicja Filipek \u003calicja.filipek@cleura.com\u003e\n(cherry picked from commit ee5dc8f3356d3725800e61973e66df8a02ba6fc8)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/ddaa9172fb68e66f13ea0f8f0a26bcbd9b0479cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/ddaa9172fb68e66f13ea0f8f0a26bcbd9b0479cb"}]},"branch":"refs/heads/stable/2025.2"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"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":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
