table of contents
| CONDOR_DAG_CHECKER(1) | HTCondor Manual | CONDOR_DAG_CHECKER(1) |
NAME¶
condor_dag_checker - HTCondor Manual
Process provided DAG file(s) for syntactical and logical issues.
SYNOPSIS¶
condor_dag_checker [-help]
condor_dag_checker [OPTIONS] DAG_File [DAG_File ...]
condor_dag_checker [-AllowIllegalChars] [-UseDagDir] [-[No]JoinNodes] [-json | -Statistics] [-CheckExternalFiles] [-CheckJDL] [-CheckScripts] [-CheckSubDags] [-Strict]
DESCRIPTION¶
Process provided DAG file(s) for any issues that would prevent the creation and execution of a DAG. Issues include, but are not limited to, incorrect DAG command syntax, referencing undefined nodes, and cyclic dependencies.
OPTIONS¶
- -AllowIllegalChars
- Allow use of illegal characters in node names.
- -CheckExternalFiles
- Process external submit and Sub-DAG files if they exist.
- -CheckJDL
- Best effort process node submit descriptions similar to condor_submit <href="../man-pages/condor_submit.html"> -dry-run
- -CheckScripts
- Check that node scripts exist.
- -CheckSubDags
- Best effort process Sub-DAG files.
- -[No]JoinNodes
- Enable/Disable use of join nodes in produced DAG. Enabled by default.
- -json
- Print results into JSON format.
- -Statistics
- Print statistics about the parsed DAG.
- -Strict
- Require external files checked to exists during processing or be considered an error.
- -UseDagDir
- Switch into the DAG file's directory prior to parsing.
GENERAL REMARKS¶
This tool by default does not check any external files that are used by the DAG (i.e. scripts, submit files, Sub-DAGs) because these can be dynamically generated during DAGMan's lifetime. Using -CheckExternalFiles will enable this tool to also process Sub-DAGs and submit files (akin to condor_submit <href="../man-pages/condor_submit.html"> -dry-run). This is best effort and only process the external files if they exist. Use -Strict to report an error if these external files do not exist.
This tool will process files specified by the INCLUDE <href="../automated-workflows/dagman-reference.html#INCLUDE"> and SPLICE <href="../automated-workflows/dagman-reference.html#SPLICE"> commands.
EXIT STATUS¶
0 - Success (No issues detected in DAG files(s))
1 - Failure (Issue detected with DAG file(s))
2 - Tool execution failure
EXAMPLES¶
Example checking DAG file diamond.dag for issues:
$ condor_dag_checker diamond.dag
Example getting statistics about DAG file diamond.dag:
$ condor_dag_checker -statistics diamond.dag
Example getting JSON formatted information about DAG file diamond.dag:
$ condor_dag_checker -json diamond.dag
Example checking multiple DAG files for issues:
$ condor_dag_checker first.dag second.dag third.dag
Example use DAG file directories during processing:
$ condor_dag_checker -usedagdir subdir1/simple.dag subdir2/simple.dag
Example comparing DAG file with and without join nodes:
$ condor_dag_checker -stat -JoinNodes sample.dag $ condor_dag_checker -stat -NoJoinNodes sample.dag
Example processing Sub-DAGs best effort:
$ condor_dag_checker -CheckSubDags russian-nested.dag
Example processing node submit descriptions best effort:
$ condor_dag_checker -CheckJDL sample.dag
Example verifying all node scripts exist:
$ condor_dag_checker -CheckScripts sample.dag
Example checking all external files for existence and validity:
$ condor_dag_checker -CheckExternalFiles -strict sample.dag
SEE ALSO¶
- •
- None
AVAILABILITY¶
Linux, MacOS, Windows
Introduced in v24.10.1 of HTCondor
Author¶
HTCondor Team
Copyright¶
1990-2026, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.
| June 17, 2026 |