class_docstr: Ray actor created by JobManager for each submitted job, responsible to
  setup runtime_env, execute given shell command in subprocess, update job
  status, persist job logs and manage subprocess group cleaning.
  
  One job supervisor actor maps to one subprocess, for one job_id.
  Job supervisor actor should fate share with subprocess it created.
docstr: Get the runtime env that should be set in the job driver.
  
  Args:
      resources_specified: Whether the user specified resources (CPUs, GPUs,
          custom resources) in the submit_job request. If so, we will skip
          the workaround for GPU detection introduced in #24546, so that the
          behavior matches that of the user specifying resources for any
          other actor.
  
  Returns:
      The runtime env that should be set in the job driver.
docstr_tok: ["Get","the","runtime","env","that","should","be","set","in","the","job","driver",".","Args",":","resources_specified",":","Whether","the","user","specified","resources","(","CPUs",",","GPUs",",","custom","resources",")","in","the","submit_job","request",".","If","so",",","we","will","skip","the","workaround","for","GPU","detection","introduced","in","#","24546",",","so","that","the","behavior","matches","that","of","the","user","specifying","resources","for","any","other","actor",".","Returns",":","The","runtime","env","that","should","be","set","in","the","job","driver","."]
code: def _get_driver_runtime_env(
      self, resources_specified: bool = False
  ) -> Dict[str, Any]:
      """Get the runtime env that should be set in the job driver.
  
      Args:
          resources_specified: Whether the user specified resources (CPUs, GPUs,
              custom resources) in the submit_job request. If so, we will skip
              the workaround for GPU detection introduced in #24546, so that the
              behavior matches that of the user specifying resources for any
              other actor.
  
      Returns:
          The runtime env that should be set in the job driver.
      """
      # Get the runtime_env set for the supervisor actor.
      curr_runtime_env = dict(ray.get_runtime_context().runtime_env)
      if resources_specified:
          return curr_runtime_env
      # Allow CUDA_VISIBLE_DEVICES to be set normally for the driver's tasks
      # & actors.
      env_vars = curr_runtime_env.get("env_vars", {})
      env_vars.pop(ray_constants.NOSET_CUDA_VISIBLE_DEVICES_ENV_VAR)
      env_vars.pop(ray_constants.RAY_WORKER_NICENESS)
      curr_runtime_env["env_vars"] = env_vars
      return curr_runtime_env
  
imports: import asyncio
  import copy
  import json
  import logging
  import os
  import psutil
  import random
  import signal
  import string
  import subprocess
  import sys
  import time
  import traceback
  from asyncio.tasks import FIRST_COMPLETED
  from collections import deque
  from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
  from ray.util.scheduling_strategies import NodeAffinitySchedulingStrategy, SchedulingStrategyT
  import ray
  from ray._private.gcs_utils import GcsAioClient
  from ray._private.utils import run_background_task
  import ray._private.ray_constants
  from ray._private.runtime_env.constants import RAY_JOB_CONFIG_JSON_ENV_VAR
  from ray.actor import ActorHandle
  from ray.dashboard.consts import RAY_JOB_ALLOW_DRIVER_ON_WORKER_NODES_ENV_VAR, DEFAULT_JOB_START_TIMEOUT_SECONDS, RAY_JOB_START_TIMEOUT_SECONDS_ENV_VAR
  from ray.dashboard.modules.job.common import JOB_ID_METADATA_KEY, JOB_NAME_METADATA_KEY, JOB_ACTOR_NAME_TEMPLATE, JOB_LOGS_PATH_TEMPLATE, SUPERVISOR_ACTOR_RAY_NAMESPACE, JobInfo, JobInfoStorageClient
  from ray.dashboard.modules.job.utils import file_tail_iterator
  from ray.exceptions import ActorUnschedulableError, RuntimeEnvSetupError
  from ray.job_submission import JobStatus
  from ray._private.event.event_logger import get_event_logger
  from ray.core.generated.event_pb2 import Event
label_desc: Use image node_id 2 for calling the JobSupervisor obj's underlying member method code with example usage: obj._get_driver_runtime_env(resources_specified) and returns: curr_runtime_env, curr_runtime_env