Skip to content

test/images with tailor [10]: add shared VM assets and GRUB scenarios - #904

Draft
bfjelds (bfjelds) wants to merge 1 commit into
user/bfjelds/tailor-config-verityfrom
user/bfjelds/tailor-config-vm-grub
Draft

bfjelds (bfjelds) wants to merge 1 commit into
user/bfjelds/tailor-config-verityfrom
user/bfjelds/tailor-config-vm-grub

Conversation

@bfjelds

@bfjelds bfjelds (bfjelds) commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Introduce shared VM image assets and the GRUB base/update scenarios.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6501a6e2-9ece-44f9-a91a-4d8e0c0e6d07
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@bfjelds bfjelds (bfjelds) changed the title tests: add shared VM assets and GRUB scenarios test/images with tailor [10]: add shared VM assets and GRUB scenarios Oct 26, 2026
@bfjelds
bfjelds (bfjelds) requested a balanced review from Copilot October 26, 2026 19:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Image creation, VM adoption, and A/B boot behavior need human confirmation of runtime validation, despite no blocking defects identified in static review.

No open issues 🎉

What changed in this PR

Adds the VM test-image family to the parallel Tailor workspace as part 10 of the migration stack. This step exposes only the GRUB base and update scenarios; later PRs add verity and ACL-agent scenarios.

Changes:

  • Defines dual-slot A/B QCOW2 base images and single-slot COSI update images, with an ARM64 update variant.
  • Adds shared VM scripts and services for initialization, SSH, networking, and writable overlays.
  • Registers the image family and documents build commands.
File Description
tests/​tailor-images/​trident-vm-testimage/​README.md Documents VM image purpose and builds.
tests/​tailor-images/​trident-vm-testimage/​include/​storage-grub.yaml Defines dual-slot base storage.
tests/​tailor-images/​trident-vm-testimage/​include/​storage-grub-update.yaml Defines single-slot update storage.
tests/​tailor-images/​trident-vm-testimage/​include/​grub-scripts.yaml Lists update customization scripts.
tests/​tailor-images/​trident-vm-testimage/​include/​grub-base-scripts.yaml Lists base initialization scripts.
tests/​tailor-images/​trident-vm-testimage/​image.yaml Defines scenarios, architectures, and dependencies.
tests/​tailor-images/​trident-vm-testimage/​by-scenario/​grub.yaml Configures GRUB COSI updates.
tests/​tailor-images/​trident-vm-testimage/​by-scenario/​grub-base.yaml Configures GRUB QCOW2 base images.
tests/​tailor-images/​trident-vm-testimage/​by-arch/​arm64.yaml Selects the ARM64 base and COSI output.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​update-os-release.sh Sets a date-based OS version.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​update-host-status.sh Runs offline Trident initialization.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​ssh-move-host-keys.sh Points SSH at persistent host keys.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​prepare-update-config.sh Creates the regular update configuration.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​prepare-update-config-verity.sh Adds shared verity update preparation.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​prepare-update-config-usrverity.sh Adds shared usr-verity update preparation.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​post-install.sh Creates the audit-log directory.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​lsblk.sh Reports block-device details as JSON.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​duid-type-to-link-layer.sh Selects link-layer DHCP identifiers.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​create-ssh-dirs.sh Creates persistent SSH storage.
tests/​tailor-images/​trident-vm-testimage/​base/​scripts/​create-rw-overlay-dirs.sh Creates writable-overlay directories.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​sshd-keygen.service Generates SSH host keys under /srv.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​etc-mount.sh Mounts the writable /etc overlay.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​etc-mount.service Orders overlay mounting during boot.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​etc-mount-mic.service Mounts the overlay and commits machine identity.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​99-dhcp-eth0.network Enables DHCP on eth0.
tests/​tailor-images/​trident-vm-testimage/​base/​files/​.gitignore Excludes generated configuration and SSH inputs.
tests/​tailor-images/​trident-vm-testimage/​base/​.gitignore Excludes generated Image Customizer configuration.
tests/​tailor-images/​tailor.yaml Registers the VM image family.
tests/​tailor-images/​README.md Lists the new image family.

Review effort: Balanced

This branch has not been deployed

No deployments
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