Support safe expansion of bound volume claims #128

Open
opened 2026-09-15 06:55:35 +00:00 by a73x · 0 comments
Owner

A bound claim has a fixed size. The agent deliberately never resizes an existing raw volume file, so users cannot grow a volume as its data grows.

Acceptance criteria

  • Define an increase-only API and whether the first version requires a stopped VM; reject shrinking explicitly.
  • Apply tenant authorization, host capacity admission and committed-capacity accounting atomically under concurrent requests.
  • Reconcile file growth idempotently without overwriting data, including agent/server restarts and failed operations.
  • Define and document how the guest discovers the larger device and expands its partition/filesystem; report requested versus completed state accurately.
  • Cover each supported backend or explicitly reject unsupported cases.
  • Verify retained data, out-of-capacity refusal, shrink refusal and retry/restart behavior.

References: internal/server/api/volumes.go; internal/server/store/volumes.go; internal/agent/reconcile/volumes.go.

A bound claim has a fixed size. The agent deliberately never resizes an existing raw volume file, so users cannot grow a volume as its data grows. ## Acceptance criteria - Define an increase-only API and whether the first version requires a stopped VM; reject shrinking explicitly. - Apply tenant authorization, host capacity admission and committed-capacity accounting atomically under concurrent requests. - Reconcile file growth idempotently without overwriting data, including agent/server restarts and failed operations. - Define and document how the guest discovers the larger device and expands its partition/filesystem; report requested versus completed state accurately. - Cover each supported backend or explicitly reject unsupported cases. - Verify retained data, out-of-capacity refusal, shrink refusal and retry/restart behavior. References: internal/server/api/volumes.go; internal/server/store/volumes.go; internal/agent/reconcile/volumes.go.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
a73x/eitri#128
No description provided.