From 4db3e083ed93823e76a28f0dc163e7549bb75557 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Wed, 18 Nov 2020 11:14:26 -0700 Subject: [PATCH] [TRAIN-Only] Remove __init__ from base strategy There is a loading issues when running under py2 that causes errors because of the way the base strategy is loaded. This change moves the variable initialization out of the base and puts it in the strategies themselves instead. It's a tiny bit of duplication but prevents loading issues when running under py2. Change-Id: I668590662dfed029a258bb21cb9c1100cee76652 Closes-Bug: #1904770 --- .../ansible_plugins/strategy/tripleo_base.py | 16 ---------------- .../ansible_plugins/strategy/tripleo_free.py | 14 ++++++++++++++ .../ansible_plugins/strategy/tripleo_linear.py | 13 +++++++++++++ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/tripleo_ansible/ansible_plugins/strategy/tripleo_base.py b/tripleo_ansible/ansible_plugins/strategy/tripleo_base.py index 34ad78c43..6585a1c78 100644 --- a/tripleo_ansible/ansible_plugins/strategy/tripleo_base.py +++ b/tripleo_ansible/ansible_plugins/strategy/tripleo_base.py @@ -36,22 +36,6 @@ display = Display() class TripleoBase(StrategyBase): - def __init__(self, *args, **kwargs): - super(TripleoBase, self).__init__(*args, **kwargs) - self._any_errors_fatal = False - self._callback_sent = False - self._has_work = False - self._host_pinned = False - self._hosts_left = [] - self._iterator = None - self._play_context = None - self._strat_results = [] - self.noop_task = None - self._fail_cache = {} - # these were defined in 2.9 - self._has_hosts_cache = False - self._has_hosts_cache_all = False - def _print(self, msg, host=None, level=1): display.verbose(msg, host=host, caplevel=level) diff --git a/tripleo_ansible/ansible_plugins/strategy/tripleo_free.py b/tripleo_ansible/ansible_plugins/strategy/tripleo_free.py index 4bd29cbc1..b941464b7 100644 --- a/tripleo_ansible/ansible_plugins/strategy/tripleo_free.py +++ b/tripleo_ansible/ansible_plugins/strategy/tripleo_free.py @@ -80,6 +80,20 @@ class StrategyModule(BASE.TripleoBase): def __init__(self, *args, **kwargs): super(StrategyModule, self).__init__(*args, **kwargs) + self._any_errors_fatal = False + self._callback_sent = False + self._has_work = False + self._host_pinned = False + self._hosts_left = [] + self._iterator = None + self._play_context = None + self._strat_results = [] + self.noop_task = None + self._fail_cache = {} + # these were defined in 2.9 + self._has_hosts_cache = False + self._has_hosts_cache_all = False + # free specific vars self._last_host = 0 self._workers_free = 0 self._run_once_tasks = set() diff --git a/tripleo_ansible/ansible_plugins/strategy/tripleo_linear.py b/tripleo_ansible/ansible_plugins/strategy/tripleo_linear.py index ff1f8cdb9..b3c8ef396 100644 --- a/tripleo_ansible/ansible_plugins/strategy/tripleo_linear.py +++ b/tripleo_ansible/ansible_plugins/strategy/tripleo_linear.py @@ -75,6 +75,19 @@ class StrategyModule(BASE.TripleoBase): def __init__(self, *args, **kwargs): super(StrategyModule, self).__init__(*args, **kwargs) + self._any_errors_fatal = False + self._callback_sent = False + self._has_work = False + self._host_pinned = False + self._hosts_left = [] + self._iterator = None + self._play_context = None + self._strat_results = [] + self.noop_task = None + self._fail_cache = {} + # these were defined in 2.9 + self._has_hosts_cache = False + self._has_hosts_cache_all = False def _create_noop_task(self): """Create noop task"""