Skip to content

feat(scripts): add automated QEMU ISO install verification#17594

Draft
kgodara912 wants to merge 1 commit into
4.0from
kgodara/4.0/x86_iso_auto_test
Draft

feat(scripts): add automated QEMU ISO install verification#17594
kgodara912 wants to merge 1 commit into
4.0from
kgodara/4.0/x86_iso_auto_test

Conversation

@kgodara912
Copy link
Copy Markdown

Add scripts/auto_iso_install_qemu.py to drive an unattended Azure Linux ISO install in QEMU over the serial console and verify the installed system boots and logs in. Lets contributors iterate on the installer (Anaconda, kickstart, GRUB, LUKS) without clicking through the TUI, and gives CI a reusable smoke-test entry point.

Supports both standard and LUKS-encrypted installs, parses the Anaconda hub at runtime to locate the Root password spoke, handles first-boot and post-relabel LUKS unlocks, verifies login via an echoed marker, captures systemd-analyze output, then powers off.

Usage:
python3 scripts/auto_iso_install_qemu.py -i -d <disk.qcow2>

Add scripts/auto_iso_install_qemu.py to drive an unattended Azure
Linux ISO install in QEMU over the serial console and verify the
installed system boots and logs in. Lets contributors iterate on the
installer (Anaconda, kickstart, GRUB, LUKS) without clicking through
the TUI, and gives CI a reusable smoke-test entry point.

Supports both standard and LUKS-encrypted installs, parses the
Anaconda hub at runtime to locate the Root password spoke, handles
first-boot and post-relabel LUKS unlocks, verifies login via an
echoed marker, captures `systemd-analyze` output, then powers off.

Usage:
  python3 scripts/auto_iso_install_qemu.py -i <iso> -d <disk.qcow2>
@reubeno
Copy link
Copy Markdown
Member

reubeno commented Jun 1, 2026

Hi @kgodara912 -- what would be your plan for running this as part of the Validation Service? It's okay if it's not integrated from the get-go, but would want to understand the plan.

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