From a357a0012083165bc6effdb19bc03106e2903780 Mon Sep 17 00:00:00 2001 From: Sebastian Luna-Valero Date: Fri, 2 Oct 2026 17:13:38 +0200 Subject: [PATCH 1/4] replace pkg_resources with importlib.resources --- fedcloudclient/sites.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fedcloudclient/sites.py b/fedcloudclient/sites.py index 8c407c4..a2cfe32 100644 --- a/fedcloudclient/sites.py +++ b/fedcloudclient/sites.py @@ -18,7 +18,7 @@ from urllib.request import Request, urlopen import click -import pkg_resources +from importlib.resources import files import yaml from jsonschema import validate @@ -54,8 +54,9 @@ def read_site_schema(): :return: JSON object from schema.json """ - file = pkg_resources.resource_stream("fedcloudclient", "schema.json") - schema = json.load(file) + # Open the bundled file inside the fedcloudclient package as a binary stream + with files("fedcloudclient").joinpath("schema.json").open("rb") as file: + schema = json.load(file) return schema From 09b8428678df0727027af7d6b8c5c700f9cfbad7 Mon Sep 17 00:00:00 2001 From: Sebastian Luna-Valero Date: Fri, 2 Oct 2026 17:43:47 +0200 Subject: [PATCH 2/4] handle openstack error without raising an exception --- fedcloudclient/logger.py | 6 ++++++ fedcloudclient/openstack.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fedcloudclient/logger.py b/fedcloudclient/logger.py index b44067f..1535d70 100644 --- a/fedcloudclient/logger.py +++ b/fedcloudclient/logger.py @@ -30,8 +30,14 @@ def init_logger(): def log_and_raise(error_msg: str, exception): """ Log error and raise exception + + :param error_msg: error message to log (and to use as exception message) + :param exception: either an exception class, which is instantiated with + error_msg, or an exception instance, which is raised as is """ LOG.error(error_msg) + if isinstance(exception, BaseException): + raise exception raise exception(error_msg) diff --git a/fedcloudclient/openstack.py b/fedcloudclient/openstack.py index e4462e0..d072ddf 100644 --- a/fedcloudclient/openstack.py +++ b/fedcloudclient/openstack.py @@ -109,7 +109,7 @@ def fedcloud_openstack_full( (__OPENSTACK_CLIENT,) + openstack_command + options, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - env=my_env, check=True + env=my_env ) error_code = completed.returncode From 7feee18c4db50b7dfb8be6bba136a1528bbd0ad3 Mon Sep 17 00:00:00 2001 From: Sebastian Luna-Valero Date: Fri, 2 Oct 2026 17:46:48 +0200 Subject: [PATCH 3/4] run test command --- .github/workflows/python-package.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index c787881..370acdf 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -38,3 +38,6 @@ jobs: - name: Test with pytest run: | pytest + - name: Run test + run: | + fedcloud --version From 21adc9b77bb1f874d5a1e248b3476533732f2910 Mon Sep 17 00:00:00 2001 From: Sebastian Luna-Valero Date: Fri, 2 Oct 2026 17:54:18 +0200 Subject: [PATCH 4/4] install before run --- .github/workflows/python-package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 370acdf..24dd010 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -40,4 +40,5 @@ jobs: pytest - name: Run test run: | + python -m pip install . fedcloud --version