diff options
author | Tobias Henkel <tobias.henkel@bmw.de> | 2019-02-17 10:18:13 +0100 |
---|---|---|
committer | Tobias Henkel <tobias.henkel@bmw.de> | 2019-03-15 09:09:16 +0100 |
commit | 5c2b61e63885d4e3032a6756b0e7a4eac41989e8 (patch) | |
tree | dc0d63efbcf1b4316cb7cdd37635d9ccb1c7493f /zuul/scheduler.py | |
parent | 07ab212f014002b375c279949f3414f04847d8c7 (diff) | |
download | zuul-5c2b61e63885d4e3032a6756b0e7a4eac41989e8.tar.gz |
Make ansible version configurable
Currently the default ansible version is selected by the version of
zuul itself. However we want to make this configurable per deployment
(zuul.conf), tenant and job.
Change-Id: Iccbb124ac7f7a8260c730fbc109ccfc1dec09f8b
Diffstat (limited to 'zuul/scheduler.py')
-rw-r--r-- | zuul/scheduler.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/zuul/scheduler.py b/zuul/scheduler.py index 4379d5822..57ee5710d 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -32,6 +32,7 @@ from zuul import exceptions from zuul import version as zuul_version from zuul import rpclistener from zuul.lib import commandsocket +from zuul.lib.ansible import AnsibleManager from zuul.lib.config import get_default from zuul.lib.gear_utils import getGearmanFunctions from zuul.lib.statsd import get_statsd @@ -323,6 +324,10 @@ class Scheduler(threading.Thread): if self.config.getboolean('scheduler', 'relative_priority'): self.use_relative_priority = True + default_ansible_version = get_default( + self.config, 'scheduler', 'default_ansible_version', None) + self.ansible_manager = AnsibleManager(default_ansible_version) + def start(self): super(Scheduler, self).start() self._command_running = True @@ -662,6 +667,13 @@ class Scheduler(threading.Thread): self.config = event.config try: self.log.info("Full reconfiguration beginning") + + # Reload the ansible manager in case the default ansible version + # changed. + default_ansible_version = get_default( + self.config, 'scheduler', 'default_ansible_version', None) + self.ansible_manager = AnsibleManager(default_ansible_version) + for connection in self.connections.connections.values(): self.log.debug("Clear branch cache for: %s" % connection) connection.clearBranchCache() @@ -672,7 +684,8 @@ class Scheduler(threading.Thread): tenant_config, script = self._checkTenantSourceConf(self.config) self.unparsed_abide = loader.readConfig( tenant_config, from_script=script) - abide = loader.loadConfig(self.unparsed_abide) + abide = loader.loadConfig( + self.unparsed_abide, self.ansible_manager) for tenant in abide.tenants.values(): self._reconfigureTenant(tenant) self.abide = abide @@ -700,7 +713,7 @@ class Scheduler(threading.Thread): self.connections, self, self.merger, self._get_key_dir()) abide = loader.reloadTenant( - self.abide, old_tenant) + self.abide, old_tenant, self.ansible_manager) tenant = abide.tenants[event.tenant_name] self._reconfigureTenant(tenant) self.abide = abide |