code: def test_node_label_scheduling_basic(call_ray_start):
      ray.init(address=call_ray_start)
      actor = MyActor.options(
          scheduling_strategy=NodeLabelSchedulingStrategy(
              {"gpu_type": In("A100", "T100"), "region": Exists()}
          )
      ).remote()
      assert ray.get(actor.value.remote(), timeout=3) == 0
  
      actor = MyActor.options(
          scheduling_strategy=NodeLabelSchedulingStrategy(
              {"gpu_type": NotIn("A100")}
          )
      ).remote()
      with pytest.raises(TimeoutError):
          assert ray.get(actor.value.remote(), timeout=3) == 0
  
      actor = MyActor.options(
          scheduling_strategy=NodeLabelSchedulingStrategy(
              hard={"gpu_type": DoesNotExist()},
              soft={"gpu_type": In("A100")},
          )
      ).remote()
      with pytest.raises(TimeoutError):
          assert ray.get(actor.value.remote(), timeout=3) == 0
  
      actor = MyActor.options(
          scheduling_strategy=NodeLabelSchedulingStrategy(
              hard={"gpu_type": In("T100")},
          )
      ).remote()
      with pytest.raises(TimeoutError):
          assert ray.get(actor.value.remote(), timeout=3) == 0
  
      actor = MyActor.options(
          scheduling_strategy=NodeLabelSchedulingStrategy(
              hard={},
              soft={"gpu_type": In("T100ssss")},
          )
      ).remote()
      assert ray.get(actor.value.remote(), timeout=3) == 0
  
file_path: ray/python/ray/tests/test_node_label_scheduling_strategy.py
imports: import os
  import sys
  import pytest
  import ray
  from ray.util.scheduling_strategies import In, NotIn, Exists, DoesNotExist, NodeLabelSchedulingStrategy
label_desc: Use image node_id 2 for calling a global function with example usage: test_node_label_scheduling_basic(call_ray_start) without return types