Skip to content

Use CIDATA seed for EL/Amazon/SUSE guests (fixes EL8 boot/SSH)#34

Merged
ErenAri merged 2 commits into
mainfrom
fix/el-family-cidata-seed
Jun 21, 2026
Merged

Use CIDATA seed for EL/Amazon/SUSE guests (fixes EL8 boot/SSH)#34
ErenAri merged 2 commits into
mainfrom
fix/el-family-cidata-seed

Conversation

@ErenAri

@ErenAri ErenAri commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Found while validating the new AlmaLinux 8 / Rocky 8 (4.18) profiles on a KVM host.

Root cause (from the serial log)

The EL8 guest boots cleanly to the real backported 4.18.0-553…el8_10 kernel and reaches the login prompt — but cloud-init logs Datasource DataSourceNone … Used fallback datasource and no authorized SSH keys … for user almalinux. It ignores the NoCloud-over-SMBIOS network seed bpfcompat uses, so the injected key is never authorised → SSH fails → infra_error. Not an eBPF issue — a seed-delivery/transport gap.

Fix

seedDeliveryForProfile only special-cased the literal rhel-8-4.18 ID. Generalised to select the CIDATA disk/ConfigDrive seed by distro familyrhel, almalinux, rocky, centos*, oracle, amazon-linux, sles, opensuse — which their cloud-init does read. Ubuntu/Debian keep the (working) SMBIOS-net seed. Likely also resolves the amazon-linux-2-4.14 "transport unsupported" finding.

Tests

TestSeedDeliveryForProfile extended (EL/Amazon/SUSE → CIDATA; Ubuntu/Debian → net); go test ./internal/vm/, vet, gofmt clean. Re-validating on the box to confirm a real load/attach verdict.

🤖 Generated with Claude Code

ErenAri and others added 2 commits June 21, 2026 13:03
Validating the new AlmaLinux 8 / Rocky 8 (4.18) profiles surfaced the real
gap: their cloud-init ignores the NoCloud-over-SMBIOS network seed and falls
back to DataSourceNone, so the injected SSH key is never authorised and the
guest is unreachable (infra_error) — the boot itself is fine (real 4.18 kernel
reached the login prompt).

seedDeliveryForProfile only special-cased the literal rhel-8-4.18 ID. Generalise
it: select the CIDATA disk/ConfigDrive seed by distro family (rhel, almalinux,
rocky, centos*, oracle, amazon-linux, sles, opensuse) — these cloud-init configs
read a CIDATA volume but not the SMBIOS-net seed. Ubuntu/Debian keep the
network seed. This also covers the amazon-linux-2 "transport unsupported" case.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
EL/Amazon/SUSE guests need the cloud-localds-built ConfigDrive ISO seed; without
cloud-image-utils the runner falls back to a vvfat seed that fails to boot
(0-byte serial). Add it to the host toolchain so enterprise-kernel validation
works out of the box. Verified live: AlmaLinux 8 + Rocky 8 (4.18) now PASS
load_attach with kernel_btf:yes once the package is present.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ErenAri
ErenAri merged commit 5cb4b5c into main Jun 21, 2026
7 of 8 checks passed
@ErenAri
ErenAri deleted the fix/el-family-cidata-seed branch June 21, 2026 10:22
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