Environment Variables¶
There are several environment variables that affect the way Toil runs.
TOIL_CHECK_ENV |
A flag that determines whether Toil will try to
refer back to a Python virtual environment in
which it is installed when composing commands that
may be run on other hosts. If set to |
TOIL_WORKDIR |
An absolute path to a directory where Toil will
write its temporary files. This directory must
exist on each worker node and may be set to a
different value on each worker. The |
TOIL_WORKDIR_OVERRIDE |
An absolute path to a directory where Toil will
write its temporary files. This overrides
|
TOIL_COORDINATION_DIR |
An absolute path to a directory where Toil will
write its lock files. This directory must exist on
each worker node and may be set to a different
value on each worker. The |
TOIL_COORDINATION_DIR_OVERRIDE |
An absolute path to a directory where Toil will
write its lock files. This overrides
|
TOIL_BATCH_LOGS_DIR |
A directory to save batch system logs into, where
the leader can access them. The |
TOIL_KUBERNETES_HOST_PATH |
A path on Kubernetes hosts that will be mounted as the Toil work directory in the workers, to allow for shared caching. Will be created if it doesn’t already exist. |
TOIL_KUBERNETES_OWNER |
A name prefix for easy identification of Kubernetes jobs. If not set, Toil will use the current user name. |
TOIL_KUBERNETES_SERVICE_ACCOUNT |
A service account name to apply when creating Kubernetes pods. |
TOIL_KUBERNETES_POD_TIMEOUT |
Seconds to wait for a scheduled Kubernetes pod to start running. |
KUBE_WATCH_ENABLED |
A boolean variable that allows for users to utilize kubernetes watch stream feature instead of polling for running jobs. Default value is set to False. |
TOIL_APPLIANCE_SELF |
The fully qualified reference for the Toil
Appliance you wish to use, in the form
|
TOIL_DOCKER_REGISTRY |
The URL of the registry of the Toil Appliance
image you wish to use. Docker will use Dockerhub
by default, but the quay.io registry is also
very popular and easily specifiable by setting
this option to |
TOIL_DOCKER_NAME |
The name of the Toil Appliance image you
wish to use. Generally this is simply |
TOIL_AWS_SECRET_NAME |
For the Kubernetes batch system, the name of a
Kubernetes secret which contains a |
TOIL_AWS_ZONE |
Zone to use when using AWS. Also determines region. Overrides TOIL_AWS_REGION. |
TOIL_AWS_REGION |
Region to use when using AWS. |
TOIL_AWS_AMI |
ID of the AMI to use in node provisioning. If in doubt, don’t set this variable. |
TOIL_AWS_NODE_DEBUG |
Determines whether to preserve nodes that have
failed health checks. If set to |
TOIL_AWS_BATCH_QUEUE |
Name or ARN of an AWS Batch Queue to use with the AWS Batch batch system. |
TOIL_AWS_BATCH_JOB_ROLE_ARN |
ARN of an IAM role to run AWS Batch jobs as with the AWS Batch batch system. If the jobs are not run with an IAM role or on machines that have access to S3 and SimpleDB, the AWS job store will not be usable. |
TOIL_GOOGLE_PROJECTID |
The Google project ID to use when generating Google job store names for tests or CWL workflows. |
TOIL_SLURM_ARGS |
Arguments for sbatch for the slurm batch system.
Do not pass CPU or memory specifications here.
Instead, define resource requirements for the job.
There is no default value for this variable.
If neither |
TOIL_SLURM_PE |
Name of the slurm partition to use for parallel jobs. There is no default value for this variable. |
TOIL_GRIDENGINE_ARGS |
Arguments for qsub for the gridengine batch system. Do not pass CPU or memory specifications here. Instead, define resource requirements for the job. There is no default value for this variable. |
TOIL_GRIDENGINE_PE |
Parallel environment arguments for qsub and for the gridengine batch system. There is no default value for this variable. |
TOIL_TORQUE_ARGS |
Arguments for qsub for the Torque batch system. Do not pass CPU or memory specifications here. Instead, define extra parameters for the job such as queue. Example: -q medium Use TOIL_TORQUE_REQS to pass extra values for the -l resource requirements parameter. There is no default value for this variable. |
TOIL_TORQUE_REQS |
Arguments for the resource requirements for Torque batch system. Do not pass CPU or memory specifications here. Instead, define extra resource requirements as a string that goes after the -l argument to qsub. Example: walltime=2:00:00,file=50gb There is no default value for this variable. |
TOIL_LSF_ARGS |
Additional arguments for the LSF’s bsub command. Instead, define extra parameters for the job such as queue. Example: -q medium. There is no default value for this variable. |
TOIL_HTCONDOR_PARAMS |
Additional parameters to include in the HTCondor
submit file passed to condor_submit. Do not pass
CPU or memory specifications here. Instead define
extra parameters which may be required by HTCondor.
This variable is parsed as a semicolon-separated
string of |
TOIL_CUSTOM_DOCKER_INIT_COMMAND |
Any custom bash command to run in the Toil docker
container prior to running the Toil services.
Can be used for any custom initialization in the
worker and/or primary nodes such as private docker
docker authentication. Example for AWS ECR:
|
TOIL_CUSTOM_INIT_COMMAND |
Any custom bash command to run prior to starting the Toil appliance. Can be used for any custom initialization in the worker and/or primary nodes such as private docker authentication for the Toil appliance itself (i.e. from TOIL_APPLIANCE_SELF). |
TOIL_S3_HOST |
the IP address or hostname to use for connecting
to S3. Example: |
TOIL_S3_PORT |
a port number to use for connecting to S3.
Example: |
TOIL_S3_USE_SSL |
enable or disable the usage of SSL for connecting
to S3 ( |
TOIL_WES_BROKER_URL |
An optional broker URL to use to communicate
between the WES server and Celery task queue. If
unset, |
TOIL_WES_JOB_STORE_TYPE |
Type of job store to use by default for workflows
run via the WES server. Can be |
TOIL_OWNER_TAG |
This will tag cloud resources with a tag reading: “Owner: $TOIL_OWNER_TAG”. This is used internally at UCSC to stop a bot we have that terminates untagged resources. |
TOIL_AWS_PROFILE |
The name of an AWS profile to run TOIL with. |
TOIL_AWS_TAGS |
This will tag cloud resources with any arbitrary tags given in a JSON format. These are overwritten in favor of CLI options when using launch cluster. For information on valid AWS tags, see AWS Tags. |
SINGULARITY_DOCKER_HUB_MIRROR |
An http or https URL for the Singularity wrapper in the Toil Docker container to use as a mirror for Docker Hub. |
OMP_NUM_THREADS |
The number of cores set for OpenMP applications in the workers. If not set, Toil will use the number of job threads. |
GUNICORN_CMD_ARGS |
Specify additional Gunicorn configurations for the Toil WES server. See Gunicorn settings. |