code: def get_milvus_deploy_tool(namespace, milvus_sys):
      """
      get milvus instance name after connection
      :param namespace: the namespace where the release
      :type namespace: str
      :param milvus_sys: milvus_sys
      :type namespace: MilvusSys
      :example:
              >>> deploy_tool = get_milvus_deploy_tool("chaos-testing", milvus_sys)
              "helm"
      """
      ms = milvus_sys
      query_node_ip = ms.query_nodes[0]["infos"]["hardware_infos"][
          "ip"
      ].split(":")[0]
      ip_name_pairs = get_pod_ip_name_pairs(
          namespace, "app.kubernetes.io/name=milvus"
      )
      pod_name = ip_name_pairs[query_node_ip]
      init_k8s_client_config()
      api_instance = client.CoreV1Api()
      try:
          api_response = api_instance.read_namespaced_pod(
              namespace=namespace, name=pod_name
          )
      except ApiException as e:
          log.error(
              "Exception when calling CoreV1Api->list_namespaced_pod: %s\n"
              % e
          )
          raise Exception(str(e))
      if (
          "app.kubernetes.io/managed-by" in api_response.metadata.labels
          and api_response.metadata.labels[
              "app.kubernetes.io/managed-by"
          ]
          == "milvus-operator"
      ):
          deploy_tool = "milvus-operator"
      else:
          deploy_tool = "helm"
      return deploy_tool
  
imports: import json
  import os.path
  import time
  import pyetcd
  import requests
  from pymilvus import connections
  from kubernetes import client, config
  from kubernetes.client.rest import ApiException
  from common.milvus_sys import MilvusSys
  from utils.util_log import test_log
  from chaos import chaos_commons
  from common.common_type import in_cluster_env
label_desc: Use image node_id 8 for calling a global function with example usage: get_milvus_deploy_tool(namespace, milvus_sys) and returns: deploy_tool