[Rollback Scenarios] Fix cleanup_rollback_version_files error (#889)
Functional & Unit Tests / Functional & Unit Tests (push) Failing after 9m57s
Functional & Unit Tests / Generate Coverage Badge (push) Has been skipped

* Replace ValueError with warning when directory count is not 1

* Add default config for rollback feature
This commit is contained in:
LIU ZHE YOU
2025-08-21 12:12:01 +02:00
committed by GitHub
parent 816363d151
commit 24aa9036b0
3 changed files with 16 additions and 3 deletions
+2
View File
@@ -2,6 +2,8 @@ kraken:
distribution: kubernetes # Distribution can be kubernetes or openshift.
kubeconfig_path: ~/.kube/config # Path to kubeconfig.
exit_on_failure: False # Exit when a post action scenario fails.
auto_rollback: True # Enable auto rollback for scenarios.
rollback_versions_directory: /tmp/kraken-rollback # Directory to store rollback version files.
chaos_scenarios: # List of policies/chaos scenarios to load.
- $scenario_type: # List of chaos pod scenarios to load.
- $scenario_file
+7 -2
View File
@@ -122,10 +122,15 @@ class RollbackConfig(metaclass=SingletonMeta):
rollback_context_directories = [
dirname for dirname in os.listdir(cls().versions_directory) if run_uuid in dirname
]
if len(rollback_context_directories) != 1:
raise ValueError(
if not rollback_context_directories:
logger.warning(f"No rollback context directories found for run UUID {run_uuid}")
return []
if len(rollback_context_directories) > 1:
logger.warning(
f"Expected one directory for run UUID {run_uuid}, found: {rollback_context_directories}"
)
rollback_context_directory = rollback_context_directories[0]
version_files = []
+7 -1
View File
@@ -128,7 +128,10 @@ def execute_rollback_version_files(telemetry_ocp: "KrknTelemetryOpenshift", run_
# Get the rollback versions directory
version_files = RollbackConfig.search_rollback_version_files(run_uuid, scenario_type)
if not version_files:
logger.warning(f"Skip execution for run_uuid={run_uuid}, scenario_type={scenario_type or '*'}")
return
# Execute all version files in the directory
logger.info(f"Executing rollback version files for run_uuid={run_uuid}, scenario_type={scenario_type or '*'}")
for version_file in version_files:
@@ -159,6 +162,9 @@ def cleanup_rollback_version_files(run_uuid: str, scenario_type: str):
# Get the rollback versions directory
version_files = RollbackConfig.search_rollback_version_files(run_uuid, scenario_type)
if not version_files:
logger.warning(f"Skip cleanup for run_uuid={run_uuid}, scenario_type={scenario_type or '*'}")
return
# Remove all version files in the directory
logger.info(f"Cleaning up rollback version files for run_uuid={run_uuid}, scenario_type={scenario_type}")