From 00a213db1f3fed69b1cda09d378c43bdcc9e9630 Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Tue, 29 Oct 2024 09:42:04 -0400 Subject: [PATCH 1/6] Updates for site_components tests --- .../test_validate_edge_site_components.py | 133 ++---------------- .../test_validate_hub_site_components.py | 106 ++------------ 2 files changed, 21 insertions(+), 218 deletions(-) diff --git a/tests/interop/test_validate_edge_site_components.py b/tests/interop/test_validate_edge_site_components.py index 343f97c82..ed36de4d8 100644 --- a/tests/interop/test_validate_edge_site_components.py +++ b/tests/interop/test_validate_edge_site_components.py @@ -3,12 +3,7 @@ import pytest from ocp_resources.route import Route -from validatedpatterns_tests.interop import components -from validatedpatterns_tests.interop.crd import ArgoCD -from validatedpatterns_tests.interop.edge_util import ( - get_long_live_bearer_token, - get_site_response, -) +from validatedpatterns_tests.interop import application, components from . import __loggername__ @@ -16,14 +11,6 @@ oc = os.environ["HOME"] + "/oc_client/oc" -""" -Validate following multicloud-gitops components pods and endpoints on edge site (line server): - -1) argocd -2) ACM agents -3) applications health (Applications deployed through argocd) -""" - @pytest.mark.test_validate_edge_site_components def test_validate_edge_site_components(): @@ -35,29 +22,8 @@ def test_validate_edge_site_components(): @pytest.mark.validate_edge_site_reachable def test_validate_edge_site_reachable(kube_config, openshift_dyn_client): logger.info("Check if edge site API end point is reachable") - edge_api_url = kube_config.host - if not edge_api_url: - err_msg = "Edge site url is missing in kubeconfig file" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - else: - logger.info(f"EDGE api url : {edge_api_url}") - - bearer_token = get_long_live_bearer_token( - dyn_client=openshift_dyn_client, - namespace="openshift-gitops", - sub_string="argocd-dex-server-token", - ) - - if not bearer_token: - assert False, "Bearer token is missing for argocd-dex-server" - - edge_api_response = get_site_response( - site_url=edge_api_url, bearer_token=bearer_token - ) - - if edge_api_response.status_code != 200: - err_msg = "Edge site is not reachable. Please check the deployment." + err_msg = components.validate_site_reachable(kube_config, openshift_dyn_client) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: @@ -67,8 +33,6 @@ def test_validate_edge_site_reachable(kube_config, openshift_dyn_client): @pytest.mark.check_pod_status_edge def test_check_pod_status(openshift_dyn_client): logger.info("Checking pod status") - - err_msg = [] projects = [ "openshift-operators", "open-cluster-management-agent", @@ -76,25 +40,7 @@ def test_check_pod_status(openshift_dyn_client): "openshift-gitops", ] - missing_projects = components.check_project_absense(openshift_dyn_client, projects) - missing_pods = [] - failed_pods = [] - - for project in projects: - missing_pods += components.check_pod_absence(openshift_dyn_client, project) - failed_pods += components.check_pod_status(openshift_dyn_client, project) - - if missing_projects: - err_msg.append(f"The following namespaces are missing: {missing_projects}") - - if missing_pods: - err_msg.append( - f"The following namespaces have no pods deployed: {missing_pods}" - ) - - if failed_pods: - err_msg.append(f"The following pods are failed: {failed_pods}") - + err_msg = components.check_pod_status(openshift_dyn_client, projects) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg @@ -104,49 +50,9 @@ def test_check_pod_status(openshift_dyn_client): @pytest.mark.validate_argocd_reachable_edge_site def test_validate_argocd_reachable_edge_site(openshift_dyn_client): - namespace = "openshift-gitops" - - try: - for route in Route.get( - dyn_client=openshift_dyn_client, - namespace=namespace, - name="openshift-gitops-server", - ): - argocd_route_url = route.instance.spec.host - except StopIteration: - err_msg = f"Argocd url/route is missing in {namespace} namespace" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - - logger.info("Check if argocd route/url on hub site is reachable") - if not argocd_route_url: - err_msg = f"Argocd url/route is missing in {namespace} namespace" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - else: - final_argocd_url = f"{'https://'}{argocd_route_url}" - logger.info(f"Argocd route/url : {final_argocd_url}") - - bearer_token = get_long_live_bearer_token( - dyn_client=openshift_dyn_client, - namespace=namespace, - sub_string="argocd-dex-server-token", - ) - if not bearer_token: - err_msg = "Bearer token is missing for argocd-dex-server" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - else: - logger.debug(f"Argocd bearer token : {bearer_token}") - - argocd_route_response = get_site_response( - site_url=final_argocd_url, bearer_token=bearer_token - ) - - logger.info(f"Argocd route response : {argocd_route_response}") - - if argocd_route_response.status_code != 200: - err_msg = "Argocd is not reachable. Please check the deployment." + logger.info("Check if argocd route/url on edge site is reachable") + err_msg = components.validate_argocd_reachable(openshift_dyn_client) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: @@ -155,30 +61,11 @@ def test_validate_argocd_reachable_edge_site(openshift_dyn_client): @pytest.mark.validate_argocd_applications_health_edge_site def test_validate_argocd_applications_health_edge_site(openshift_dyn_client): - unhealthy_apps = [] logger.info("Get all applications deployed by argocd on edge site") projects = ["openshift-gitops"] - for project in projects: - logger.info(f"PROJECT: {project}") - for app in ArgoCD.get(dyn_client=openshift_dyn_client, namespace=project): - app_name = app.instance.metadata.name - app_health = app.instance.status.health.status - app_sync = app.instance.status.sync.status - - logger.info(f"Status for {app_name} : {app_health} : {app_sync}") - - if "Healthy" != app_health or "Synced" != app_sync: - logger.info(f"Dumping failed resources for app: {app_name}") - unhealthy_apps.append(app_name) - try: - for res in app.instance.status.resources: - if ( - res.health and res.health.status != "Healthy" - ) or res.status != "Synced": - logger.info(f"\n{res}") - except TypeError: - logger.info(f"No resources found for app: {app_name}") - + unhealthy_apps = application.get_argocd_application_status( + openshift_dyn_client, projects + ) if unhealthy_apps: err_msg = "Some or all applications deployed on edge site are unhealthy" logger.error(f"FAIL: {err_msg}:\n{unhealthy_apps}") diff --git a/tests/interop/test_validate_hub_site_components.py b/tests/interop/test_validate_hub_site_components.py index 50af97b79..24fee35ed 100644 --- a/tests/interop/test_validate_hub_site_components.py +++ b/tests/interop/test_validate_hub_site_components.py @@ -5,7 +5,6 @@ import yaml from ocp_resources.storage_class import StorageClass from validatedpatterns_tests.interop import application, components -from validatedpatterns_tests.interop.crd import ManagedCluster from . import __loggername__ @@ -13,15 +12,6 @@ oc = os.environ["HOME"] + "/oc_client/oc" -""" -Validate following multicloud-gitops components pods and endpoints on hub site (central server): - -1) ACM (Advanced Cluster Manager) and self-registration -2) argocd -3) openshift operators -4) applications health (Applications deployed through argocd) -""" - @pytest.mark.test_validate_hub_site_components def test_validate_hub_site_components(openshift_dyn_client): @@ -40,19 +30,8 @@ def test_validate_hub_site_components(openshift_dyn_client): @pytest.mark.validate_hub_site_reachable def test_validate_hub_site_reachable(kube_config, openshift_dyn_client): logger.info("Check if hub site API end point is reachable") - namespace = "openshift-gitops" - sub_string = "argocd-dex-server-token" - try: - hub_api_url = application.get_site_api_url(kube_config) - hub_api_response = application.get_site_api_response( - openshift_dyn_client, hub_api_url, namespace, sub_string - ) - except AssertionError as e: - logger.error(f"FAIL: {e}") - assert False, e - - if hub_api_response.status_code != 200: - err_msg = "Hub site is not reachable. Please check the deployment." + err_msg = components.validate_site_reachable(kube_config, openshift_dyn_client) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: @@ -62,8 +41,6 @@ def test_validate_hub_site_reachable(kube_config, openshift_dyn_client): @pytest.mark.check_pod_status_hub def test_check_pod_status(openshift_dyn_client): logger.info("Checking pod status") - - err_msg = [] projects = [ "openshift-operators", "open-cluster-management", @@ -71,27 +48,7 @@ def test_check_pod_status(openshift_dyn_client): "openshift-gitops", "vault", ] - - missing_projects = components.check_project_absense(openshift_dyn_client, projects) - missing_pods = [] - failed_pods = [] - - for project in projects: - logger.info(f"Checking pods in namespace '{project}'") - missing_pods += components.check_pod_absence(openshift_dyn_client, project) - failed_pods += components.check_pod_status(openshift_dyn_client, projects) - - if missing_projects: - err_msg.append(f"The following namespaces are missing: {missing_projects}") - - if missing_pods: - err_msg.append( - f"The following namespaces have no pods deployed: {missing_pods}" - ) - - if failed_pods: - err_msg.append(f"The following pods are failed: {failed_pods}") - + err_msg = components.check_pod_status(openshift_dyn_client, projects) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg @@ -102,59 +59,20 @@ def test_check_pod_status(openshift_dyn_client): @pytest.mark.validate_acm_self_registration_managed_clusters def test_validate_acm_self_registration_managed_clusters(openshift_dyn_client): logger.info("Check ACM self registration for edge site") - - kubefile = os.getenv("KUBECONFIG_EDGE") - kubefile_exp = os.path.expandvars(kubefile) - with open(kubefile_exp) as stream: - try: - out = yaml.safe_load(stream) - site_name = out["clusters"][0]["name"] - except yaml.YAMLError: - err_msg = "Failed to load kubeconfig file" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - - clusters = ManagedCluster.get(dyn_client=openshift_dyn_client, name=site_name) - cluster = next(clusters) - is_managed_cluster_joined, managed_cluster_status = cluster.self_registered - - logger.info(f"Cluster Managed : {is_managed_cluster_joined}") - logger.info(f"Managed Cluster Status : {managed_cluster_status}") - - if not is_managed_cluster_joined: - err_msg = f"{site_name} is not self registered" + kubefiles = [os.getenv("KUBECONFIG_EDGE")] + err_msg = components.validate_acm_self_registration_managed_clusters(openshift_dyn_client, kubefiles) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: - logger.info(f"PASS: {site_name} is self registered") + logger.info(f"PASS: Edge site is self registered") @pytest.mark.validate_argocd_reachable_hub_site def test_validate_argocd_reachable_hub_site(openshift_dyn_client): - namespace = "openshift-gitops" - name = "openshift-gitops-server" - sub_string = "argocd-dex-server-token" logger.info("Check if argocd route/url on hub site is reachable") - try: - argocd_route_url = application.get_argocd_route_url( - openshift_dyn_client, namespace, name - ) - argocd_route_response = application.get_site_api_response( - openshift_dyn_client, argocd_route_url, namespace, sub_string - ) - except StopIteration: - err_msg = "Argocd url/route is missing in open-cluster-management namespace" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - except AssertionError: - err_msg = "Bearer token is missing for argocd-dex-server" - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - - logger.info(f"Argocd route response : {argocd_route_response}") - - if argocd_route_response.status_code != 200: - err_msg = "Argocd is not reachable. Please check the deployment" + err_msg = components.validate_argocd_reachable(openshift_dyn_client) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: @@ -163,12 +81,10 @@ def test_validate_argocd_reachable_hub_site(openshift_dyn_client): @pytest.mark.validate_argocd_applications_health_hub_site def test_validate_argocd_applications_health_hub_site(openshift_dyn_client): - unhealthy_apps = [] logger.info("Get all applications deployed by argocd on hub site") projects = ["openshift-gitops", "multicloud-gitops-hub"] - for project in projects: - unhealthy_apps += application.get_argocd_application_status( - openshift_dyn_client, project + unhealthy_apps = application.get_argocd_application_status( + openshift_dyn_client, projects ) if unhealthy_apps: err_msg = "Some or all applications deployed on hub site are unhealthy" From 82c2c88e3b9433d7d1daec1bc1fdc361af6a2f6c Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Wed, 30 Oct 2024 00:58:01 -0400 Subject: [PATCH 2/6] Updates for subscription tests --- .../interop/test_subscription_status_edge.py | 18 +--- tests/interop/test_subscription_status_hub.py | 99 +------------------ 2 files changed, 4 insertions(+), 113 deletions(-) diff --git a/tests/interop/test_subscription_status_edge.py b/tests/interop/test_subscription_status_edge.py index b4e4b2dfa..b7adf4153 100644 --- a/tests/interop/test_subscription_status_edge.py +++ b/tests/interop/test_subscription_status_edge.py @@ -15,22 +15,8 @@ def test_subscription_status_edge(openshift_dyn_client): "openshift-gitops-operator": ["openshift-operators"], } - ( - operator_versions, - missing_subs, - unhealthy_subs, - missing_installplans, - upgrades_pending, - ) = subscription.subscription_status(openshift_dyn_client, expected_subs) - - for line in operator_versions: - logger.info(line) - - cluster_version = subscription.openshift_version(openshift_dyn_client) - logger.info(f"Openshift version:\n{cluster_version.instance.status.history}") - - if missing_subs or unhealthy_subs or missing_installplans or upgrades_pending: - err_msg = "Subscription status check failed" + err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: diff --git a/tests/interop/test_subscription_status_hub.py b/tests/interop/test_subscription_status_hub.py index 6a575d691..32495a2f7 100644 --- a/tests/interop/test_subscription_status_hub.py +++ b/tests/interop/test_subscription_status_hub.py @@ -1,8 +1,4 @@ -import difflib import logging -import os -import re -import subprocess import pytest from validatedpatterns_tests.interop import subscription @@ -21,100 +17,9 @@ def test_subscription_status_hub(openshift_dyn_client): "multicluster-engine": ["multicluster-engine"], } - ( - operator_versions, - missing_subs, - unhealthy_subs, - missing_installplans, - upgrades_pending, - ) = subscription.subscription_status(openshift_dyn_client, expected_subs) - - if missing_subs: - logger.error(f"FAIL: The following subscriptions are missing: {missing_subs}") - if unhealthy_subs: - logger.error( - f"FAIL: The following subscriptions are unhealthy: {unhealthy_subs}" - ) - if missing_installplans: - logger.error( - f"FAIL: The install plan for the following subscriptions is missing: {missing_installplans}" - ) - if upgrades_pending: - logger.error( - f"FAIL: The following subscriptions are in UpgradePending state: {upgrades_pending}" - ) - - cluster_version = subscription.openshift_version(openshift_dyn_client) - logger.info(f"Openshift version:\n{cluster_version.instance.status.history}") - - if os.getenv("EXTERNAL_TEST") != "true": - shortversion = re.sub("(.[0-9]+$)", "", os.getenv("OPENSHIFT_VER")) - currentfile = os.getcwd() + "/operators_hub_current" - sourceFile = open(currentfile, "w") - for line in operator_versions: - logger.info(line) - print(line, file=sourceFile) - sourceFile.close() - - logger.info("Clone operator-versions repo") - try: - operator_versions_repo = ( - "git@gitlab.cee.redhat.com:mpqe/mps/vp/operator-versions.git" - ) - clone = subprocess.run( - ["git", "clone", operator_versions_repo], capture_output=True, text=True - ) - logger.info(clone.stdout) - logger.info(clone.stderr) - except Exception: - pass - - previouspath = os.getcwd() + f"/operator-versions/mcgitops_hub_{shortversion}" - previousfile = f"mcgitops_hub_{shortversion}" - - logger.info("Ensure previous file exists") - checkpath = os.path.exists(previouspath) - logger.info(checkpath) - - if checkpath is True: - logger.info("Diff current operator list with previous file") - diff = opdiff(open(previouspath).readlines(), open(currentfile).readlines()) - diffstring = "".join(diff) - logger.info(diffstring) - - logger.info("Write diff to file") - sourceFile = open("operator_diffs_hub.log", "w") - print(diffstring, file=sourceFile) - sourceFile.close() - else: - logger.info("Skipping operator diff - previous file not found") - - if missing_subs or unhealthy_subs or missing_installplans or upgrades_pending: - err_msg = "Subscription status check failed" + err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs) + if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg else: - # Only push the new operarator list if the test passed - # and we are not testing a pre-release operator nor - # running externally - if os.getenv("EXTERNAL_TEST") != "true": - if checkpath is True and not os.environ["INDEX_IMAGE"]: - os.remove(previouspath) - os.rename(currentfile, previouspath) - - cwd = os.getcwd() + "/operator-versions" - logger.info(f"CWD: {cwd}") - - logger.info("Push new operator list") - subprocess.run(["git", "add", previousfile], cwd=cwd) - subprocess.run( - ["git", "commit", "-m", "Update operator versions list"], - cwd=cwd, - ) - subprocess.run(["git", "push"], cwd=cwd) - logger.info("PASS: Subscription status check passed") - - -def opdiff(*args): - return filter(lambda x: not x.startswith(" "), difflib.ndiff(*args)) From ea8562ed886038e37996afcc594a3e5fc53247a4 Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Fri, 1 Nov 2024 12:36:43 -0400 Subject: [PATCH 3/6] Add diff param --- tests/interop/test_subscription_status_edge.py | 2 +- tests/interop/test_subscription_status_hub.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/interop/test_subscription_status_edge.py b/tests/interop/test_subscription_status_edge.py index b7adf4153..a958dec76 100644 --- a/tests/interop/test_subscription_status_edge.py +++ b/tests/interop/test_subscription_status_edge.py @@ -15,7 +15,7 @@ def test_subscription_status_edge(openshift_dyn_client): "openshift-gitops-operator": ["openshift-operators"], } - err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs) + err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs, diff=False) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg diff --git a/tests/interop/test_subscription_status_hub.py b/tests/interop/test_subscription_status_hub.py index 32495a2f7..df654a23f 100644 --- a/tests/interop/test_subscription_status_hub.py +++ b/tests/interop/test_subscription_status_hub.py @@ -17,7 +17,7 @@ def test_subscription_status_hub(openshift_dyn_client): "multicluster-engine": ["multicluster-engine"], } - err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs) + err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs, diff=True) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg From af382535cd2d6169df0bf52938477dd550bc4655 Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Tue, 5 Nov 2024 09:45:07 -0500 Subject: [PATCH 4/6] Lint --- tests/interop/test_subscription_status_edge.py | 4 +++- tests/interop/test_subscription_status_hub.py | 4 +++- tests/interop/test_validate_edge_site_components.py | 4 ++-- tests/interop/test_validate_hub_site_components.py | 8 +++++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/interop/test_subscription_status_edge.py b/tests/interop/test_subscription_status_edge.py index a958dec76..d8ef34ab1 100644 --- a/tests/interop/test_subscription_status_edge.py +++ b/tests/interop/test_subscription_status_edge.py @@ -15,7 +15,9 @@ def test_subscription_status_edge(openshift_dyn_client): "openshift-gitops-operator": ["openshift-operators"], } - err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs, diff=False) + err_msg = subscription.subscription_status( + openshift_dyn_client, expected_subs, diff=False + ) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg diff --git a/tests/interop/test_subscription_status_hub.py b/tests/interop/test_subscription_status_hub.py index df654a23f..90083a9c0 100644 --- a/tests/interop/test_subscription_status_hub.py +++ b/tests/interop/test_subscription_status_hub.py @@ -17,7 +17,9 @@ def test_subscription_status_hub(openshift_dyn_client): "multicluster-engine": ["multicluster-engine"], } - err_msg = subscription.subscription_status(openshift_dyn_client, expected_subs, diff=True) + err_msg = subscription.subscription_status( + openshift_dyn_client, expected_subs, diff=True + ) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg diff --git a/tests/interop/test_validate_edge_site_components.py b/tests/interop/test_validate_edge_site_components.py index ed36de4d8..33d23372e 100644 --- a/tests/interop/test_validate_edge_site_components.py +++ b/tests/interop/test_validate_edge_site_components.py @@ -64,8 +64,8 @@ def test_validate_argocd_applications_health_edge_site(openshift_dyn_client): logger.info("Get all applications deployed by argocd on edge site") projects = ["openshift-gitops"] unhealthy_apps = application.get_argocd_application_status( - openshift_dyn_client, projects - ) + openshift_dyn_client, projects + ) if unhealthy_apps: err_msg = "Some or all applications deployed on edge site are unhealthy" logger.error(f"FAIL: {err_msg}:\n{unhealthy_apps}") diff --git a/tests/interop/test_validate_hub_site_components.py b/tests/interop/test_validate_hub_site_components.py index 24fee35ed..a100075c0 100644 --- a/tests/interop/test_validate_hub_site_components.py +++ b/tests/interop/test_validate_hub_site_components.py @@ -60,7 +60,9 @@ def test_check_pod_status(openshift_dyn_client): def test_validate_acm_self_registration_managed_clusters(openshift_dyn_client): logger.info("Check ACM self registration for edge site") kubefiles = [os.getenv("KUBECONFIG_EDGE")] - err_msg = components.validate_acm_self_registration_managed_clusters(openshift_dyn_client, kubefiles) + err_msg = components.validate_acm_self_registration_managed_clusters( + openshift_dyn_client, kubefiles + ) if err_msg: logger.error(f"FAIL: {err_msg}") assert False, err_msg @@ -84,8 +86,8 @@ def test_validate_argocd_applications_health_hub_site(openshift_dyn_client): logger.info("Get all applications deployed by argocd on hub site") projects = ["openshift-gitops", "multicloud-gitops-hub"] unhealthy_apps = application.get_argocd_application_status( - openshift_dyn_client, projects - ) + openshift_dyn_client, projects + ) if unhealthy_apps: err_msg = "Some or all applications deployed on hub site are unhealthy" logger.error(f"FAIL: {err_msg}:\n{unhealthy_apps}") From 9163d8ac4a3256945950e205d80783366925c896 Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Tue, 5 Nov 2024 10:05:34 -0500 Subject: [PATCH 5/6] Reorder tests --- .../test_validate_edge_site_components.py | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tests/interop/test_validate_edge_site_components.py b/tests/interop/test_validate_edge_site_components.py index 33d23372e..e3ada6a9f 100644 --- a/tests/interop/test_validate_edge_site_components.py +++ b/tests/interop/test_validate_edge_site_components.py @@ -30,6 +30,17 @@ def test_validate_edge_site_reachable(kube_config, openshift_dyn_client): logger.info("PASS: Edge site is reachable") +@pytest.mark.validate_argocd_reachable_edge_site +def test_validate_argocd_reachable_edge_site(openshift_dyn_client): + logger.info("Check if argocd route/url on edge site is reachable") + err_msg = components.validate_argocd_reachable(openshift_dyn_client) + if err_msg: + logger.error(f"FAIL: {err_msg}") + assert False, err_msg + else: + logger.info("PASS: Argocd is reachable") + + @pytest.mark.check_pod_status_edge def test_check_pod_status(openshift_dyn_client): logger.info("Checking pod status") @@ -39,7 +50,6 @@ def test_check_pod_status(openshift_dyn_client): "open-cluster-management-agent-addon", "openshift-gitops", ] - err_msg = components.check_pod_status(openshift_dyn_client, projects) if err_msg: logger.error(f"FAIL: {err_msg}") @@ -48,17 +58,6 @@ def test_check_pod_status(openshift_dyn_client): logger.info("PASS: Pod status check succeeded.") -@pytest.mark.validate_argocd_reachable_edge_site -def test_validate_argocd_reachable_edge_site(openshift_dyn_client): - logger.info("Check if argocd route/url on edge site is reachable") - err_msg = components.validate_argocd_reachable(openshift_dyn_client) - if err_msg: - logger.error(f"FAIL: {err_msg}") - assert False, err_msg - else: - logger.info("PASS: Argocd is reachable") - - @pytest.mark.validate_argocd_applications_health_edge_site def test_validate_argocd_applications_health_edge_site(openshift_dyn_client): logger.info("Get all applications deployed by argocd on edge site") From 759f543d65866356e7f3863138b45fe42c479f35 Mon Sep 17 00:00:00 2001 From: Mark LaBonte Date: Tue, 5 Nov 2024 23:51:14 -0500 Subject: [PATCH 6/6] Lint --- tests/interop/test_validate_edge_site_components.py | 1 - tests/interop/test_validate_hub_site_components.py | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/interop/test_validate_edge_site_components.py b/tests/interop/test_validate_edge_site_components.py index e3ada6a9f..3f4c91eff 100644 --- a/tests/interop/test_validate_edge_site_components.py +++ b/tests/interop/test_validate_edge_site_components.py @@ -2,7 +2,6 @@ import os import pytest -from ocp_resources.route import Route from validatedpatterns_tests.interop import application, components from . import __loggername__ diff --git a/tests/interop/test_validate_hub_site_components.py b/tests/interop/test_validate_hub_site_components.py index a100075c0..b5bec9174 100644 --- a/tests/interop/test_validate_hub_site_components.py +++ b/tests/interop/test_validate_hub_site_components.py @@ -2,7 +2,6 @@ import os import pytest -import yaml from ocp_resources.storage_class import StorageClass from validatedpatterns_tests.interop import application, components @@ -67,7 +66,7 @@ def test_validate_acm_self_registration_managed_clusters(openshift_dyn_client): logger.error(f"FAIL: {err_msg}") assert False, err_msg else: - logger.info(f"PASS: Edge site is self registered") + logger.info("PASS: Edge site is self registered") @pytest.mark.validate_argocd_reachable_hub_site