Skip to content

fix(vm): fail fast when cidata profiles lack cloud-localds#78

Merged
ErenAri merged 1 commit into
mainfrom
fix/vvfat-fail-fast
Jul 2, 2026
Merged

fix(vm): fail fast when cidata profiles lack cloud-localds#78
ErenAri merged 1 commit into
mainfrom
fix/vvfat-fail-fast

Conversation

@ErenAri

@ErenAri ErenAri commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #77. The silent vvfat config-drive fallback cost two full publish-lane runs to diagnose: RHEL-family/Amazon/Oracle/SUSE guests never boot from it on some hosts (0-byte serial), so the failure surfaced 15 minutes later per target as an opaque wait for SSH: not ready infra error.

Change

seedDeliveryForProfile now errors immediately when a profile needs a cidata seed ISO and cloud-localds is missing, with the fix in the message:

profile almalinux-8-4.18 needs a cloud-init cidata seed ISO but cloud-localds is not installed; install cloud-image-utils (Debian/Ubuntu: apt-get install cloud-image-utils), or set BPFCOMPAT_ALLOW_VVFAT_SEED=1 to try the legacy vvfat config-drive fallback (known not to boot RHEL-family/Amazon/Oracle/SUSE guests on some hosts)

  • New env var BPFCOMPAT_ALLOW_VVFAT_SEED (default off) keeps the legacy fallback reachable for hosts where it does work — cataloged in internal/envref + regenerated docs/env-reference.md.
  • When opted in, the run note warns what to do if the guest never reaches SSH.
  • Ubuntu/Debian (NoCloud net seed) and CoreOS (Ignition) paths unchanged.

Tests

  • fail-fast error carries all three actionable hints (cloud-localds, cloud-image-utils, BPFCOMPAT_ALLOW_VVFAT_SEED), verified with an empty PATH;
  • opt-in restores the vvfat mode;
  • ubuntu NoCloud-net + CoreOS Ignition unaffected;
  • full go test ./... green.

🤖 Generated with Claude Code

The silent vvfat config-drive fallback cost two full publish-lane runs
to diagnose: RHEL-family/Amazon/Oracle/SUSE guests never boot from it
on some hosts (0-byte serial), so the failure surfaced 15 minutes later
per target as an opaque "wait for SSH: not ready" infra error.

seedDeliveryForProfile now returns an error when a profile needs a
cidata seed ISO and cloud-localds is not installed, carrying the fix in
the message: install cloud-image-utils, or explicitly opt back into the
legacy fallback with BPFCOMPAT_ALLOW_VVFAT_SEED=1 (new env var,
cataloged in internal/envref + docs/env-reference.md). When the opt-in
is used, the run note warns what to do if the guest never reaches SSH.

Tests: fail-fast error carries all three actionable hints; opt-in
restores vvfat; ubuntu/debian NoCloud-net unaffected; CoreOS Ignition
path unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 2, 2026 11:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ErenAri ErenAri merged commit 7df2b96 into main Jul 2, 2026
8 of 9 checks passed
@ErenAri ErenAri deleted the fix/vvfat-fail-fast branch July 2, 2026 11:57
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.

2 participants