code: def test_raylet_node_manager_server_failure(
      ray_start_cluster_head, log_pubsub
  ):
      cluster = ray_start_cluster_head
      redis_port = int(cluster.address.split(":")[1])
      # Reuse redis port to make node manager grpc server fail to start.
      with pytest.raises(Exception):
          cluster.add_node(wait=False, node_manager_port=redis_port)
  
      # wait for max 10 seconds.
      def matcher(log_batch):
          return log_batch["pid"] == "raylet" and any(
              "Failed to start the grpc server." in line
              for line in log_batch["lines"]
          )
  
      match = get_log_batch(log_pubsub, 1, timeout=10, matcher=matcher)
      assert len(match) > 0
  
imports: import os
  import signal
  import sys
  import threading
  import time
  import numpy
  import pytest
  import ray
  import ray._private.ray_constants
  import ray._private.utils
  from ray._private.ray_constants import DEBUG_AUTOSCALING_ERROR
  from ray._private.test_utils import Semaphore, get_error_message, get_log_batch, init_error_pubsub, run_string_as_driver_nonblocking, wait_for_condition
  from ray.cluster_utils import cluster_not_supported
  from ray.experimental.internal_kv import _internal_kv_get
label_desc: Use image node_id 10 for calling a global function with example usage: test_raylet_node_manager_server_failure(ray_start_cluster_head, log_pubsub) and returns: unknown