code: def get_private_ip():
      # type: () -> str
      """
      Get the private IP of this machine
  
      :return: A string representing the IP of this machine
      """
      approaches = (
          _get_private_ip_from_socket,
          _get_private_ip_from_subprocess,
      )
  
      for approach in approaches:
          # noinspection PyBroadException
          try:
              return approach()
          except Exception:
              continue
  
      raise Exception("error getting private IP")
  
file_path: clearml/clearml/utilities/networking.py
imports: import requests
  import socket
  import subprocess
  from typing import Optional
label_desc: Use image node_id 1 for calling a global function with example usage: get_private_ip() and returns: approach