Skip to content

feat(qemu): add phase 2 start plan and remote disk secrets - #34

Open
msdmazvoid wants to merge 4 commits into
feat/kouja-storage-backend-phase1from
feat/kouja-storage-backend-phase2
Open

msdmazvoid wants to merge 4 commits into
feat/kouja-storage-backend-phase1from
feat/kouja-storage-backend-phase2

Conversation

@msdmazvoid

Copy link
Copy Markdown
Contributor

Summary

Phase 2 of the kouja storage backend, stacked on feat/kouja-storage-backend-phase1.

This adds the QEMU-side contract for remote disks: a prepared start plan, protocol-neutral disk argument construction, per-disk secret files, remote-source validation, and HMP run-state/resume support.

What changed

  • Add qemu.StartPlan and StartWithPlan, while keeping Start for local-only VMs.
  • Add buildDiskArgs for local and iSCSI attachments; NVMe/TCP and RBD return clear unsupported errors until their builders land.
  • Add per-disk CHAP/PSK secret files under the now-0700 QEMU run directory, with cleanup on start failure, Stop, VM deletion, and stale-file sweep.
  • Skip local device validation for kouja/ceph/remote-protocol disks.
  • Add HMP info status, Paused, Resume, and ErrNotPaused.
  • Add tests for iSCSI arguments, local arguments, missing attachments, secret lifecycle, stale cleanup, and remote validation.

Verification

  • go test ./... -count=1
  • go vet ./...
  • gofmt clean

Chain

Base PR: #33 (feat/kouja-storage-backend-phase1). Merge in order #32 → #33 → this PR.

Review-artifact scratch files are intentionally excluded.

Add protocol-neutral StartPlan support, iSCSI drive construction, per-disk secret files, remote-source disk validation, HMP run-state/resume, and stale-secret cleanup.
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