Repository navigation
cut: require cocoon v0.6.9, drop the snapshot-list banner guard; fix findVM's positional argument - #244
Merged
Conversation
… the snapshot list cocoon v0.6.9 prints [] for an empty snapshot list --format json, so the prose-banner guard in SnapshotList is dead once the floor moves. RequiredCocoon and docs/deploy.md move to v0.6.9; a non-JSON reply is now a parse error the reconcile logs.
cocoon vm list has been cobra.NoArgs since v0.6.6 (#237), so the name findVM passed as a positional argument made every call fail with 'unknown command'. vsockOf after a create, tapOf on the egress lane, the resident-memory stat and confirmGone all degraded on it; confirmGone recorded a removed VM as survived and the release answered 500. findVM now lists everything and keeps its own name filter; List loses the variadic so no caller can bring the argument back.
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
cocoon v0.6.9 (the first tag with cocoon #264) prints
[]forsnapshot list --format jsonon an empty store. sandboxd'sSnapshotListkept a guard for the prose banner (No snapshots found.) older builds printed. This PR:RequiredCocoonto v0.6.9 and says so indocs/deploy.md;SnapshotListparses whatever cocoon prints and reports a non-JSON reply asparse snapshot list;TestSnapshotListReadsAnEmptyStoreAndRejectsProse, which drivesSnapshotListthrough a fakecocoonon PATH. With the guard put back, the prose case fails, so the test pins the cut.With a cocoon below v0.6.9 and an empty store, the startup reconcile logs
snapshot sweep skippedand adopts journaled hibernate intents as before (reconcile.gotreats a list error that way), and a pending-snapshot resolve returns an error that the caller retries. The startup version warning names the floor. The store is empty only before the first golden, so a node past its first pool build never hits the path.A defect this found:
findVMnever worked against cocoon v0.6.6 or newerfindVMpassed the VM name tococoon vm listas a positional argument and then filtered the list itself. cocoon #237 (in v0.6.6) madevm listcobra.NoArgs, so every call since has failed withunknown command "<vm>" for "cocoon vm list". Four paths degrade on it:vsockOfafter a create whose record lacks the socket,tapOfon the egress lane, the resident-memory stat, andconfirmGone, which then records a removed VM assurvived removal. The second commit lists without the argument (Listloses its variadic filter, so no caller can bring it back), andTestListPassesNoPositionalArgsToCocoondrivesListthrough a fakecocoonthat rejects a positional argument the way cobra does.Review
RequiredCocoon's one-line doc now names both things the floor carries).Gates
GATES_PLACEHOLDER
Hardware (host A, linux/amd64)
873b07eb…) on a fresh isolated root:snapshot list --format jsonprints[], exit 0;vm list --format jsonprints[].adopted 0 claims, 0 VMs liveandgolden ready, 0snapshot sweep skippedwarnings, 0 warn/error lines;scripts/sandboxd-e2e.sh(golden, warm pool, claim tiers, SDK smoke, reap, restart) exits 0 with no VM left in the root.confirmGoneA/B, each arm: claim, remove the VM behind sandboxd's back, release.500; log hasunknown commandtwice,verify remove oftwice and onesurvived removal.204; none of those lines.