From 9b715524a203ec1d9932f5b01d6738eb7c950768 Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 28 Sep 2026 00:55:39 +0200 Subject: [PATCH] The network map resolves each machine with the seat holders on record MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without them, a machine running the next holder of a seat beside the current one resolves as two holders, is refused, and drops out of the map — and with it the address every other machine composes for what it offers. Found live: the control node vanished from the private network the moment the new bus was assigned beside the old one, and nothing on any machine could be composed. --- cmd/mesh-controller/network.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/mesh-controller/network.go b/cmd/mesh-controller/network.go index 5b52dff..fb93047 100644 --- a/cmd/mesh-controller/network.go +++ b/cmd/mesh-controller/network.go @@ -537,6 +537,15 @@ func onTheNetwork(ctx context.Context, inv *inventory.Inventory, if err != nil { return nil, err } + // **With the seat holders on record**, or a machine running the next holder of a seat beside + // the current one resolves as two holders, is refused, and drops out of the map — taking the + // address every other machine composes for what it offers (novox/hq ADR 0131). Found live: + // the control node vanished from the private network the moment the new bus was assigned + // beside the old one. + holdings, err := inv.Holdings(ctx) + if err != nil { + return nil, err + } var out []inventory.Overlay for _, p := range places { if p.Address == "" { @@ -549,7 +558,7 @@ func onTheNetwork(ctx context.Context, inv *inventory.Inventory, caps, _ := inv.ProfileOf(ctx, p.Name) got, err := catalogue.Resolve(shelf, assigned, catalogue.Node{Name: p.Name, Site: p.Site, Capabilities: caps}, - catalogue.World{Unchecked: true}) + catalogue.World{Unchecked: true, Holdings: holdings}) if err != nil { continue }