class_docstr: Map nodes to their corresponding logs.
  
  We need to be a little careful here. At an given point in time, node_id <->
  ip can be interchangeably used, but the node_id -> ip relation is not
  bijective _across time_ since IP addresses can be reused. Therefore, we
  should treat node_id as the only unique identifier.
docstr: Gracefully stop tracking a node. If a node is intentionally removed from
  the cluster, we should stop tracking it so we don't mistakenly mark it
  as failed.
  
  Args:
      node_id: The node id which failed.
docstr_tok: ["Gracefully","stop","tracking","a","node",".","If","a","node","is","intentionally","removed","from","the","cluster",",","we","should","stop","tracking","it","so","we","do","n't","mistakenly","mark","it","as","failed",".","Args",":","node_id",":","The","node","id","which","failed","."]
code: def untrack(self, node_id: str):
      """Gracefully stop tracking a node. If a node is intentionally removed from
      the cluster, we should stop tracking it so we don't mistakenly mark it
      as failed.
  
      Args:
          node_id: The node id which failed.
      """
      if node_id in self.node_mapping:
          self.lru_order.remove(node_id)
          del self.node_mapping[node_id]
  
file_path: ray/python/ray/autoscaler/_private/node_tracker.py
imports: from typing import List, Set, Tuple
  from ray.autoscaler._private import constants
label_desc: Use image node_id 4 for calling the NodeTracker obj's underlying member method code with example usage: obj.untrack(node_id) without return types