| Index: scripts/master/buildbucket/integration.py
|
| diff --git a/scripts/master/buildbucket/integration.py b/scripts/master/buildbucket/integration.py
|
| index 813b201c8c846892304ec38b524f59fb7f6a08c4..b845d0670f90541629dc146cf5a31995dc0cc95a 100644
|
| --- a/scripts/master/buildbucket/integration.py
|
| +++ b/scripts/master/buildbucket/integration.py
|
| @@ -5,14 +5,11 @@
|
| """BuildBucketIntegrator integrates Buildbot and Buildbucket."""
|
|
|
| import datetime
|
| -import itertools
|
| import json
|
| import logging
|
| -import traceback
|
|
|
| from buildbot.util import deferredLocked
|
| -from master.buildbucket import common, changestore
|
| -from master.buildbucket.common import log
|
| +from master.buildbucket import changestore
|
| from twisted.internet import defer, reactor
|
| from twisted.internet.defer import inlineCallbacks, returnValue
|
|
|
| @@ -54,7 +51,7 @@ class BuildBucketIntegrator(object):
|
|
|
| def __init__(
|
| self, buckets, build_params_hook=None, max_lease_count=None,
|
| - heartbeat_interval=None):
|
| + heartbeat_interval=None, change_store_factory=None):
|
| """Creates a BuildBucketIntegrator.
|
|
|
| Args:
|
| @@ -70,6 +67,7 @@ class BuildBucketIntegrator(object):
|
| time. Defaults to the number of connected slaves.
|
| heartbeat_interval (datetime.timedelta): frequency of build heartbeats.
|
| Defaults to 1 minute.
|
| + change_store_factory: function (BuildbotGateway) => ChangeStore.
|
| """
|
| assert buckets, 'Buckets not specified'
|
| assert max_lease_count is None or isinstance(max_lease_count, int)
|
| @@ -86,6 +84,7 @@ class BuildBucketIntegrator(object):
|
| self._max_lease_count = max_lease_count
|
| self._leases = None
|
| self.heartbeat_interval = heartbeat_interval or DEFAULT_HEARTBEAT_INTERVAL
|
| + self.change_store_factory = change_store_factory or changestore.ChangeStore
|
|
|
| def get_max_lease_count(self):
|
| if self._max_lease_count:
|
| @@ -97,15 +96,14 @@ class BuildBucketIntegrator(object):
|
| def log(self, message, level=None):
|
| common.log(message, level)
|
|
|
| - def start(self, buildbot, buildbucket_service, change_store_factory=None):
|
| + def start(self, buildbot, buildbucket_service):
|
| assert not self.started, 'BuildBucketIntegrator is already started'
|
| assert buildbot
|
| assert buildbucket_service
|
| - change_store_factory = change_store_factory or changestore.ChangeStore
|
| self.buildbot = buildbot
|
| self.buildbucket_service = buildbucket_service
|
| self.buildbucket_service.start()
|
| - self.changes = change_store_factory(buildbot)
|
| + self.changes = self.change_store_factory(buildbot)
|
| self.started = True
|
| self.log('integrator started')
|
| self._do_until_stopped(self.heartbeat_interval, self.send_heartbeats)
|
|
|