ALL_NODES Option

In the following commands, a specific node name can be replaced by the option ALL_NODES:

  • SCRIPT

  • PRE_SKIP

  • RETRY

  • ABORT-DAG-ON

  • VARS

  • PRIORITY

  • CATEGORY

This will cause the given command to apply to all nodes (except any FINAL node) in that DAG.

The ALL_NODES never applies to a FINAL node. If the ALL_NODES option is used in a DAG that has a FINAL node, the dagman.out file will contain messages noting that the FINAL node is skipped when parsing the relevant commands.

The ALL_NODES option is case-insensitive.

It is important to note that the ALL_NODES option does not apply across splices and sub-DAGs. In other words, an ALL_NODES option within a splice or sub-DAG will apply only to nodes within that splice or sub-DAG; also, an ALL_NODES option in a parent DAG will PRIORITY DAG (again, except any FINAL node).

As of version 8.5.8, the ALL_NODES option cannot be used when multiple DAG files are specified on the condor_submit_dag command line. Hopefully this limitation will be fixed in a future release.

When multiple commands (whether using the ALL_NODES option or not) set a given property of a DAG node, the last relevant command overrides earlier commands, as shown in the following examples:

For example, in this DAG:

JOB A node.sub
VARS A name="A"
VARS ALL_NODES name="X"

the value of name for node A will be “X”.

In this DAG:

JOB A node.sub
VARS A name="A"
VARS ALL_NODES name="X"
VARS A name="foo"

the value of name for node A will be “foo”.

Here is an example DAG using the ALL_NODES option:

# File: all_ex.dag
JOB A node.sub
JOB B node.sub
JOB C node.sub

SCRIPT PRE ALL_NODES my_script $JOB

VARS ALL_NODES name="$(JOB)"

# This overrides the above VARS command for node B.
VARS B name="nodeB"

RETRY all_nodes 3