zuul/zuul/zk
James E. Blair c531adacae Add --keep-config-cache option to delete-state command
The circular dependency refactor will require deleting all of the
pipeline states as well as the event queues from ZK while zuul
is offline during the upgrade.  This is fairly close to the existing
"delete-state" command, except that we can keep the config cache.
Doing so will allow for a faster recovery since we won't need to
issue all of the cat jobs again in order to fetch file contents.

To facilitate this, we add a "--keep-config-cache" argument to
the "delete-state" command which will then remove everything under
/zuul except /zuul/config.

Also, speed up both operations by implementing a fast recursive
delete method which sends async delete ops depth first and only
checks their results at the end (as opposed to the standard kazoo
delete which checks each operation at once).

This is added without a release note since it's not widely useful
and the upcoming change which requires its use will have a release
note with usage instructions.

Change-Id: I4db43e00a73f5e5b796261ffe7236ed906e6b421
2024-02-02 12:09:52 -08:00
..
vendor Unvendor kazoo locks recipes 2023-01-11 11:16:34 -08:00
__init__.py Add --keep-config-cache option to delete-state command 2024-02-02 12:09:52 -08:00
blob_store.py Parallelize some pipeline refresh ops 2022-11-09 10:51:29 -08:00
branch_cache.py Use the GitHub default branch as the default branch 2023-08-23 11:07:08 -07:00
change_cache.py Assign Gerrit change events to a patchset 2023-12-07 07:07:08 -08:00
cleanup.py Clean up dangling cache data nodes more often 2021-09-17 15:51:24 -07:00
components.py Use JobData for Build result data 2022-03-22 11:33:38 -07:00
config_cache.py Unvendor kazoo locks recipes 2023-01-11 11:16:34 -08:00
election.py Add ZK session-aware elections 2021-09-10 10:55:00 -07:00
event_queues.py Add better log repr for job result future 2023-09-15 10:31:07 +02:00
exceptions.py Use kazoo.retry in zkobject 2022-03-14 09:20:56 -07:00
executor.py Ignore missing nodes in lost-request iterator 2023-09-04 09:19:12 +02:00
handler.py Use a ThreadPoolExecutor for kazoo callbacks 2021-10-22 10:19:29 -07:00
job_request_queue.py Merge "Prevent exception in merger on missing request" 2023-09-15 18:41:28 +00:00
layout.py Strictly sequence reconfiguration events 2022-07-18 10:51:59 -07:00
locks.py Unvendor kazoo locks recipes 2023-01-11 11:16:34 -08:00
merger.py Let zuul-web look up the live log streaming address from ZooKeeper 2021-09-22 07:25:13 +02:00
nodepool.py Check if suspended callback is set before calling 2023-12-04 08:13:07 +01:00
semaphore.py Add playbook semaphores 2022-11-07 08:41:10 -08:00
sharding.py Add more pipeline processing stats 2022-02-28 10:51:37 -08:00
system.py Use sort_keys with json almost everywhere we write to ZK 2021-11-12 15:50:02 -08:00
zkobject.py Fix race condition in pipeline change list init 2023-02-10 15:03:08 -08:00