Command line¶
eessi-arch-guard [--shell] [--strict] [--chain PATH] [--timeout SEC] [--restore] [-h|--help] [--version]
python3 src/eessi_arch_guard.py --help prints:
usage: eessi-arch-guard [--shell] [--chain PATH] [--timeout SEC] [--restore] [-h|--help] [--version]
Slurm TaskProlog: when the loaded EESSI CPU or accelerator target is not this
node's, print export/unset lines for the reloaded module environment.
--shell prints bash for: eval "$(eessi-arch-guard --shell)"
--chain PATH runs an existing task prolog first. Slurm does not pass arguments,
so a site sets this in a wrapper or in a root-owned eessi-arch-guard.conf.
--timeout SEC bounds the decision. The default is 60 seconds.
--restore reads a JSON restore request on stdin and writes the JSON result.
-h, --help print this text. --version prints the version.
python3 src/eessi_arch_guard.py --version prints 0.1.1.
Flag |
Effect |
|---|---|
|
Bash assignments on stdout, message on stderr. See Run the guard from a batch script. |
|
Run this absolute executable first. A user job cannot pass it; Slurm supplies no arguments. See Configure the guard. |
|
Same as |
|
Deadline in seconds. Overrides the config |
|
Same as |
|
Helper mode. Read one JSON request on stdin and write one JSON object on stdout. The prolog execs this itself. |
|
Print the usage text and exit 0. |
|
Print the version and exit 0. |
Flags other than these are skipped. The process exits 0 unless a chained prolog exits non-zero, or --restore hits an exception (that path exits 1 and writes the reason to stderr). The TaskProlog path catches exceptions and exits 0.
--restore is the helper described in Concepts. The JSON request has keys v (1), env, eessi, modules, and lmod. Names and values are the Latin-1 wire form from eessi_arch_guard.to_wire().
Strict user job and step status¶
--strict returns 78 when the decision fails or an unexpected exception interrupts it.
The same flag works with --shell and with task-prolog output.
A successful reload, a same-target no-op or an intentional skip returns zero.
A chained prolog failure retains its own nonzero status.
Without --strict, the default site TaskProlog keeps its fail-open decision policy.