code: def set_gloo_iface(self):
      ip_addr = self.ip_addr()
      import psutil
      import socket
  
      iface_name = None
      for intf, intf_addresses in psutil.net_if_addrs().items():
          for addr in intf_addresses:
              if (
                  addr.family == socket.AF_INET
                  and addr.address == ip_addr
              ):
                  iface_name = intf
      invalidInputError(
          iface_name is not None,
          "Cannot find network interface with ip {}".format(ip_addr),
      )
  
      os.environ["HOROVOD_GLOO_IFACE"] = iface_name
      return iface_name
  
file_path: BigDL/python/orca/src/bigdl/orca/learn/horovod/horovod_ray_runner.py
imports: import ray
  import os
  from bigdl.dllib.utils.log4Error import *
label_desc: Use image node_id 2 for calling the HorovodWorker obj's underlying member method code with example usage: obj.set_gloo_iface() and returns: iface_name