From ad9422ee7e73cfb4343feb2e2b8ce4eead138c0c Mon Sep 17 00:00:00 2001 From: zhuwenxing Date: Wed, 8 Dec 2021 17:55:14 +0800 Subject: [PATCH] [skip ci]Add function to get pod list (#12990) Signed-off-by: zhuwenxing --- tests/python_client/utils/util_k8s.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/tests/python_client/utils/util_k8s.py b/tests/python_client/utils/util_k8s.py index 57c646bac6..a871df3a02 100644 --- a/tests/python_client/utils/util_k8s.py +++ b/tests/python_client/utils/util_k8s.py @@ -55,5 +55,29 @@ def wait_pods_ready(namespace, label_selector, expected_num=None, timeout=360): return all_pos_ready_flag +def get_pod_list(namespace, label_selector): + """ + get pod list with label selector + + :param namespace: the namespace where the release + :type namespace: str + + :param label_selector: labels to restrict which pods to list + :type label_selector: str + + :example: + >>> get_pod_list("chaos-testing", "app.kubernetes.io/instance=test-proxy-pod-failure, component=proxy") + """ + config.load_kube_config() + api_instance = client.CoreV1Api() + try: + api_response = api_instance.list_namespaced_pod(namespace=namespace, label_selector=label_selector) + return api_response.items + except ApiException as e: + log.error("Exception when calling CoreV1Api->list_namespaced_pod: %s\n" % e) + raise Exception(str(e)) + + if __name__ == '__main__': - wait_pods_ready("chaos-testing", "app.kubernetes.io/instance=scale-query") + label = "app.kubernetes.io/instance=test-proxy-pod-failure, component=proxy" + res = get_pod_list("chaos-testing", label_selector=label)