Applicability: m1-baseline-anvil
Superseded: a newer test record replaces this one. See m2-baseline-anvil-2026-10.
Tested configuration
- Status
- validated
- Environment
- Purdue Anvil
- Environment role
- Primary
- Environment scope
- Primary representative environment. Validated single-node run on the shared partition.
- Scheduler
- slurm 25.11.1
- Runtime
- apptainer 1.4.3-1.el8
- Workflow revision
v0.1.0- Container image digest
sha256:e871d1e08d712ed708b88a3ecd5d0f5f137ba31b41a5d8fd83d8e44710b7cd33- Execution date
- Validation date
- Submission ID
19500029- Terminal result
- COMPLETED; exit 0
- Review after
What this means for you
- Tested
- The example workflow ran start to finish and every result was correct. A second run was made to fail on purpose; it stopped at the check that the coordinator can serve (the readiness gate), before any worker started.
- You need
- Access to one compute node through Slurm. The test used one node on a shared partition.
- Apptainer on the compute nodes.
- A private folder for the job that you can write to (job-scoped scratch).
- Depends on your center
- Your account and partition names. You supply them when you submit the job.
- How Apptainer is made available, usually through a module your center provides.
- Which scratch location the job uses. Centers provide it in different ways.
- The coordinator listens only on loopback (127.0.0.1); reaching it from beyond the node needs access your center approves.
- Whether each worker can run as its own job step (a program the scheduler launches and tracks inside your allocation) on a shared node.
Result checks
- scheduler completion COMPLETED exit 0
- success marker result.json present and schema-checked
- event ordering coordinator readiness precedes worker start and verification
- deterministic output all 4 task outputs and digests match expected/results.json
Assumptions
- One Slurm node on a shared partition
- Apptainer available on compute nodes via center module policy
- Loopback coordinator communication is permitted on the compute node
Limitations
- Validates single-node execution only; multi-node networking is out of scope
- The scheduler stdout records the application success line and cleanup-trap termination; the literal Slurm COMPLETED state is corroborated by reaching the final pipeline step rather than printed explicitly
- Validates the v0.1.0 image digest only; a rebuilt image requires revalidation
Portability boundaries
- Scheduler account and partition are supplied at submission time
- Apptainer availability depends on center module policy
- Job-scoped scratch source varies by center ($SLURM_TMPDIR vs derived $SCRATCH)
- Shared-partition loopback and exclusive step behavior are site-dependent
Evidence and integrity
sha256:c92906581d8bc31e6238eff8ce90ea8073dbe3316afb67d5369f08d064ee26e3
Related evidence
Provenance
- Released workflow package (source): workflows/baseline-slurm-apptainer/README.md at v0.1.0 (
sha256:c711b40cf374131da0522ba9a3bfff9599063cd1f4e91f55a54b4f4f4879a261)
This README predates the test run; the current README is in the release.