Repository navigation
feat(ui): add phase 5 kouja storage and disk workflow - #37
Open
msdmazvoid wants to merge 15 commits into
Open
msdmazvoid wants to merge 15 commits into
msdmazvoid wants to merge 15 commits into
Conversation
Add kouja backend fields, protocol/locator/deletion states, thin-pool-aware VM gating, Terraform kouja config and remote disk fields, and operator/API documentation.
Store CA, client certificate, and client key PEM content with kouja backends, expose connection-section UI fields, and fetch storage classes from the agent with a connection probe. Legacy file paths remain supported.
Persist read/write bytes-per-second limits per disk, expose them on disk creation and through a Limits dialog, and emit QEMU throttling.bps-read/write drive options for local and remote disks.
Wait briefly and re-prepare an export when kouja reports SESSION_ACTIVE, then return a retryable 503 so the UI retries start after the previous QEMU session closes.
Use only a fresh non-zero Observation.ActiveSessions count as the start precondition. Kouja observations are refreshed on its reconcile interval, so a stale ACTIVE export state no longer blocks a VM after QEMU has logged out.
Report the live QEMU run state on VM responses, poll it in the VMs tab, and add POST /api/vms/{id}/resume plus a Resume action for VMs paused by remote disk I/O errors.
Add a QMP socket and query-blockstats client, expose per-drive read/write/error counters in VMMetrics, and render per-block-device totals and rates in the VM Monitor dialog.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 5 of the kouja storage backend, stacked on
feat/kouja-storage-backend-phase4.This makes the inventory UI usable for a kouja end-to-end test and brings Terraform/docs in line with the new storage model.
What changed
koujadriver with endpoint, protocol, storage class, iSCSI initiator, mTLS certificate paths, server name, and portal.delete_failed.Verification
go test ./... -count=1make ui-buildgofmtcleanChain
Base PR: #36 (
feat/kouja-storage-backend-phase4). Merge order: #32 → #33 → #34 → #35 → #36 → this PR.Review-artifact scratch files are intentionally excluded.