zuul/tests/unit
Simon Westphahl 0b95dfd07c Lock tenants, pipelines, queues during processing
In addition to the tenant read lock, schedulers need to also acquire an
exclusive pipeline lock. In case a pipeline is already locked by another
scheduler, it is skipped and processing will continue with the next
pipeline in the tenant.

Tenant management and trigger queues are protected by a queue specific
lock and need to acquire other locks depending on the processed event
(e.g. tenant write lock for tenant reconfigurations).

This also fixes an issue with the locked context manager when an
exception is thrown inside the context. In this case the lock was not
unlocked.

Change-Id: I2e3f0feca7119908d1d13010d2e4de791f95137e
2021-07-15 13:55:05 +02:00
..
__init__.py Move tests into test/unit 2017-01-24 10:18:38 -08:00
test_auth.py Bump pyjwt to 2.0.0 2021-01-14 12:35:18 +00:00
test_bubblewrap.py Make most test cases work on MacOS 2020-02-20 12:59:38 +01:00
test_change_matcher.py Make files matcher match changes with no files 2019-08-23 18:59:29 +02:00
test_circular_dependencies.py Merge "Check cycle items are mergeable before reporting" 2021-03-08 14:12:57 +00:00
test_client.py zuul tenant-conf-check: disable scheduler creation 2021-06-11 16:00:39 +00:00
test_cmd.py Revert "Revert "Add the process environment to zuul.conf parser"" 2019-11-02 09:10:18 +09:00
test_component_registry.py Replace TreeCache in component registry 2021-06-28 08:59:15 -07:00
test_configloader.py Switch from global to tenant event queues 2021-07-01 07:44:43 +02:00
test_connection.py Remove ZuulDBTestCase 2021-07-08 14:07:19 -07:00
test_cross_crd.py Execute builds via ZooKeeper 2021-06-29 14:37:15 -07:00
test_daemon.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_database.py Add Postgres schema test 2021-06-28 10:29:32 -07:00
test_default_config.py Add type check for zuul conf 2018-12-10 19:24:50 +08:00
test_disk_accountant.py Optionally disable disk_limit_per_job 2019-02-22 08:10:59 +01:00
test_encryption.py Use nested tempfile fixture for cleanups 2018-02-06 15:18:45 -08:00
test_event_queues.py Move tenant validation to separate method 2021-07-06 07:23:51 +02:00
test_executor.py Lock/unlock nodes on executor server 2021-07-01 05:46:02 +00:00
test_gerrit.py Cleanup Zuul's stdout/stderr output 2021-06-04 11:42:02 -07:00
test_gerrit_crd.py Execute builds via ZooKeeper 2021-06-29 14:37:15 -07:00
test_gerrit_legacy_crd.py Execute builds via ZooKeeper 2021-06-29 14:37:15 -07:00
test_git_driver.py Use scheduler manager consistently in tests 2020-04-03 14:49:59 +02:00
test_github_crd.py Use scheduler manager consistently in tests 2020-04-03 14:49:59 +02:00
test_github_driver.py Store tenant layout state in Zookeeper 2021-07-08 13:16:38 -07:00
test_github_requirements.py Fix multiple prs found when commit is not head 2020-09-04 13:47:54 +02:00
test_gitlab_driver.py Store tenant layout state in Zookeeper 2021-07-08 13:16:38 -07:00
test_inventory.py Merge "Execute builds via ZooKeeper" 2021-07-01 00:34:11 +00:00
test_keystorage.py Store secrets keys and SSH keys in Zookeeper 2021-04-14 08:22:07 +02:00
test_lib_ansible.py Validate ansible extra packages 2020-05-08 09:03:10 +02:00
test_merger_repo.py Support overlapping repos and a flat workspace scheme 2021-04-29 17:56:24 -07:00
test_model.py Remove layout attribute from queue items 2021-06-01 18:19:39 +02:00
test_multi_driver.py Make test setup_config more pure 2020-02-28 11:50:22 +01:00
test_nodepool.py Move parent provider determination to pipeline manager 2021-07-08 13:27:08 -07:00
test_openstack.py Support overlapping repos and a flat workspace scheme 2021-04-29 17:56:24 -07:00
test_pagure_driver.py Store tenant layout state in Zookeeper 2021-07-08 13:16:38 -07:00
test_prometheus.py prometheus: add options to start the server and process collector 2021-04-26 14:47:36 +00:00
test_push_reqs.py Make test setup_config more pure 2020-02-28 11:50:22 +01:00
test_reporting.py Report dequeued changes via Github checks API 2020-05-14 07:42:24 +02:00
test_requirements.py Fix reject clauses in the absence of approvals 2018-08-13 12:37:32 +02:00
test_scheduler.py Store tenant layout state in Zookeeper 2021-07-08 13:16:38 -07:00
test_serial.py Make fake test Gerrit merger more realistic 2020-04-29 15:00:05 -07:00
test_ssh_agent.py Add SSH Agent Primitives and usage 2017-05-26 09:52:22 -07:00
test_stack_dump.py Several executor threading fixes 2017-10-17 09:49:29 -07:00
test_streaming.py Initialize ZooKeeper connection in server rather than in cmd classes 2021-03-08 07:15:32 -08:00
test_strings.py Pseudo-shard unique project names in keystore 2021-04-20 09:53:29 -07:00
test_supercedent.py Check branches in supercedent pipelines 2019-04-05 13:59:05 -07:00
test_v3.py Remove ZuulDBTestCase 2021-07-08 14:07:19 -07:00
test_web.py Remove ZuulDBTestCase 2021-07-08 14:07:19 -07:00
test_web_urls.py Initialize ZooKeeper connection in server rather than in cmd classes 2021-03-08 07:15:32 -08:00
test_yamlutil.py Add all original values to unsafe_vars 2021-06-24 06:24:23 -07:00
test_zk.py Lock tenants, pipelines, queues during processing 2021-07-15 13:55:05 +02:00
test_zuultrigger.py Switch to Zookeeper backed trigger event queues 2021-03-18 09:24:09 +01:00