Skip to content

fix(install): warn loudly on non-x86_64 architectures before pulling images#797

Merged
jakeaturner merged 1 commit intodevfrom
fix/install-arch-warning
Apr 28, 2026
Merged

fix(install): warn loudly on non-x86_64 architectures before pulling images#797
jakeaturner merged 1 commit intodevfrom
fix/install-arch-warning

Conversation

@chriscrosstalk
Copy link
Copy Markdown
Collaborator

Reported in #782 by @Dinsmoor on a DGX Spark (ARM64). The install script currently has no architecture precheck, so on ARM64/aarch64 hosts it pulls ~2.7GB of amd64 Docker images that won't run, then fails partway through with a vague "Cannot connect to the Docker daemon" error. The user is left to manually clean up partial images and /opt/project-nomad/.

Approach

Adds check_is_x86_64() to the preflight sequence (modeled on the existing check_is_debian_based() pattern at line 79). On any architecture other than x86_64/amd64:

  • Prints a clear 5-line warning explaining NOMAD officially supports x86_64 only
  • Points at PR feat: add ARM64/aarch64 multi-arch Docker image support #419 for the ARM64 tracking work
  • Calls out that continuing will likely leave partial files behind
  • Sleeps 10 seconds before continuing — Ctrl+C aborts cleanly before any Docker work happens

Why warn-and-continue instead of hard exit

A hard exit would block the community/hacker path: ARM64 users with QEMU binfmt_misc emulation set up can run amd64 images (slowly), and #487 explicitly framed ARM64 as community-supported for now. The warn-and-countdown approach addresses the real user-facing complaint (silent waste of bandwidth + leftover debris) without locking out adventurous users.

Test plan

  • bash -n install/install_nomad.sh (syntax check passes)
  • Manual on x86_64: Architecture check passed (x86_64) is printed, install proceeds
  • Manual on aarch64: warning is printed, 10s pause, continues if not aborted

Notes

This does not address the broader cleanup-on-failure ask from #782 (trapping partial-install state and rolling it back). That's a larger scope and worth its own PR.

…images

Detects the host architecture early in the preflight sequence. On any
architecture other than x86_64/amd64, prints a 5-line warning that
NOMAD officially supports x86_64 only, points at PR #419, and sleeps
10 seconds before continuing. Ctrl+C aborts cleanly before any Docker
work happens.

Preserves the community/hacker path: ARM64 users running with QEMU
binfmt_misc emulation can still let the install proceed. The change
just stops the silent 2.7GB amd64 pull on architectures where it
will not work, which leaves partial images and /opt/project-nomad/
debris that confuse first-time users.

Reported in #782.
@chriscrosstalk chriscrosstalk added enhancement New feature or request Next Release This PR is staged for our next release. labels Apr 27, 2026
@jakeaturner jakeaturner merged commit b168001 into dev Apr 28, 2026
1 check passed
@jakeaturner jakeaturner deleted the fix/install-arch-warning branch April 28, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Next Release This PR is staged for our next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants