class_docstr: Provide access to cached node information in the cluster.
class_docstr_tok: ["Provide","access","to","cached","node","information","in","the","cluster","."]
docstr: Get IDs and IPs for all live nodes in the cluster.
  
  Returns a list of (node_id: str, ip_address: str). The node_id can be
  passed into the Ray SchedulingPolicy API.
docstr_tok: ["Get","IDs","and","IPs","for","all","live","nodes","in","the","cluster",".","Returns","a","list","of","(","node_id",":","str",",","ip_address",":","str",")",".","The","node_id","can","be","passed","into","the","Ray","SchedulingPolicy","API","."]
code: def get_alive_nodes(self) -> List[Tuple[str, str]]:
      """Get IDs and IPs for all live nodes in the cluster.
  
      Returns a list of (node_id: str, ip_address: str). The node_id can be
      passed into the Ray SchedulingPolicy API.
      """
      return self._cached_alive_nodes
  
file_path: ray/python/ray/serve/_private/cluster_node_info_cache.py
imports: from abc import ABC, abstractmethod
  from typing import List, Optional, Set, Tuple
  import ray
  from ray._raylet import GcsClient
  from ray.serve._private.constants import RAY_GCS_RPC_TIMEOUT_S
label_desc: Use image node_id 3 for calling the ClusterNodeInfoCache obj's underlying member method code with example usage: obj.get_alive_nodes() and returns: self