Initial PoC: find_protection, tagged checkpoints, FLR, mutating catalog. Lab 10.9 status enums (0=Initializing, 1=MeetingSLA). Credentials stay in gitignored config.json.
42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# Zerto AI Rewind
|
|
|
|
PoC MCP that teaches an agent to discover Zerto protection, pin a tagged checkpoint before changing a VM, and recover a file from that tag. If the loop works, these tools are the delta to put in official ZVM MCP.
|
|
|
|
## Language
|
|
|
|
**Tagged checkpoint**:
|
|
A named bookmark in a VPG journal, inserted by `POST /v1/vpgs/{id}/checkpoints`. Crash-consistent write-order only; not application-quiesced unless someone scripted that separately.
|
|
_Avoid_: user checkpoint, snapshot, backup, restore point (unqualified)
|
|
|
|
**VPG**:
|
|
A Virtual Protection Group. One to many VMs sharing a journal. A VM can belong to at most three VPGs, recovered to different sites.
|
|
_Avoid_: job, policy, replication group
|
|
|
|
**Rewind**:
|
|
The agent loop: find protection, tag every protecting VPG, mutate, then bounded recover. Not a Zerto product name.
|
|
_Avoid_: failover (that's DR), undo (that's git or Moholo)
|
|
|
|
**Bounded recover**:
|
|
FLR, offsite clone, or failover test. Failover Live is not a rewind tool.
|
|
_Avoid_: recover (unqualified), fail back, restore the VPG
|
|
|
|
**File-level recovery (FLR)**:
|
|
Mount a VM from a journal checkpoint and pull files. The VM stays up. 10.9 FLR Operator RBAC is broken; Administrator is the documented workaround.
|
|
_Avoid_: file restore (unqualified), instant restore (local-journal VMs only, not v1)
|
|
|
|
**find_protection**:
|
|
Resolve a VM name, hostname, or Zerto vmIdentifier to exactly one VM and every VPG it is in. Zero or two-plus VMs is a hard stop.
|
|
_Avoid_: GetVms (that's the raw inventory call)
|
|
|
|
**Protecting VPG**:
|
|
A VPG whose status is MeetingSLA or a NotMeetingSLA variant, and whose substatus is not a sync. Only these get tagged. 10.9 status 0 is Initializing, not Protecting. A resync deletes existing checkpoints.
|
|
_Avoid_: healthy, in sync, Protecting (as status 0)
|
|
|
|
**Mutating catalog**:
|
|
The opt-in list of MCP tools that must call `zerto_guard_before_mutate` first. Unlisted tools pass through. Users add entries; the starter list is not the whole world.
|
|
_Avoid_: denylist, hold-everything
|
|
|
|
**Official ZVM MCP**:
|
|
HPE Zerto 10.9 MCP (`ZVM.MCP`): inventory, VPG settings, failover test. Not in the demo path. This PoC is one server.
|
|
_Avoid_: Zerto MCP (unqualified when you mean this repo)
|