From 41f95735639d0cee70816fcbbb3c30c6c133bd5f Mon Sep 17 00:00:00 2001 From: Tullio Sebastiani Date: Fri, 15 Dec 2023 20:22:25 +0100 Subject: [PATCH] Fixes cluster shutdown issue with single entry in scenario config (#535) * fixed cluster shutdown issue * fixed config file list parsing --- kraken/shut_down/common_shut_down_func.py | 25 +++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/kraken/shut_down/common_shut_down_func.py b/kraken/shut_down/common_shut_down_func.py index 7af446d4..8eed6e89 100644 --- a/kraken/shut_down/common_shut_down_func.py +++ b/kraken/shut_down/common_shut_down_func.py @@ -135,15 +135,22 @@ def run(scenarios_list, config, wait_duration, kubecli: KrknKubernetes, telemetr scenario_telemetries: list[ScenarioTelemetry] = [] for shut_down_config in scenarios_list: + config_path = shut_down_config + pre_action_output = "" + if isinstance(shut_down_config, list) : + if len(shut_down_config) == 0: + raise Exception("bad config file format for shutdown scenario") + + config_path = shut_down_config[0] + if len(shut_down_config) > 1: + pre_action_output = post_actions.run("", shut_down_config[1]) + scenario_telemetry = ScenarioTelemetry() - scenario_telemetry.scenario = shut_down_config + scenario_telemetry.scenario = config_path scenario_telemetry.startTimeStamp = time.time() - telemetry.set_parameters_base64(scenario_telemetry, shut_down_config[0]) - if len(shut_down_config) > 1: - pre_action_output = post_actions.run("", shut_down_config[1]) - else: - pre_action_output = "" - with open(shut_down_config[0], "r") as f: + telemetry.set_parameters_base64(scenario_telemetry, config_path) + + with open(config_path, "r") as f: shut_down_config_yaml = yaml.full_load(f) shut_down_config_scenario = \ shut_down_config_yaml["cluster_shut_down_scenario"] @@ -166,8 +173,8 @@ def run(scenarios_list, config, wait_duration, kubecli: KrknKubernetes, telemetr ) except (RuntimeError, Exception): - log_exception(shut_down_config[0]) - failed_scenarios.append(shut_down_config[0]) + log_exception(config_path) + failed_scenarios.append(config_path) scenario_telemetry.exitStatus = 1 else: scenario_telemetry.exitStatus = 0