From 75a605380a266174056b23108674ba201f325119 Mon Sep 17 00:00:00 2001 From: Fiete Ostkamp Date: Tue, 24 Feb 2026 07:26:48 +0100 Subject: [PATCH] Python 3.12 compatibility - remove avionix dependency [0] - remove the HelmChartStep that used it since it is not referenced anywhere else [0] unmaintained and last updated in 2021 Issue-ID: INT-2358 Change-Id: I593baa8073fe249731be5b9fe2bfa40fe2887055 Signed-off-by: Fiete Ostkamp --- requirements.txt | 1 - setup.cfg | 1 - src/onaptests/steps/wrapper/helm_charts.py | 91 ------------------------------ tox.ini | 8 +-- 4 files changed, 4 insertions(+), 97 deletions(-) delete mode 100644 src/onaptests/steps/wrapper/helm_charts.py diff --git a/requirements.txt b/requirements.txt index 923310f..392e411 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ xtesting==0.91.0 -avionix>=0.4.5 openstacksdk>=0.61.0 onapsdk>=14.3.0 jinja2>3 diff --git a/setup.cfg b/setup.cfg index 78404e3..6b0732c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,7 +22,6 @@ setup_requires = pytest-runner==5.2 install_requires = xtesting==0.91.0 - avionix>=0.4.5 openstacksdk>=0.61.0 onapsdk>=14.3.0 jinja2>3 diff --git a/src/onaptests/steps/wrapper/helm_charts.py b/src/onaptests/steps/wrapper/helm_charts.py deleted file mode 100644 index b15d52b..0000000 --- a/src/onaptests/steps/wrapper/helm_charts.py +++ /dev/null @@ -1,91 +0,0 @@ -"""Basic container commands to Docker.""" -import yaml -from avionix import ChartBuilder, ChartDependency, ChartInfo -from avionix.errors import HelmError - -from onaptests.steps.base import BaseStep -from onaptests.utils.exceptions import (EnvironmentCleanupException, - EnvironmentPreparationException) -from onaptests.utils.resources import get_local_dir - - -class HelmChartStep(BaseStep): - """Basic operations on a docker container.""" - - def __init__(self, - cleanup: bool = False, - chart_info_file: str = None) -> None: - """Setup Helm chart details. - - Arguments: - cleanup (bool): cleanup after execution. Defaults to False. - chart_info_file (str): description file of a chart. Default to None. - """ - chart_info = None - dependencies = [] - - super().__init__(cleanup=cleanup) - - chart_info_path = get_local_dir() / chart_info_file - - try: - with open(chart_info_path, 'r', encoding="utf-8") as stream: - chart_info = yaml.safe_load(stream) - except IOError as err: - msg = f"{chart_info_file} not found." - raise EnvironmentPreparationException(msg) from err - - try: - for dependency in chart_info["dependencies"]: - dep = ChartDependency( - name=dependency["name"], - version=dependency["version"], - repository=dependency["repository"], - local_repo_name=dependency["local_repo_name"], - values=dependency["values"]) - dependencies.append(dep) - - self.builder = ChartBuilder( - chart_info=ChartInfo( - api_version=chart_info["api_version"], - name=chart_info["chart_name"], - version=chart_info["version"], # SemVer 2 version - app_version=chart_info["app_version"], - dependencies=dependencies - ), - kubernetes_objects=[], - keep_chart=False - ) - except KeyError as err: - msg = f"{chart_info_file} does not contain required keys." - raise EnvironmentPreparationException(msg) from err - - @property - def description(self) -> str: - """Step description.""" - return "Execute Helm charts." - - @property - def component(self) -> str: - """Component name.""" - return "Environment" - - @BaseStep.store_state - def execute(self) -> None: - """Install helm release.""" - super().execute() - try: - self.builder.install_chart({"dependency-update": None}) - except HelmError as err: - msg = "Error during helm release installation." - raise EnvironmentPreparationException(msg) from err - - @BaseStep.store_state(cleanup=True) - def cleanup(self) -> None: - """Uninstall helm release.""" - try: - self.builder.uninstall_chart() - except HelmError as err: - msg = "Error during helm release deletion." - raise EnvironmentCleanupException(msg) from err - super().cleanup() diff --git a/tox.ini b/tox.ini index 08075a5..2628495 100644 --- a/tox.ini +++ b/tox.ini @@ -18,7 +18,7 @@ allowlist_externals = deps = skip_install = True commands_pre = - /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.json' > /tmp/.coalist_json" + /bin/sh -c "git --no-pager diff HEAD^ HEAD --name-only --diff-filter=d '*.json' > /tmp/.coalist_json" commands = /bin/bash -c "cat /tmp/.coalist_json | xargs -r python -m json.tool > /dev/null" @@ -27,7 +27,7 @@ deps = yamllint skip_install = True commands_pre = - /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.yaml' '*.yml' > /tmp/.coalist_yaml" + /bin/sh -c "git --no-pager diff HEAD^ HEAD --name-only --diff-filter=d '*.yaml' '*.yml' > /tmp/.coalist_yaml" commands = /bin/bash -c "cat /tmp/.coalist_yaml | xargs -r yamllint -d relaxed" @@ -37,7 +37,7 @@ deps = flake8-docstrings skip_install = True commands_pre = - /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.py' > /tmp/.coalist_py" + /bin/sh -c "git --no-pager diff HEAD^ HEAD --name-only --diff-filter=d '*.py' > /tmp/.coalist_py" commands = /bin/bash -c "cat /tmp/.coalist_py | xargs -r flake8 --max-line-length=120" @@ -48,7 +48,7 @@ skip_install = True commands_pre = nodeenv -p --verbose npm install --global markdownlint-cli - /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.md' > /tmp/.coalist_md" + /bin/sh -c "git --no-pager diff HEAD^ HEAD --name-only --diff-filter=d '*.md' > /tmp/.coalist_md" commands = /bin/bash -c "cat /tmp/.coalist_md | xargs -r markdownlint" -- 2.16.6