Skip to content

Protect EVE-NG QEMU State with Guest Quiescence

  • Purpose: Bind recovery evidence to a verified guest-consistency boundary.
  • Owner: Network operations
  • Impact: Runs or records the environment shutdown action, then verifies that QEMU nodes are stopped before capture.
  • Rollback strategy: Cancel capture and restart the required guests if the shutdown boundary cannot be established.

Pre-checks

Identify stateful QEMU guests and their application-level shutdown procedure. Saving a device configuration is not a substitute for shutting down a guest with writable disks.

Execute

Create or edit the reusable environment action:

ENV=<environment>
REF=<eve-ng-blueprint>
hyops blueprint quiescence edit --env "$ENV" --ref "$REF"

Inspect the configured action:

hyops blueprint quiescence status --env "$ENV" --ref "$REF"

Use it during protected release:

hyops blueprint destroy \
  --env "$ENV" \
  --ref "$REF" \
  --execute \
  --archive-before-destroy

For a manually completed shutdown, use --guest-quiesced. For a one-run action, use --quiesce-script <path> and optionally --quiesce-timeout <seconds>.

Migration capture supports the same acknowledgement or one-run script:

hyops lab migrate capture \
  --platform eve-ng \
  --host <source-host> \
  --user <ssh-user> \
  --output <lab-archive.tar.gz> \
  --include-node-state \
  --guest-quiesced

Verify

Capture must fail closed if referenced QEMU processes remain active. The completed migration or archive report records the selected consistency boundary.

Records

Keep the quiescence action identity, QEMU-stop result, node-state checksum, and protected-release run record together.

Rollback

If quiescence fails, do not force capture. Restore service on the existing host, correct the shutdown action, and retry later.

References