Skip to content

Retire the Singularity wrapper#1371

Open
dholt wants to merge 1 commit into
masterfrom
dholt/retire-singularity-wrapper
Open

Retire the Singularity wrapper#1371
dholt wants to merge 1 commit into
masterfrom
dholt/retire-singularity-wrapper

Conversation

@dholt

@dholt dholt commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Retire the Singularity wrapper: remove the singularity_wrapper role, its install playbook and slurm-cluster.yml wiring, the gantsign.golang Galaxy dependency (verified sole consumer), the Singularity-specific rootless prolog/epilog scripts (singularity config fakeroot management — no Enroot equivalent), and the example variables.
  • Enroot/Pyxis remains the release-validated container runtime for Slurm; docs are retitled accordingly, the MPI usage example now uses a Pyxis --container-image invocation, and a note points sites that want Singularity to its upstream continuation, Apptainer.
  • Deliberately kept: the standalone HPL benchmark scripts' multi-runtime support (reference material; README already marks Enroot as the supported runtime) and generic ecosystem mentions in airgap/rootless docs that do not reference the removed role.

Validation

  • git diff --check; YAML parse of all changed files; full role lint (0 failures); playbooks/slurm-cluster.yml syntax check passes with the Galaxy role uninstalled.
  • Removal-only change following the established retirement pattern (Retire legacy PXE provisioning paths #1351); the Enroot prolog/epilog scripts are untouched.

The Singularity wrapper has been classified as community-supported since the
26.07 release, and Enroot/Pyxis is the release-validated container runtime for
Slurm in DeepOps. The upstream Singularity project has also split and continues
as Apptainer (https://apptainer.org/), so the vendored wrapper no longer tracks
a single maintained upstream.

Remove the wrapper and its wiring:

- Delete roles/singularity_wrapper and playbooks/container/singularity.yml.
- Drop the "Install Singularity" import and slurm_cluster_install_singularity
  gating from playbooks/slurm-cluster.yml.
- Remove slurm_cluster_install_singularity and the Singularity/golang vars from
  the example configs and the virtual cluster vars.
- Remove the gantsign.golang Galaxy role, which existed only to build Singularity
  from source for this wrapper and has no other consumer.
- Delete the Singularity-specific rootless prolog/epilog scripts
  (prolog.d/95-all-rootless and epilog.d/95-lastuserjob-rootless), which invoked
  `singularity config fakeroot`; the Enroot prolog/epilog scripts are unaffected.
- Update docs to point at Enroot/Pyxis as the supported Slurm container runtime
  and note that Singularity lives on as Apptainer for sites that want it.

The Open OnDemand Linux-host adapter and the HPL benchmark example still support
a site-provided Apptainer/Singularity binary and are left in place.
@dholt
dholt force-pushed the dholt/retire-singularity-wrapper branch from f9b1c07 to 4572599 Compare July 20, 2026 21:32
@dholt
dholt marked this pull request as ready for review July 24, 2026 19:25
@dholt
dholt requested a review from michael-balint July 24, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant