Remove deprecated pipeline queue configuration

This was deprecated quite some time ago and we should remove it as
part of the next major release.

Also remove a very old Zuul v1 layout.yaml from the test fixtures.

Change-Id: I40030840b71e95f813f028ff31bc3e9b3eac4d6a
This commit is contained in:
James E. Blair 2022-09-02 10:01:44 -07:00
parent 024246cb72
commit 06509d5e8a
39 changed files with 77 additions and 357 deletions

View File

@ -187,16 +187,6 @@ pipeline.
:attr:`job` definition. Any attributes set on the job here
will override previous versions of the job.
.. attr:: queue
This is the same as :attr:`project.queue` but on per pipeline
level for backwards compatibility reasons. If :attr:`project.queue`
is defined this setting is ignored.
.. note:: It is deprecated to define the queue in the pipeline
configuration. Configure it on :attr:`project.queue`
instead.
.. attr:: debug
If this is set to `true`, Zuul will include debugging

View File

@ -2,5 +2,5 @@
deprecations:
- |
Shared ``queues`` should be configured per project now instead per
pipeline. Specifying :attr:`project.<pipeline>.queue` is deprecated
pipeline. Specifying `project.<pipeline>.queue` is deprecated
and will be removed in a future release.

View File

@ -0,0 +1,6 @@
---
upgrade:
- |
The deprecated syntax of specifying project change queues on
pipeline configurations has been removed. Specify queues using
the project stanza now. See :attr:`queue` for more information.

View File

@ -126,6 +126,7 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- project-merge
@ -136,7 +137,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -148,6 +148,7 @@
- project:
name: org/project2
queue: integrated
check:
jobs:
- project-merge
@ -158,7 +159,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -170,6 +170,7 @@
- project:
name: common-config
queue: integrated
check:
jobs:
- project-merge
@ -180,7 +181,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -126,6 +126,7 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- project-merge
@ -136,7 +137,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -148,6 +148,7 @@
- project:
name: org/project2
queue: integrated
check:
jobs:
- project-merge
@ -158,7 +159,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -170,6 +170,7 @@
- project:
name: common-config
queue: integrated
check:
jobs:
- project-merge
@ -180,7 +181,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -29,8 +29,8 @@
- project:
name: org/project2
queue: integrated
gate:
queue: integrated
jobs:
- project-test

View File

@ -4,7 +4,7 @@
per-branch: false
- project:
queue: integrated
gate:
queue: integrated
jobs:
- project-test

View File

@ -1,5 +1,5 @@
- project:
queue: integrated-untrusted
gate:
queue: integrated-untrusted
jobs:
- project-test

View File

@ -94,6 +94,7 @@
- project:
name: gerrit/project1
queue: integrated
check:
jobs:
- project-merge
@ -104,7 +105,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -116,6 +116,7 @@
- project:
name: pagure/project2
queue: integrated
check:
jobs:
- project-merge
@ -126,7 +127,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -92,6 +92,7 @@
- project:
name: github/project1
queue: integrated
check:
jobs:
- project-merge
@ -102,7 +103,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -114,6 +114,7 @@
- project:
name: pagure/project2
queue: integrated
check:
jobs:
- project-merge
@ -124,7 +125,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -125,6 +125,7 @@
- project:
name: gerrit/project1
queue: integrated
check:
jobs:
- project-merge
@ -135,7 +136,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -147,6 +147,7 @@
- project:
name: github/project2
queue: integrated
check:
jobs:
- project-merge
@ -157,7 +158,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -36,11 +36,10 @@
- project:
name: org/project
queue: integrated
dup1:
queue: integrated
jobs:
- project-test1
dup2:
queue: integrated
jobs:
- project-test1

View File

@ -80,20 +80,20 @@
- project:
name: openstack/nova
queue: integrated
templates:
- python-jobs
check:
jobs:
- dsvm
gate:
queue: integrated
gate: {}
- project:
name: openstack/keystone
queue: integrated
templates:
- python-jobs
check:
jobs:
- dsvm
gate:
queue: integrated
gate: {}

View File

@ -11,6 +11,7 @@
run: playbooks/image-user.yaml
- project:
queue: integrated
check:
jobs:
- image-builder
@ -18,7 +19,6 @@
dependencies:
- image-builder
gate:
queue: integrated
jobs:
- image-builder
- image-user:

View File

@ -1,8 +1,8 @@
- project:
queue: integrated
check:
jobs:
- image-user
gate:
queue: integrated
jobs:
- image-user

View File

@ -148,8 +148,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
# This will be overridden on project level
queue: integrated-overridden
jobs:
- project-merge
- project-test1:
@ -164,6 +162,7 @@
- project:
name: org/project2
queue: integrated
check:
jobs:
- project-merge
@ -174,7 +173,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -186,6 +184,7 @@
- project:
name: common-config
queue: integrated
check:
jobs:
- project-merge
@ -196,7 +195,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -1,4 +1,5 @@
- project:
queue: integrated
check:
jobs:
- project-merge
@ -11,7 +12,6 @@
- project-test1
- project-test2
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -105,6 +105,7 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- project-merge
@ -113,7 +114,6 @@
- project-test2:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -1,233 +0,0 @@
includes:
- python-file: custom_functions.py
pipelines:
- name: check
manager: independent
source:
gerrit
trigger:
gerrit:
- event: patchset-created
success:
gerrit:
Verified: 1
failure:
gerrit:
Verified: -1
- name: post
manager: independent
source:
gerrit
trigger:
gerrit:
- event: ref-updated
ref: ^(?!refs/).*$
- name: gate
manager: dependent
failure-message: Build failed. For information on how to proceed, see http://wiki.example.org/Test_Failures
source:
gerrit
trigger:
gerrit:
- event: comment-added
approval:
- Approved: 1
success:
gerrit:
Verified: 2
submit: true
failure:
gerrit:
Verified: -2
start:
gerrit:
Verified: 0
precedence: high
- name: unused
manager: independent
dequeue-on-new-patchset: false
source:
gerrit
trigger:
gerrit:
- event: comment-added
approval:
- Approved: 1
- name: dup1
manager: independent
source:
gerrit
trigger:
gerrit:
- event: change-restored
success:
gerrit:
Verified: 1
failure:
gerrit:
Verified: -1
- name: dup2
manager: independent
source:
gerrit
trigger:
gerrit:
- event: change-restored
success:
gerrit:
Verified: 1
failure:
gerrit:
Verified: -1
- name: conflict
manager: dependent
failure-message: Build failed. For information on how to proceed, see http://wiki.example.org/Test_Failures
source:
gerrit
trigger:
gerrit:
- event: comment-added
approval:
- Approved: 1
success:
gerrit:
Verified: 2
submit: true
failure:
gerrit:
Verified: -2
start:
gerrit:
Verified: 0
- name: experimental
manager: independent
source:
gerrit
trigger:
gerrit:
- event: patchset-created
success:
gerrit: {}
failure:
gerrit: {}
jobs:
- name: ^.*-merge$
failure-message: Unable to merge change
hold-following-changes: true
tags: merge
- name: nonvoting-project-test2
voting: false
- name: project-testfile
files:
- '.*-requires'
- name: project1-project2-integration
queue-name: integration
- name: mutex-one
mutex: test-mutex
- name: mutex-two
mutex: test-mutex
- name: project1-merge
tags:
- project1
- extratag
projects:
- name: org/project
merge-mode: cherry-pick
check:
- project-merge:
- project-test1
- project-test2
- project-testfile
gate:
- project-merge:
- project-test1
- project-test2
- project-testfile
post:
- project-post
dup1:
- project-test1
dup2:
- project-test1
- name: org/project1
check:
- project1-merge:
- project1-test1
- project1-test2
- project1-project2-integration
gate:
- project1-merge:
- project1-test1
- project1-test2
- project1-project2-integration
post:
- project1-post
- name: org/project2
check:
- project2-merge:
- project2-test1
- project2-test2
- project1-project2-integration
gate:
- project2-merge:
- project2-test1
- project2-test2
- project1-project2-integration
post:
- project2-post
- name: org/project3
check:
- project3-merge:
- project3-test1
- project3-test2
- project1-project2-integration
gate:
- project3-merge:
- project3-test1
- project3-test2
- project1-project2-integration
post:
- project3-post
- name: org/nonvoting-project
check:
- nonvoting-project-merge:
- nonvoting-project-test1
- nonvoting-project-test2
gate:
- nonvoting-project-merge:
- nonvoting-project-test1
- nonvoting-project-test2
post:
- nonvoting-project-post
- name: org/conflict-project
conflict:
- conflict-project-merge:
- conflict-project-test1
- conflict-project-test2
- name: org/noop-project
gate:
- noop
- name: org/experimental-project
experimental:
- experimental-project-test
- name: org/no-jobs-project
check:
- project-testfile

View File

@ -70,15 +70,15 @@
- project:
name: org/project3
queue: cogated
gate:
queue: cogated
jobs:
- project3-test
- project:
name: org/project4
queue: cogated
gate:
queue: cogated
jobs:
- project4-test

View File

@ -55,14 +55,14 @@
- project:
name: org/project3
queue: cogated
gate:
queue: cogated
jobs:
- project3-test
- project:
name: org/project4
queue: cogated
gate:
queue: cogated
jobs:
- project4-test
- project4-test

View File

@ -52,14 +52,14 @@
- project:
name: org/project3
queue: cogated
gate:
queue: cogated
jobs:
- project3-test
- project:
name: org/project4
queue: cogated
gate:
queue: cogated
jobs:
- project4-test

View File

@ -51,11 +51,11 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- image-builder
gate:
queue: integrated
jobs:
- image-builder
- image-user:
@ -63,10 +63,10 @@
- project:
name: org/project2
queue: integrated
check:
jobs:
- image-user
gate:
queue: integrated
jobs:
- image-user

View File

@ -72,18 +72,19 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- image-builder
- library-builder
- hold
gate:
queue: integrated
jobs:
- image-builder
- project:
name: org/project2
queue: integrated
check:
jobs:
- image-user
@ -91,7 +92,6 @@
- library-user2
- hold
gate:
queue: integrated
jobs:
- image-user

View File

@ -10,8 +10,8 @@
- project:
name: ^.*$
queue: integrated
gate:
queue: integrated
jobs:
- base

View File

@ -10,8 +10,8 @@
- project-template:
name: integrated-jobs
queue: integrated
gate:
queue: integrated
jobs:
- base

View File

@ -48,40 +48,40 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project2
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project3
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project4
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration

View File

@ -51,60 +51,60 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project2
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project3
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project4
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project5
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project6
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration

View File

@ -46,20 +46,20 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration
- project:
name: org/project2
queue: integrated
check:
jobs:
- integration
gate:
queue: integrated
jobs:
- integration

View File

@ -35,14 +35,14 @@
- project:
name: org/project1
queue: shared
deploy:
queue: shared
jobs:
- job1
- project:
name: org/project2
queue: shared
deploy:
queue: shared
jobs:
- job1

View File

@ -10,8 +10,8 @@
- project-template:
name: integrated-jobs
queue: integrated
gate:
queue: integrated
jobs:
- base

View File

@ -56,6 +56,7 @@
- project:
name: org/project1
queue: integrated
check:
jobs:
- project-merge
@ -66,7 +67,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -78,6 +78,7 @@
- project:
name: org/project2
queue: integrated
check:
jobs:
- project-merge
@ -88,7 +89,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:
@ -100,6 +100,7 @@
- project:
name: org/project3
queue: integrated
check:
jobs:
- project-merge
@ -110,7 +111,6 @@
- project1-project2-integration:
dependencies: project-merge
gate:
queue: integrated
jobs:
- project-merge
- project-test1:

View File

@ -79,11 +79,10 @@
- project:
name: org/project2
queue: integrated
check:
queue: integrated
jobs:
- integration
gate:
queue: integrated
jobs:
- integration

View File

@ -1077,11 +1077,11 @@ class TestGerritCircularDependencies(ZuulTestCase):
use_job = textwrap.dedent(
"""
- project:
queue: integrated
check:
jobs:
- new-job
gate:
queue: integrated
jobs:
- new-job
""")
@ -1134,11 +1134,11 @@ class TestGerritCircularDependencies(ZuulTestCase):
test_var: pass
- project:
queue: integrated
check:
jobs:
- project-vars-job
gate:
queue: integrated
jobs:
- project-vars-job
""")
@ -1330,11 +1330,11 @@ class TestGerritCircularDependencies(ZuulTestCase):
test_var: pass
- project:
queue: integrated
check:
jobs:
- project-vars-job
gate:
queue: integrated
jobs:
- project-vars-job
""")

View File

@ -776,14 +776,11 @@ class TestWeb(BaseTestWeb):
'merge_mode': 'merge-resolve',
'pipelines': [{
'name': 'check',
'queue_name': None,
'jobs': jobs,
}, {
'name': 'gate',
'queue_name': 'integrated-overridden',
'jobs': jobs,
}, {'name': 'post',
'queue_name': None,
'jobs': [[
{'abstract': False,
'ansible_version': None,

View File

@ -981,8 +981,6 @@ class ProjectTemplateParser(object):
job_list = [vs.Any(str, job)]
pipeline_contents = {
# TODO(tobiash): Remove pipeline specific queue after deprecation
'queue': str,
'debug': bool,
'fail-fast': bool,
'jobs': job_list
@ -1014,8 +1012,6 @@ class ProjectTemplateParser(object):
continue
project_pipeline = model.ProjectPipelineConfig()
project_template.pipelines[pipeline_name] = project_pipeline
# TODO(tobiash): Remove pipeline specific queue after deprecation
project_pipeline.queue_name = conf_pipeline.get('queue')
project_pipeline.debug = conf_pipeline.get('debug')
project_pipeline.fail_fast = conf_pipeline.get(
'fail-fast')
@ -1070,8 +1066,6 @@ class ProjectParser(object):
job_list = [vs.Any(str, job)]
pipeline_contents = {
# TODO(tobiash): Remove pipeline specific queue after deprecation
'queue': str,
'debug': bool,
'fail-fast': bool,
'jobs': job_list

View File

@ -133,26 +133,19 @@ class PipelineManager(metaclass=ABCMeta):
for project_name, project_configs in layout_project_configs.items():
(trusted, project) = tenant.getProject(project_name)
project_queue_name = None
pipeline_queue_name = None
queue_name = None
project_in_pipeline = False
for project_config in layout.getAllProjectConfigs(project_name):
project_pipeline_config = project_config.pipelines.get(
self.pipeline.name)
if not project_queue_name:
project_queue_name = project_config.queue_name
if not queue_name:
queue_name = project_config.queue_name
if project_pipeline_config is None:
continue
project_in_pipeline = True
if not pipeline_queue_name:
pipeline_queue_name = project_pipeline_config.queue_name
if not project_in_pipeline:
continue
# Note: we currently support queue name per pipeline and per
# project while project has precedence.
queue_name = project_queue_name or pipeline_queue_name
if not queue_name:
continue
if queue_name in change_queues:
@ -658,13 +651,12 @@ class PipelineManager(metaclass=ABCMeta):
def getQueueConfig(self, project):
layout = self.pipeline.tenant.layout
pipeline_queue_name = None
project_queue_name = None
queue_name = None
for project_config in layout.getAllProjectConfigs(
project.canonical_name
):
if not project_queue_name:
project_queue_name = project_config.queue_name
if not queue_name:
queue_name = project_config.queue_name
project_pipeline_config = project_config.pipelines.get(
self.pipeline.name)
@ -672,16 +664,6 @@ class PipelineManager(metaclass=ABCMeta):
if project_pipeline_config is None:
continue
# TODO(simonw): Remove pipeline_queue_name after deprecation
if not pipeline_queue_name:
pipeline_queue_name = project_pipeline_config.queue_name
# Note: we currently support queue name per pipeline and per
# project while project has precedence.
queue_name = project_queue_name or pipeline_queue_name
if queue_name is None:
return None
return layout.queues.get(queue_name)
def canProcessCycle(self, project):

View File

@ -71,27 +71,19 @@ class SharedQueuePipelineManager(PipelineManager, metaclass=ABCMeta):
for project_name, project_configs in layout_project_configs.items():
(trusted, project) = tenant.getProject(project_name)
project_queue_name = None
pipeline_queue_name = None
queue_name = None
project_in_pipeline = False
for project_config in layout.getAllProjectConfigs(project_name):
project_pipeline_config = project_config.pipelines.get(
self.pipeline.name)
if not project_queue_name:
project_queue_name = project_config.queue_name
if not queue_name:
queue_name = project_config.queue_name
if project_pipeline_config is None:
continue
project_in_pipeline = True
# TODO(tobiash): Remove pipeline_queue_name after deprecation
if not pipeline_queue_name:
pipeline_queue_name = project_pipeline_config.queue_name
if not project_in_pipeline:
continue
# Note: we currently support queue name per pipeline and per
# project while project has precedence.
queue_name = project_queue_name or pipeline_queue_name
# Check if the queue is global or per branch
queue = layout.queues.get(queue_name)
per_branch = queue and queue.per_branch

View File

@ -6619,7 +6619,6 @@ class ProjectPipelineConfig(ConfigObject):
def __init__(self):
super(ProjectPipelineConfig, self).__init__()
self.job_list = JobList()
self.queue_name = None
self.debug = False
self.debug_messages = []
self.fail_fast = None
@ -6631,8 +6630,6 @@ class ProjectPipelineConfig(ConfigObject):
def update(self, other):
if not isinstance(other, ProjectPipelineConfig):
raise Exception("Unable to update from %s" % (other,))
if self.queue_name is None:
self.queue_name = other.queue_name
if other.debug:
self.debug = other.debug
if self.fail_fast is None:
@ -6647,7 +6644,6 @@ class ProjectPipelineConfig(ConfigObject):
def toDict(self):
d = {}
d['queue_name'] = self.queue_name
return d