Skip to content

snapshots: expose QEMU full-VM snapshots - #7832

Open
naveenrajm7 wants to merge 1 commit into
utmapp:mainfrom
naveenrajm7:feature/full-vm-snapshots
Open

snapshots: expose QEMU full-VM snapshots#7832
naveenrajm7 wants to merge 1 commit into
utmapp:mainfrom
naveenrajm7:feature/full-vm-snapshots

Conversation

@naveenrajm7

@naveenrajm7 naveenrajm7 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Expose named full-VM snapshot create, list, restore, and delete operations through AppleScript and utmctl for QEMU VMs.
  • Use QEMU image metadata as the source of truth while reserving and hiding the internal suspend snapshot.
  • Report snapshots as unsupported for Apple Virtualization VMs until that backend can preserve equivalent VM state reliably.

Related to #5484.

Testing

Tested by a human on Mac mini (Apple M2, 16 GB), macOS 26.6.2 (25G83).

  • Completed a full macOS archive and DMG build.
  • Exercised the guest-visible lifecycle on a Debian 12 Vagrant QEMU VM over SSH: created and hashed a baseline file, created a snapshot, deleted the baseline and created a post-snapshot file, stopped and restored the VM, then verified the baseline returned with the same hash and the post-snapshot file was absent.
  • Verified snapshot operations through both utmctl and AppleScript, including deletion and an empty final snapshot list.
  • Verified that Apple Virtualization VMs report snapshots as unsupported.

The author acknowledges that this change has been tested and/or reviewed by a human in accordance with the UTM AI contribution guidelines.

Expose named create, list, restore, and delete operations through AppleScript and utmctl so automation can manage QEMU full-VM snapshots. QEMU image metadata remains the source of truth, the internal suspend snapshot stays hidden and reserved, and Apple virtualization reports the feature as unsupported until it can preserve equivalent VM state reliably.

Assisted-by: Codex:gpt-5
@naveenrajm7
naveenrajm7 marked this pull request as ready for review August 20, 2026 21:32
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.

1 participant