zuul/zuul
James E. Blair a729d6c6e8 Refactor Merger/Executor API
The Merger and executor APIs have a lot in common, but they behave
slightly differently.  A merger needs to sometimes return results.
An executor needs to have separate queues for zones and be able to
pause or cancel jobs.

This refactors them both into a common class which can handle job
state changes (like pause/cancel) and return results if requested.

The MergerApi can subclass this fairly trivially.

The ExecutorApi adds an intermediate layer which uses a
DefaultKeyDict to maintain a distinct queue for every zone and then
transparently dispatches method calls to the queue object for
that zone.

The ZK paths for both are significantly altered in this change.

Change-Id: I3adedcc4ea293e43070ba6ef0fe29e7889a0b502
2021-08-06 15:40:46 -07:00
..
ansible Add secret_data to zuul_return 2021-06-24 06:24:23 -07:00
cmd Merge "Move fingergw config to fingergw" 2021-07-24 12:54:01 +00:00
connection Don't clear connection caches during full reconfig 2021-07-09 09:34:40 +02:00
driver Execute merge jobs via ZooKeeper 2021-08-06 15:40:41 -07:00
execution_context Add wrapper driver execution context 2017-08-18 16:35:12 -07:00
executor Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00
lib Merge "Add option to check fingergw hostnames" 2021-08-01 09:21:04 +00:00
manager Store runtime related system attributes together 2021-08-03 10:32:31 +02:00
merger Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00
reporter Store runtime related system attributes together 2021-08-03 10:32:31 +02:00
source Allow refreshing volatile data in canMerge check 2021-03-01 18:45:02 +00:00
sphinx docs: remove zuuldocs domain 2020-08-04 16:10:09 +10:00
trigger Filter events on event connection 2021-04-24 08:39:03 -07:00
web Merge "Add option to check fingergw hostnames" 2021-08-01 09:21:04 +00:00
zk Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00
__init__.py Initial commit. 2012-05-29 14:49:32 -07:00
_setup_hook.py Revert "Revert "Create zuul/web/static on demand"" 2020-07-07 19:53:33 +02:00
change_matcher.py Match tag items against containing branches 2020-03-06 13:29:18 -08:00
configloader.py Store runtime related system attributes together 2021-08-03 10:32:31 +02:00
exceptions.py web: add tenant and project scoped, JWT-protected actions 2019-07-10 12:11:14 +02:00
model.py Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00
nodepool.py Clear nodeset when re-submitting node requests 2021-08-04 12:20:11 -07:00
rpcclient.py Route streams to different zones via finger gateway 2021-06-10 14:09:37 +02:00
rpclistener.py Merge "Randomze choice of zoned fingergw" 2021-08-01 09:20:32 +00:00
scheduler.py Execute merge jobs via ZooKeeper 2021-08-06 15:40:41 -07:00
version.py Report git sha in status page version 2018-04-27 10:21:43 -07:00