From 2aeaad03f3e26e0b1a5ca225357bd345cb4ad46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Mu=C3=9Fler?= Date: Thu, 22 Oct 2020 16:12:12 +0200 Subject: [PATCH] Minor changes around running pods and catching error in infrastructure roles. --- e2e/tests/k8s_api.py | 4 +++- e2e/tests/test_e2e.py | 43 +++++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/e2e/tests/k8s_api.py b/e2e/tests/k8s_api.py index 2db1c86b3..d01b521a2 100644 --- a/e2e/tests/k8s_api.py +++ b/e2e/tests/k8s_api.py @@ -60,7 +60,9 @@ class K8s: 'default', label_selector='name=postgres-operator' ).items - if pods: + pods = list(filter(lambda x: x.status.phase=='Running', pods)) + + if len(pods): return pods[0] return None diff --git a/e2e/tests/test_e2e.py b/e2e/tests/test_e2e.py index c767da596..9670c55cd 100644 --- a/e2e/tests/test_e2e.py +++ b/e2e/tests/test_e2e.py @@ -284,28 +284,31 @@ class EndToEndTestCase(unittest.TestCase): # operator configuration via API def verify_role(): - operator_pod = k8s.get_operator_pod() - get_config_cmd = "wget --quiet -O - localhost:8080/config" - result = k8s.exec_with_kubectl(operator_pod.metadata.name, get_config_cmd) try: - roles_dict = (json.loads(result.stdout) - .get("controller", {}) - .get("InfrastructureRoles")) - except: - return False + operator_pod = k8s.get_operator_pod() + get_config_cmd = "wget --quiet -O - localhost:8080/config" + result = k8s.exec_with_kubectl(operator_pod.metadata.name, get_config_cmd) + try: + roles_dict = (json.loads(result.stdout) + .get("controller", {}) + .get("InfrastructureRoles")) + except: + return False - if "robot_zmon_acid_monitoring_new" in roles_dict: - role = roles_dict["robot_zmon_acid_monitoring_new"] - role.pop("Password", None) - self.assertDictEqual(role, { - "Name": "robot_zmon_acid_monitoring_new", - "Flags": None, - "MemberOf": ["robot_zmon"], - "Parameters": None, - "AdminRole": "", - "Origin": 2, - }) - return True + if "robot_zmon_acid_monitoring_new" in roles_dict: + role = roles_dict["robot_zmon_acid_monitoring_new"] + role.pop("Password", None) + self.assertDictEqual(role, { + "Name": "robot_zmon_acid_monitoring_new", + "Flags": None, + "MemberOf": ["robot_zmon"], + "Parameters": None, + "AdminRole": "", + "Origin": 2, + }) + return True + except: + pass return False