code: def _fetch_cluster_version_info(
      cls, client_config: dict
  ) -> Tuple[str, str]:
      try:
          # All security config will be used here.
          # See here https://opensearch.org/docs/latest/clients/index/#legacy-clients
          client = OpenSearch(**client_config)
          data = client.info()
  
          version_info = data["version"]
          version: str = version_info["number"]
          distribution: str = version_info.get(
              "distribution", "elasticsearch"
          )
  
          return version, distribution
      except Exception as error:
          raise GenericSearchError(error)
  
file_path: argilla/src/argilla/server/daos/backend/client_adapters/factory.py
imports: import logging
  from typing import Tuple
  from opensearchpy import OpenSearch
  from packaging.version import parse
  from argilla.server.daos.backend.base import GenericSearchError
  from argilla.server.daos.backend.client_adapters import ElasticsearchClient, IClientAdapter, OpenSearchClient
  from argilla.server.settings import settings
label_desc: Use image node_id 2 for calling the ClientAdapterFactory obj's underlying member method code with example usage: obj._fetch_cluster_version_info(cls, client_config) and returns: version,  distribution