[skip e2e]Add utils to get node id and corresponding pod name (#16952)

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
pull/16940/head
zhuwenxing 2022-05-12 18:49:53 +08:00 committed by GitHub
parent ae717bf991
commit cd6f539948
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 31 additions and 0 deletions

View File

@ -2,6 +2,7 @@ import os.path
import time
from kubernetes import client, config
from kubernetes.client.rest import ApiException
from common.milvus_sys import MilvusSys
from utils.util_log import test_log as log
@ -104,6 +105,36 @@ def get_pod_ip_name_pairs(namespace, label_selector):
return m
def get_querynode_id_pod_pairs(namespace, label_selector):
"""
get milvus node id and corresponding pod name pairs 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:
>>> querynode_id_pod_pair = get_querynode_id_pod_pairs("chaos-testing", "app.kubernetes.io/instance=milvus-multi-querynode, component=querynode")
{
5: 'milvus-multi-querynode-querynode-7b8f4b5c5-4pn42',
9: 'milvus-multi-querynode-querynode-7b8f4b5c5-99tx7',
1: 'milvus-multi-querynode-querynode-7b8f4b5c5-w9sk8',
3: 'milvus-multi-querynode-querynode-7b8f4b5c5-xx84j',
6: 'milvus-multi-querynode-querynode-7b8f4b5c5-x95dp'
}
"""
# TODO: extend this function to other worker nodes, not only querynode
querynode_ip_pod_pair = get_pod_ip_name_pairs(namespace, label_selector)
querynode_id_pod_pair = {}
ms = MilvusSys()
for node in ms.query_nodes:
ip = node["infos"]['hardware_infos']["ip"].split(":")[0]
querynode_id_pod_pair[node["identifier"]] = querynode_ip_pod_pair[ip]
return querynode_id_pod_pair
def export_pod_logs(namespace, label_selector, release_name=None):
"""
export pod logs with label selector to '/tmp/milvus'