diff --git a/cmd/mesh-host/main.go b/cmd/mesh-host/main.go index c410072..89cd8f0 100644 --- a/cmd/mesh-host/main.go +++ b/cmd/mesh-host/main.go @@ -1054,7 +1054,12 @@ func runLink(ctx context.Context, opts options) error { // standing before this machine leaves the one it is on (novox/hq design 28, task 5.2). adoptDeliveredMembership(identity.Path(opts.state), &mine, say) - switch next, waiting, err := upgrade.Successor(upgrade.VersionsDir(""), version); { + // Asked with the version this host is RUNNING, read from where it sits — not the link-time + // stamp, which every delivered host carries as "development build". Asked with the stamp, + // a delivered host never matched the newest delivered version, so it stood aside on every + // push for ever, and standing aside cancels the report, so the mesh never heard from it + // again (novox/hq 04-ISSUES/163). + switch next, waiting, err := upgrade.Successor(upgrade.VersionsDir(""), runningVersion()); { case err != nil: // Said, not fatal. A host that cannot read the delivered versions is still running this // machine correctly; what it has lost is the ability to be replaced.