diff options
author | 2021-05-11 09:38:25 +0000 | |
---|---|---|
committer | 2021-05-11 09:38:25 +0000 | |
commit | 0e02e3c314f6787cfbddee6f32b9776225ddec16 (patch) | |
tree | e87b3d6b187992baf1b98c1632e9afb495da6662 /src/onaptests/steps/onboard | |
parent | 227f55ed67caec8e67a037bc3e901caf54617c4c (diff) |
[TEST] Catch k8s connection exceptions
In two steps: ExposeCDSBlueprintprocessorNodePortStep and PnfSimulatorCnfRegisterStep we uses kubernetes Python library to
prepare environment or check the status of pod instantiation. If connection with k8s api gateway can't be established an
exception is raised and no test report is created.
Add try...except block to catch connection error and finish test gently
Issue-ID: TEST-336
Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl>
Change-Id: I1993bec4c886d77645e1a60e0f3d169abeb4e8bd
Diffstat (limited to 'src/onaptests/steps/onboard')
-rw-r--r-- | src/onaptests/steps/onboard/cds.py | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/src/onaptests/steps/onboard/cds.py b/src/onaptests/steps/onboard/cds.py index f137adb..3ef37f2 100644 --- a/src/onaptests/steps/onboard/cds.py +++ b/src/onaptests/steps/onboard/cds.py @@ -9,8 +9,10 @@ from kubernetes import client, config from onapsdk.cds import Blueprint, DataDictionarySet from onapsdk.cds.blueprint_processor import Blueprintprocessor from onapsdk.configuration import settings +import urllib3 from ..base import BaseStep +from onaptests.utils.exceptions import OnapTestException class CDSBaseStep(BaseStep, ABC): @@ -48,11 +50,15 @@ class ExposeCDSBlueprintprocessorNodePortStep(CDSBaseStep): super().execute() config.load_kube_config(settings.K8S_CONFIG) self.k8s_client = client.CoreV1Api() - self.k8s_client.patch_namespaced_service( - self.service_name, - settings.K8S_NAMESPACE, - {"spec": {"ports": [{"port": 8080, "nodePort": 30449}], "type": "NodePort"}} - ) + try: + self.k8s_client.patch_namespaced_service( + self.service_name, + settings.K8S_NAMESPACE, + {"spec": {"ports": [{"port": 8080, "nodePort": 30449}], "type": "NodePort"}} + ) + except urllib3.exceptions.HTTPError: + self._logger.exception("Can't connect with k8s") + raise OnapTestException def cleanup(self) -> None: """Step cleanup. @@ -60,22 +66,26 @@ class ExposeCDSBlueprintprocessorNodePortStep(CDSBaseStep): Restore CDS blueprintprocessor service. """ - self.k8s_client.patch_namespaced_service( - self.service_name, - settings.K8S_NAMESPACE, - [ - { - "op": "remove", - "path": "/spec/ports/0/nodePort" - }, - { - "op": "replace", - "path": "/spec/type", - "value": "ClusterIP" - } - ] - ) - return super().cleanup() + try: + self.k8s_client.patch_namespaced_service( + self.service_name, + settings.K8S_NAMESPACE, + [ + { + "op": "remove", + "path": "/spec/ports/0/nodePort" + }, + { + "op": "replace", + "path": "/spec/type", + "value": "ClusterIP" + } + ] + ) + return super().cleanup() + except urllib3.exceptions.HTTPError: + self._logger.exception("Can't connect with k8s") + raise OnapTestException class BootstrapBlueprintprocessor(CDSBaseStep): |