code: def init_and_serve_lazy():
      cluster = ray.cluster_utils.Cluster()
      cluster.add_node(num_cpus=1, num_gpus=0)
      cluster.wait_for_nodes(1)
      address = cluster.address
  
      def connect(job_config=None, **ray_init_kwargs):
          ray.init(
              address=address, job_config=job_config, **ray_init_kwargs
          )
  
      server_handle = ray_client_server.serve(
          "localhost:50051", connect
      )
      yield server_handle
      ray_client_server.shutdown_with_server(server_handle.grpc_server)
      time.sleep(2)
  
imports: import pytest
  import time
  import random
  import sys
  import subprocess
  from unittest.mock import patch
  import ray.util.client.server.server
  import ray.core.generated.ray_client_pb2
  from ray.util.client import _ClientContext, CURRENT_PROTOCOL_VERSION
  from ray.cluster_utils import cluster_not_supported
  import ray
label_desc: Use image node_id 3 for calling a global function with example usage: init_and_serve_lazy() without return types