backend status blocked by DB migration gate — fails Firecracker CI preflight #419
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The Firecracker integration CI job fails at its
Preflight — Firecracker host is readystep. The step runs:but the command exits non-zero before ever probing the host, printing:
Root cause
Every command flows through the dispatcher in
bot_bottle/cli/__init__.py, which runs a DB schema-migration gate before dispatch: ifStoreManager.is_migrated()is false it printsdatabase schema is out of dateand interactively promptsMigrate now? [y/N].On the self-hosted KVM / act runner stdin is not a TTY, so the prompt reads EOF (
""), treats it as "no", and exits1.The deeper problem:
backend statusonly probes host prerequisites (firecracker on PATH,/dev/kvm, the TAP/nft pool). It never opens the store, so gating it on the application DB schema is wrong regardless of CI — a fresh runner has no migrated DB but is perfectly capable of reporting host readiness.Fix
Exempt the
backendcommand (setup/status/teardown — all store-free host-prerequisite management) from the migration gate in the CLI dispatcher. Store-touching commands (start,list,resume, …) remain gated as before.Impact
integration-firecrackerandcoverageCI jobs at preflight on a runner without a pre-migrated DB.