Caught up is an equality, not an ordering
The report carries the digest of the declaration it applied (mesh-host 8211d8b), and the mesh stores it beside the outcome. `reported` rows in the status JSON now say `current`: whether the machine's last word names the declaration last sent. Not derivable from the timestamps beside it, which is why they were not enough: an apply begun under the previous declaration reports after the next send — newer, and still about the old words. The lab lost exactly that race between one test's closing push and the next test's opening one. Empty digests — every host from before reports carried one — read as not current, which errs toward waiting rather than toward asserting on files that are not there yet.
This commit is contained in:
@@ -94,6 +94,9 @@ type Report struct {
|
||||
//
|
||||
// The node states and this context writes, which is the shape of every message here.
|
||||
Carried []int `json:"carried,omitempty"`
|
||||
// Declared is the digest of the declaration this report is about — the same bytes, hashed
|
||||
// the same way, as the `sent` digest the mesh recorded. Which declaration, not when.
|
||||
Declared string `json:"declared,omitempty"`
|
||||
}
|
||||
|
||||
// EnrolReply is what the mesh says back.
|
||||
|
||||
Reference in New Issue
Block a user