diff --git a/cmd/mesh-controller/left_out_test.go b/cmd/mesh-controller/left_out_test.go index 695eb588..7c75d307 100644 --- a/cmd/mesh-controller/left_out_test.go +++ b/cmd/mesh-controller/left_out_test.go @@ -239,6 +239,14 @@ func TestAWaitsNeedsOperatorStillClearsWhenItsStatementStopsNamingItBesideALeftO if c := open()[leftKey]; c.Kind != kindNeedsOperator { t.Fatalf("the left-out condition is not open as needs-operator: %+v", open()) } + // D1 runs again and still finds nfs-server left out: its reconcile clears only what D1 raised, never the wait, + // which the machine's statement raised. + if err := k.Reconcile(t.Context(), probeLeftOutID, left); err != nil { + t.Fatal(err) + } + if _, still := open()[waitKey]; !still { + t.Fatalf("D1's reconcile cleared the wait's needs-operator: %+v", open()) + } if err := judgeModuleHealth(t.Context(), nil, k, "anchor", map[string][]inventory.ResourceHealth{}, nil, time.Now()); err != nil { t.Fatal(err) } diff --git a/cmd/mesh-controller/nodes.go b/cmd/mesh-controller/nodes.go index f5746f65..b39f2cb7 100644 --- a/cmd/mesh-controller/nodes.go +++ b/cmd/mesh-controller/nodes.go @@ -895,7 +895,7 @@ func showNode(ctx context.Context, stored *stores, name string) error { plan, settings, err := planFor(ctx, stored, name) switch { case err != nil: - fmt.Printf("\n whether a push leaves any assigned module out is NOT known: %s\n", oneLine(err.Error())) + fmt.Printf("\n whether a send leaves any assigned module out is NOT known: %s\n", oneLine(err.Error())) default: for _, line := range notAppliedLines(name, leftOutOf(plan, settings, node.Adopted)) { fmt.Println(line) diff --git a/mesh-controller b/mesh-controller index 7059703d..b8fa8cd1 100755 Binary files a/mesh-controller and b/mesh-controller differ