Move some manager attributes to pipeline
To reimagine the pipeline as an abstract config object, move some attributes such as the ref and event filters from the manager to the pipeline class. These filters have the same content regardless of what tenant they are in. Change-Id: Id2a639a37bf77ddcca89615aa6a3589128fff477
This commit is contained in:
@ -1586,7 +1586,7 @@ class PipelineParser(object):
|
||||
with self.pcontext.confAttr(conf, 'require', {}) as require_dict:
|
||||
for source_name, require_config in require_dict.items():
|
||||
source = self.pcontext.connections.getSource(source_name)
|
||||
manager.ref_filters.extend(
|
||||
pipeline.ref_filters.extend(
|
||||
source.getRequireFilters(
|
||||
require_config, self.pcontext))
|
||||
seen_connections.add(source_name)
|
||||
@ -1594,7 +1594,7 @@ class PipelineParser(object):
|
||||
with self.pcontext.confAttr(conf, 'reject', {}) as reject_dict:
|
||||
for source_name, reject_config in reject_dict.items():
|
||||
source = self.pcontext.connections.getSource(source_name)
|
||||
manager.ref_filters.extend(
|
||||
pipeline.ref_filters.extend(
|
||||
source.getRejectFilters(reject_config, self.pcontext))
|
||||
seen_connections.add(source_name)
|
||||
|
||||
@ -1607,7 +1607,7 @@ class PipelineParser(object):
|
||||
trigger = self.pcontext.connections.getTrigger(
|
||||
connection_name, trigger_config)
|
||||
pipeline.triggers.append(trigger)
|
||||
manager.event_filters.extend(
|
||||
pipeline.event_filters.extend(
|
||||
trigger.getEventFilters(
|
||||
connection_name,
|
||||
conf['trigger'][connection_name],
|
||||
|
@ -42,7 +42,7 @@ class GerritDriver(Driver, ConnectionInterface, TriggerInterface,
|
||||
elif 'scheme' in trigger_item:
|
||||
d['scheme'] = trigger_item['scheme']
|
||||
checkers.append(d)
|
||||
for event_filter in pipeline.manager.event_filters:
|
||||
for event_filter in pipeline.event_filters:
|
||||
trigger = event_filter.trigger
|
||||
if isinstance(trigger, gerrittrigger.GerritTrigger):
|
||||
con = trigger.connection
|
||||
|
@ -109,7 +109,7 @@ class TimerDriver(Driver, TriggerInterface):
|
||||
def _addJobs(self, tenant):
|
||||
jobs = {}
|
||||
for pipeline in tenant.layout.pipelines.values():
|
||||
for ef in pipeline.manager.event_filters:
|
||||
for ef in pipeline.event_filters:
|
||||
if not isinstance(ef.trigger, timertrigger.TimerTrigger):
|
||||
continue
|
||||
for timespec in ef.timespecs:
|
||||
|
@ -49,7 +49,7 @@ class ZuulDriver(Driver, TriggerInterface, ReporterInterface):
|
||||
|
||||
def reconfigure(self, tenant):
|
||||
for pipeline in tenant.layout.pipelines.values():
|
||||
for ef in pipeline.manager.event_filters:
|
||||
for ef in pipeline.event_filters:
|
||||
if not isinstance(ef.trigger, zuultrigger.ZuulTrigger):
|
||||
continue
|
||||
if PARENT_CHANGE_ENQUEUED in ef._types:
|
||||
|
@ -74,8 +74,6 @@ class PipelineManager(metaclass=ABCMeta):
|
||||
pipeline.name,))
|
||||
self.sched = sched
|
||||
self.pipeline = pipeline
|
||||
self.event_filters = []
|
||||
self.ref_filters = []
|
||||
self.relative_priority_queues = {}
|
||||
# Cached dynamic layouts (layout uuid -> layout)
|
||||
self._layout_cache = {}
|
||||
@ -213,7 +211,7 @@ class PipelineManager(metaclass=ABCMeta):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
for ef in self.event_filters:
|
||||
for ef in self.pipeline.event_filters:
|
||||
match_result = ef.matches(event, change)
|
||||
if match_result:
|
||||
log.debug("Event %s for change %s matched %s "
|
||||
@ -706,7 +704,7 @@ class PipelineManager(metaclass=ABCMeta):
|
||||
cycle = [change]
|
||||
|
||||
if not ignore_requirements:
|
||||
for f in self.ref_filters:
|
||||
for f in self.pipeline.ref_filters:
|
||||
for cycle_change in cycle:
|
||||
if (f.connection_name !=
|
||||
cycle_change.project.connection_name):
|
||||
|
@ -597,6 +597,8 @@ class Pipeline(object):
|
||||
self.window_increase_factor = None
|
||||
self.window_decrease_type = None
|
||||
self.window_decrease_factor = None
|
||||
self.ref_filters = []
|
||||
self.event_filters = []
|
||||
|
||||
@property
|
||||
def queues(self):
|
||||
|
Reference in New Issue
Block a user