code: def test_placement_group_removal_leak_regression(ray_start_cluster):
      """Related issue:
      https://github.com/ray-project/ray/issues/19131
      """
      cluster = ray_start_cluster
      cluster.add_node(num_cpus=5)
      ray.init(address=cluster.address)
  
      TOTAL_CPUS = 8
      bundles = [{"CPU": 1, "GPU": 1}]
      bundles += [{"CPU": 1} for _ in range(TOTAL_CPUS - 1)]
  
      pg = placement_group(bundles, strategy="PACK")
      # Here, we simulate that the ready task is queued and
      # the new node is up. As soon as the new node is up,
      # the ready task is scheduled.
      # See https://github.com/ray-project/ray/pull/19138
      # for more details about the test.
      o = pg.ready()
      # Add an artificial delay until the new node is up.
      time.sleep(3)
      cluster.add_node(num_cpus=5, num_gpus=1)
      ray.get(o)
      bundle_resource_name = f"bundle_group_{pg.id.hex()}"
      expected_bundle_wildcard_val = TOTAL_CPUS * 1000
  
      # This should fail if there's a leakage
      # because the bundle resources are never returned properly.
      def check_bundle_leaks():
          bundle_resources = ray.available_resources()[
              bundle_resource_name
          ]
          return expected_bundle_wildcard_val == bundle_resources
  
      wait_for_condition(check_bundle_leaks)
  
imports: import sys
  import time
  import pytest
  import ray
  import ray._private.gcs_utils
  import ray.cluster_utils
  import ray.experimental.internal_kv
  from ray._private.ray_constants import DEBUG_AUTOSCALING_ERROR, DEBUG_AUTOSCALING_STATUS
  from ray.autoscaler._private.constants import AUTOSCALER_UPDATE_INTERVAL_S
  from ray._private.test_utils import convert_actor_state, generate_system_config_map, is_placement_group_removed, kill_actor_and_wait_for_failure, reset_autoscaler_v2_enabled_cache, run_string_as_driver, wait_for_condition
  from ray.autoscaler._private.commands import debug_status
  from ray.exceptions import RaySystemError
  from ray.util.client.ray_client_helpers import connect_to_client_or_not
  from ray.util.placement_group import placement_group, remove_placement_group
  from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
label_desc: Use image node_id 15 for calling a global function with example usage: test_placement_group_removal_leak_regression(ray_start_cluster) and returns: unknown