code: def test_multi_nodes_info(
      enable_test_module, disable_aiohttp_cache, ray_start_cluster_head
  ):
      cluster: Cluster = ray_start_cluster_head
      assert wait_until_server_available(cluster.webui_url) is True
      webui_url = cluster.webui_url
      webui_url = format_web_url(webui_url)
      cluster.add_node()
      cluster.add_node()
  
      def _check_nodes():
          try:
              response = requests.get(webui_url + "/nodes?view=summary")
              response.raise_for_status()
              summary = response.json()
              assert summary["result"] is True, summary["msg"]
              summary = summary["data"]["summary"]
              assert len(summary) == 3
              for node_info in summary:
                  node_id = node_info["raylet"]["nodeId"]
                  response = requests.get(
                      webui_url + f"/nodes/{node_id}"
                  )
                  response.raise_for_status()
                  detail = response.json()
                  assert detail["result"] is True, detail["msg"]
                  detail = detail["data"]["detail"]
                  assert detail["raylet"]["state"] == "ALIVE"
              response = requests.get(
                  webui_url + "/test/dump?key=agents"
              )
              response.raise_for_status()
              agents = response.json()
              assert len(agents["data"]["agents"]) == 3
              return True
          except Exception as ex:
              logger.info(ex)
              return False
  
      wait_for_condition(_check_nodes, timeout=15)
  
file_path: ray/dashboard/modules/node/tests/test_node.py
imports: import os
  import sys
  import logging
  import requests
  import time
  import traceback
  import random
  import pytest
  import ray
  import threading
  from datetime import datetime, timedelta
  from ray.cluster_utils import Cluster
  from ray.dashboard.modules.node.node_consts import UPDATE_NODES_INTERVAL_SECONDS
  from ray.dashboard.tests.conftest import *
  from ray._private.test_utils import format_web_url, wait_until_server_available, wait_for_condition
label_desc: Use image node_id 3 for calling a global function with example usage: test_multi_nodes_info(enable_test_module, disable_aiohttp_cache, ray_start_cluster_head) and returns: True, False