Index: scripts/master/master_gen.py |
diff --git a/scripts/master/master_gen.py b/scripts/master/master_gen.py |
index 5e5f51b8dfe1051f4e93034c4bd963eb5f6ce32f..f7f89bcc94c08dae0f1774b78799bb1b4ac25556 100644 |
--- a/scripts/master/master_gen.py |
+++ b/scripts/master/master_gen.py |
@@ -20,6 +20,7 @@ from master import master_utils |
from master import repo_poller |
from master import slaves_list |
from master.factory import annotator_factory |
+from master.factory import remote_run_factory |
def PopulateBuildmasterConfig(BuildmasterConfig, builders_path, |
@@ -45,7 +46,7 @@ def _Populate(BuildmasterConfig, builders, active_master_cls): |
c, |
require_dbconfig=active_master_cls.is_production_host) |
- c['builders'] = _ComputeBuilders(builders, m_annotator) |
+ c['builders'] = _ComputeBuilders(builders, m_annotator, active_master_cls) |
c['schedulers'] = _ComputeSchedulers(builders) |
@@ -86,7 +87,7 @@ def _Populate(BuildmasterConfig, builders, active_master_cls): |
c['eventHorizon'] = 200 |
-def _ComputeBuilders(builders, m_annotator): |
+def _ComputeBuilders(builders, m_annotator, active_master_cls): |
actual_builders = [] |
default_properties = builders.get('default_properties') |
@@ -120,11 +121,21 @@ def _ComputeBuilders(builders, m_annotator): |
else: |
props = builder_data.get('properties') |
- factory = m_annotator.BaseFactory( |
- recipe=builder_data['recipe'], |
- max_time=builder_data.get('builder_timeout_s'), |
- factory_properties=props, |
- ) |
+ if builder_data.get('use_remote_run'): |
+ factory = remote_run_factory.RemoteRunFactory( |
+ active_master=active_master_cls, |
+ repository=builder_data.get( |
+ 'repository', builders.get('default_remote_run_repository')), |
+ recipe=builder_data['recipe'], |
+ max_time=builder_data.get('builder_timeout_s'), |
+ factory_properties=props, |
+ ) |
+ else: |
+ factory = m_annotator.BaseFactory( |
+ recipe=builder_data['recipe'], |
+ max_time=builder_data.get('builder_timeout_s'), |
+ factory_properties=props, |
+ ) |
actual_builders.append({ |
'auto_reboot': builder_data.get('auto_reboot', True), |
'mergeRequests': merge_requests, |