diff --git a/cmd/mesh-controller/rollout_events_test.go b/cmd/mesh-controller/rollout_events_test.go index 3f15e8bb..7a01f283 100644 --- a/cmd/mesh-controller/rollout_events_test.go +++ b/cmd/mesh-controller/rollout_events_test.go @@ -220,6 +220,12 @@ func TestARolloutAdvancesOnEventsAndAReplacedControllerResumesIt(t *testing.T) { defer mu.Unlock() return len(sends) == 2 }) + // anchor reports on tier 1's send only once the plan keeps when it was sent: a report heard before that reads as one + // on the earlier send, and anchor would be named silent (a machine applies for longer than a save takes). + eventually(t, "tier 1's send kept in the plan", func() bool { + b := plan().Modules["b"] + return b != nil && b.SentAt != nil + }) reports("anchor") // laptop never reports: its key expires and the new controller names it silent, which ends the rollout.