code: def connection(self, host, port, milvus_ns):
      connections.add_connection(default={"host": host, "port": port})
      connections.connect(alias="default")
  
      if connections.has_connection("default") is False:
          raise Exception("no connections")
      instance_name = get_milvus_instance_name(
          constants.CHAOS_NAMESPACE, host
      )
      self.host = host
      self.port = port
      self.instance_name = instance_name
      self.milvus_sys = MilvusSys(alias="default")
      self.milvus_ns = milvus_ns
      self.release_name = get_milvus_instance_name(
          self.milvus_ns, milvus_sys=self.milvus_sys
      )
      self.deploy_by = get_milvus_deploy_tool(
          self.milvus_ns, self.milvus_sys
      )
  
imports: import threading
  import pytest
  import os
  import time
  import json
  from time import sleep
  from pathlib import Path
  from minio import Minio
  from pymilvus import connections
  from chaos.checker import InsertChecker, SearchChecker, QueryChecker, BulkInsertChecker, Op
  from common.cus_resource_opts import CustomResourceOperations
  from common.milvus_sys import MilvusSys
  from utils.util_log import test_log
  from utils.util_k8s import wait_pods_ready, get_milvus_deploy_tool, get_pod_ip_name_pairs, get_milvus_instance_name
  from utils.util_common import update_key_value
  from chaos import chaos_commons
  from common.common_type import CaseLabel
  from common import common_func
  from chaos import constants
  from delayed_assert import expect, assert_expectations
label_desc: Use image node_id 1 for calling the TestChaos obj's underlying member method code with example usage: obj.connection(host, port, milvus_ns) without return types