From ccfa1ad1949f1473d41a218cfa3ed85d95f471ce Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 10 Dec 2019 10:05:30 -0500 Subject: [PATCH] config: refactor how per step tasks are generated The per step tasks generation was introduced by: I4d864f374d6f840585fafef2c7678e55c154898e This patch is refactoring a little bit so we can easily re-use that interface for the other tasks. It introduces a new constant: PER_STEP_TASKS It's a list of tasks that are "per step" ready. Note about the 'else' in tripleo_common/utils/config.py : Once all tasks are adapted in THT to run per step, we will be able to move this condition to the upper level We include it here to allow the CI to pass until THT changed is not merged. Change-Id: Ie03084bb599b7b06aeeb321d2a7938a908487788 (cherry picked from commit d9c82d8c79c33f261e4335f2ffa09bd4e44fd719) --- tripleo_common/constants.py | 4 +++- tripleo_common/utils/config.py | 13 ++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/tripleo_common/constants.py b/tripleo_common/constants.py index 7fbbfd1ce..ec3533a8d 100644 --- a/tripleo_common/constants.py +++ b/tripleo_common/constants.py @@ -212,7 +212,9 @@ MISTRAL_WORK_DIR = '/var/lib/mistral' EXCLUSIVE_NEUTRON_DRIVERS = ['ovn', 'openvswitch'] -UPGRADE_STEPS_MAX = 6 +DEFAULT_STEPS_MAX = 6 + +PER_STEP_TASKS = ['upgrade_tasks'] # Global Directories for clouds.yaml GLOBAL_OS_DIR = '/etc/openstack' diff --git a/tripleo_common/utils/config.py b/tripleo_common/utils/config.py index c8bcb357f..4de751641 100644 --- a/tripleo_common/utils/config.py +++ b/tripleo_common/utils/config.py @@ -250,15 +250,18 @@ class Config(object): role_group_vars[role_name] = {} role_group_vars[role_name].update(role[config]) else: - # NOTE(jfrancoa): Move this upgrade_tasks condition to the - # upper level once THT is adapted. We include it here to - # allow the CI to pass until THT changed is not merged. - if config == 'upgrade_tasks': - for i in range(constants.UPGRADE_STEPS_MAX): + # NOTE(emilien): Move this condition to the + # upper level once THT is adapted for all tasks to be + # run per step. + # We include it here to allow the CI to pass until THT + # changed is not merged. + if config in constants.PER_STEP_TASKS: + for i in range(constants.DEFAULT_STEPS_MAX): filepath = os.path.join(role_path, '%s_step%s.yaml' % (config, i)) self._write_tasks_per_step(role[config], role_name, filepath, i) + try: data = role[config] except KeyError as e: