code: def gloo_run(settings, nics, env, server_ip, command):
      # Each thread will use ssh command to launch the job on each remote host. If an
      # error occurs in one thread, entire process will be terminated. Otherwise,
      # threads will keep running and ssh session.
      exec_command = _exec_command_fn(settings)
      launch_gloo(command, exec_command, settings, nics, env, server_ip)
  
imports: import copy
  import errno
  import math
  import os
  import signal
  import sys
  import threading
  import time
  from shlex import quote
  from typing import Optional, Any
  from horovod.runner.common.util import env, safe_shell_exec
  from horovod.runner.common.util.hosts import get_host_assignments, parse_hosts
  from horovod.runner.driver import driver_service
  from horovod.runner.elastic.driver import ElasticDriver
  from horovod.runner.elastic.rendezvous import create_rendezvous_handler
  from horovod.runner.http.http_client import read_data_from_kvstore, put_data_into_kvstore
  from horovod.runner.http.http_server import KVStoreServer, RendezvousServer
  from horovod.runner.util import network, threads
  from horovod.runner.util.remote import get_remote_command
label_desc: Use image node_id 12 for calling a global function with example usage: gloo_run(settings, nics, env, server_ip, command) without return types