@@ -109,7 +109,10 @@ by a second JSON/YAML document.
109109
110110` plan ` is read-only and returns success even when its action is ` recreate ` or
111111` blocked-removal ` ; automation must inspect the action and ` create ` , ` recreate ` ,
112- and ` missing ` fields. ` up ` creates missing nodes, starts stopped ones,
112+ ` start ` , ` missing ` , and ` blocked ` fields. Plans only read local configuration
113+ and catalog data, so QEMU and host networking need not be installed. They show
114+ exact images, total resources, change reasons, and disk effects. ` up ` checks
115+ host capabilities and address availability before applying changes. ` up ` creates missing nodes, starts stopped ones,
113116re-checks readiness of running ones, and rewrites the SSH client configuration
114117Farrow installed from the complete applied deployment. ` recreate ` performs the
115118same full refresh; node destroy removes stale entries, and whole destroy
@@ -124,21 +127,38 @@ failure and exits 5.
124127
125128A multi-node operation in which some nodes failed exits 5 and reports
126129` N of M node(s) failed: <node> (<stage>: <error>); ... ` . Stages are ` prepare ` ,
127- ` start ` , ` readiness ` , and ` stop ` ; a ` readiness ` failure adds
130+ ` start ` , ` readiness ` , ` stop ` , ` status ` , and ` guest-metadata ` ; a ` readiness ` failure adds
128131` run \ ` farrow logs <node >\` for the guest console`. Structured output carries
129132` failures[] ` with ` node ` , ` stage ` , and ` error ` , plus ` rolled_back ` when
130133` --rollback ` removed the prepare artifacts of nodes that never committed. See
131134[ A node did not become ready] ( ../../start/troubleshooting/#a-node-did-not-become-ready ) .
132135
133- ` status ` reports the persisted ` guest_arch ` and ` accelerator ` for each node.
134- TCG selection is therefore explicit in both text and structured output.
136+ ` status ` shows node, state, IP, exact image, and CPU/memory. Use ` --verbose ` for
137+ SSH ports, architecture, accelerator, and PID. TCG is marked in ordinary text
138+ as well. One degraded node does not hide its peers; status exits 5 and retains
139+ per-node errors and ` failures[] ` . Running means the VM process is running;
140+ status does not claim to have checked guest readiness.
141+
142+ Starting commands also refresh Farrow hosts and control-node SSH entries in
143+ running guests. Stopped guests catch up when started. ` --no-wait ` skips guest
144+ readiness and that refresh; a later ` up ` completes both. Selected recreate
145+ refuses remaining peer drift before stopping or deleting disks; select the
146+ required nodes together as directed.
147+
148+ The control guest's Farrow-managed SSH entries accept replacement host keys
149+ without recording them in known_hosts, so recreated lab nodes remain reachable.
150+ User-added SSH entries are preserved.
135151
136152## SSH passthrough and completion
137153
138154` farrow ssh [node] [--] [command ...] ` opens a session or runs an optional
139155command. ` farrow exec [node] [--] <command ...> ` requires a command and passes
140156through its exit status. Presentation flags before ` -- ` belong to Farrow;
141- arguments after ` -- ` belong to OpenSSH or the remote program.
157+ arguments after ` -- ` are joined with spaces and interpreted by the remote
158+ shell, like plain SSH. Before ` -- ` , only zero or one known node is accepted.
159+ For convenience, omitting ` -- ` uses a known first argument as the node, or
160+ runs all arguments as a command on the default node with a warning. Use an
161+ explicit ` -- ` in scripts.
142162
143163Load ` farrow completion bash|zsh|fish|powershell ` for command and scoped-flag
144164completion. It also provides command aliases, templates, image aliases, closed
@@ -159,5 +179,6 @@ specification.
159179| 7 | integrity or ownership failure |
160180| 130 | interrupted (SIGINT/SIGTERM) |
161181
162- ` ssh ` and ` exec ` pass through the remote program's exit code, except SSH's
163- reserved transport-failure code 255, which Farrow maps to runtime failure 1.
182+ ` ssh ` and ` exec ` pass through the SSH child exit code unchanged, including
183+ 255 . That value may indicate an SSH connection failure or a remote command
184+ returning 255; text, JSON, and process exit status agree.
0 commit comments