Skip to content

Run Flatcar QEMU provisioning test in CI #5

Description

@navaneeth-dev

Goal

Add an end-to-end provisioning test that proves generated Butane output works on a real Flatcar VM.

Test path

  1. Build bt.
  2. Transpile a representative cloud-config fixture to a Butane config.
  3. Translate it to Ignition with Butane strict validation.
  4. Boot a pinned Flatcar image under QEMU.
  5. Connect over SSH and verify the provisioned users, groups, home directory, shell, authorized keys, and locked-password behavior.
  6. Fail on provisioning or boot errors and retain useful VM logs as workflow artifacts.

CI requirements

  • Pin the Flatcar release used by the test.
  • Verify downloaded release artifacts before booting them.
  • Bound image download, boot, and SSH waits with explicit timeouts.
  • Use KVM when available and document the fallback or skip behavior when it is not.
  • Cache the Flatcar image where practical without weakening verification.
  • Start as a scheduled or manually dispatched workflow if its download size and runtime make it unsuitable as a required pull-request check; promote it to a PR check only after measuring reliability and cost.

Completion criteria

The workflow provisions a Flatcar VM from bt output, checks the resulting OS state rather than only syntax, and provides enough logs to diagnose failures.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions