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.