Repository navigation
fix(fleet): skip Go slot refresh when container is absent (#628) - #642
Conversation
2790379 to
2a4e0c9
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2a4e0c9. Configure here.
| if (!inspectContainer(container)) { | ||
| logTelemetryContainerSkip('fleet', vm.id, container) | ||
| return telemetryContainerSkip(container) | ||
| } |
There was a problem hiding this comment.
Inspect failures skipped as missing
Medium Severity
The new pre-check treats any failed inspectContainer as a missing slot and returns a successful skip. inspectContainer returns null for daemon-down, permission, and timeout errors as well as a real absence, so those hard failures never reach the later No such container classifier. Fleet then reports ok with skipped_count, and install.sh refresh can exit 0 without restarting Go services.
Triggered by learned rule: kin-egress reload waits for old process exit
Reviewed by Cursor Bugbot for commit 2a4e0c9. Configure here.
71fe04d to
34b35ac
Compare
REQ-0628: install.sh upgrade and fleet action=telemetry no longer fail the whole batch when a DB-registered VM has no kin-NN container on the host. Log an explicit skip, continue other VMs, and still fail on real refresh errors. Co-authored-by: ted <kuhlmangarry24@gmail.com>
Co-authored-by: ted <kuhlmangarry24@gmail.com>
Co-authored-by: ted <kuhlmangarry24@gmail.com>
Co-authored-by: ted <kuhlmangarry24@gmail.com>
Distinguish docker inspect not-found from daemon/permission failures via inspectContainerOutcome. Pre-check skips only when absent; other inspect errors fail the slot like a real refresh failure. (#628, REQ-0628) Co-authored-by: ted <kuhlmangarry24@gmail.com>
34b35ac to
871f448
Compare


Summary
Fixes #628 (REQ-0628).
When
install.sh upgraderunsscripts/fleet-services.mjs(fleetaction=telemetry), VMs that remain in the registry but no longer have a local Docker container (No such container: kin-NN) caused the entire refresh to exit non-zero.This change treats that case as a non-fatal skip:
docker inspectbefore localdocker exectelemetry refresh[fleet]/[fleet-services]log lines with VM id and container nameskipped,skip_reason, and aggregateskipped_countfailed_countand fail the batchTest plan
fleet telemetry skips db rows whose container is absent on this hostfleet telemetry still fails when a present container refresh errorskin-egressbeforenpm run test:unit)CHANGELOG
Note
Medium Risk
Changes fleet upgrade/telemetry batch behavior for stale registry rows without local containers; real refresh failures still fail the batch, but operators must notice skipped VMs in logs/report instead of a hard stop.
Reviewed by Cursor Bugbot for commit 2a4e0c9. Configure here.