Merge pull request 'Pin mesh-sdk at the fix that refuses an unresolvable machine alone (issue 1833)' (#437) from fix/1833-one-machine-alone into main
This commit was merged in pull request #437.
This commit is contained in:
@@ -3,7 +3,7 @@ module github.com/novox/mesh-controller
|
|||||||
go 1.26.0
|
go 1.26.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022075101-c61212eba77c
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022132648-bd7731f3588c
|
||||||
github.com/jackc/pgx/v5 v5.10.0
|
github.com/jackc/pgx/v5 v5.10.0
|
||||||
github.com/nats-io/nats-server/v2 v2.11.17
|
github.com/nats-io/nats-server/v2 v2.11.17
|
||||||
github.com/nats-io/nats.go v1.54.0
|
github.com/nats-io/nats.go v1.54.0
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
git.novox.be/novox/mesh-host v0.0.0-20261018171808-9d9e3a46c4f5 h1:E5stfIeCN6uYgA9TCv+4K8JgaURg3zQppvUgJLaDMP4=
|
git.novox.be/novox/mesh-host v0.0.0-20261018171808-9d9e3a46c4f5 h1:E5stfIeCN6uYgA9TCv+4K8JgaURg3zQppvUgJLaDMP4=
|
||||||
git.novox.be/novox/mesh-host v0.0.0-20261018171808-9d9e3a46c4f5/go.mod h1:4wyoCr6IIIIarEUuROThWDj7DAvJvIidqMjWcpSnOwE=
|
git.novox.be/novox/mesh-host v0.0.0-20261018171808-9d9e3a46c4f5/go.mod h1:4wyoCr6IIIIarEUuROThWDj7DAvJvIidqMjWcpSnOwE=
|
||||||
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022075101-c61212eba77c h1:YdSbkI42rlVmClybH8BS717ut0vouKIMavO691fpdps=
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022132648-bd7731f3588c h1:UKlwMw6fmesDqe0aL0lfI/ivhorsGjAvh9XefFjhNI4=
|
||||||
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022075101-c61212eba77c/go.mod h1:ouERNpZizzwZ0HLEtAypsY9FR20FyUgUYRni6J7kVCY=
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022132648-bd7731f3588c/go.mod h1:ouERNpZizzwZ0HLEtAypsY9FR20FyUgUYRni6J7kVCY=
|
||||||
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0=
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op h1:Z/MZK75wC/NSrkgqeNIa7jexam9uWzhLmFTSCPI/kn0=
|
||||||
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI=
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op/go.mod h1:FQyySiasQQM8735Ddel3MRojmy4dA1IqCeyJ5jmPMbI=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
|||||||
Vendored
+1
-1
@@ -9,7 +9,7 @@ a second place to clean besides the catalogue itself.
|
|||||||
|
|
||||||
mesh-catalog e0bc919d4945bb5f13f971f74643a0b714cf45da modules/*/module.json, modules/nats/Dockerfile
|
mesh-catalog e0bc919d4945bb5f13f971f74643a0b714cf45da modules/*/module.json, modules/nats/Dockerfile
|
||||||
mesh-host 9d9e3a46c4f5943cfffb413d962ce48b75e2fd39 examples/foundation-first-node.lock
|
mesh-host 9d9e3a46c4f5943cfffb413d962ce48b75e2fd39 examples/foundation-first-node.lock
|
||||||
mesh-sdk c61212eba77c4359694af33f44b35abec92bf71c conformance/events/module-event.json
|
mesh-sdk bd7731f3588cf336620526b032bbfe9867f7837e conformance/events/module-event.json
|
||||||
|
|
||||||
To move them, from this repository's root, with the two repositories checked out beside it:
|
To move them, from this repository's root, with the two repositories checked out beside it:
|
||||||
|
|
||||||
|
|||||||
+20
-3
@@ -74,7 +74,10 @@ func (c *composer) overlayRange() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// network builds the private network over the machines that resolved the module for it. A machine is on it because it
|
// network builds the private network over the machines that resolved the module for it. A machine is on it because it
|
||||||
// was given the module, or because it is joining with a key and an address (novox/hq ADR 0169).
|
// was given the module, or because it is joining with a key and an address (novox/hq ADR 0169), or because its own set
|
||||||
|
// could not be resolved and it holds a place (a key and an address): that place is its last good one on the network, and
|
||||||
|
// it does not change because its modules failed, so every other machine keeps its path to it -- the hub above all -- and
|
||||||
|
// only its own declaration is refused (issue 1833). A machine refused with no place is left off.
|
||||||
func (c *composer) network(on map[string]bool, refused map[string]string) (*overlay.Generator, error) {
|
func (c *composer) network(on map[string]bool, refused map[string]string) (*overlay.Generator, error) {
|
||||||
tunnels := c.in.Tunnels
|
tunnels := c.in.Tunnels
|
||||||
carried := c.in.CarriedPeers
|
carried := c.in.CarriedPeers
|
||||||
@@ -85,9 +88,15 @@ func (c *composer) network(on map[string]bool, refused map[string]string) (*over
|
|||||||
var nodes []overlay.Node
|
var nodes []overlay.Node
|
||||||
for _, node := range c.in.sorted() {
|
for _, node := range c.in.sorted() {
|
||||||
p := node.Place
|
p := node.Place
|
||||||
if !on[node.Name] && !(isJoining[node.Name] && p.Key != "" && p.Address != "") {
|
placed := p.Key != "" && p.Address != ""
|
||||||
|
_, wasRefused := refused[node.Name]
|
||||||
|
if !on[node.Name] && !((isJoining[node.Name] || wasRefused) && placed) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if !on[node.Name] && wasRefused && !isJoining[node.Name] {
|
||||||
|
c.say("%s could not be resolved and keeps its place on the private network at %s, so the others keep their path to it",
|
||||||
|
node.Name, p.Address)
|
||||||
|
}
|
||||||
n := overlay.Node{
|
n := overlay.Node{
|
||||||
Name: node.Name, Key: p.Key, Endpoint: p.Endpoint,
|
Name: node.Name, Key: p.Key, Endpoint: p.Endpoint,
|
||||||
Site: p.Site, Hub: p.Hub, Address: p.Address,
|
Site: p.Site, Hub: p.Hub, Address: p.Address,
|
||||||
@@ -233,7 +242,9 @@ func (c *composer) whereEveryoneIs() (map[string]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// onTheNetwork is every placed machine that resolves the private network: has an address AND runs what puts it there
|
// onTheNetwork is every placed machine that resolves the private network: has an address AND runs what puts it there
|
||||||
// (novox/hq issue 079). A machine that does not resolve is not counted, and said.
|
// (novox/hq issue 079). A machine that does not resolve keeps its place when it holds one (a key and an address), by the
|
||||||
|
// same rule as network(), so its name and its address stay where the tunnel to it does (issue 1833); one without is not
|
||||||
|
// counted, and said.
|
||||||
func (c *composer) onTheNetwork() []Node {
|
func (c *composer) onTheNetwork() []Node {
|
||||||
var out []Node
|
var out []Node
|
||||||
for _, n := range c.in.sorted() {
|
for _, n := range c.in.sorted() {
|
||||||
@@ -247,6 +258,12 @@ func (c *composer) onTheNetwork() []Node {
|
|||||||
catalogue.Node{Name: n.Name, Site: n.Place.Site, Capabilities: n.Capabilities},
|
catalogue.Node{Name: n.Name, Site: n.Place.Site, Capabilities: n.Capabilities},
|
||||||
catalogue.World{Unchecked: true, Holdings: c.in.Holdings})
|
catalogue.World{Unchecked: true, Holdings: c.in.Holdings})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if n.Place.Key != "" {
|
||||||
|
c.say("%s could not be resolved and keeps its place on the private network at %s, so the others keep their path to it",
|
||||||
|
n.Name, n.Place.Address)
|
||||||
|
out = append(out, n)
|
||||||
|
continue
|
||||||
|
}
|
||||||
c.say("%s is not counted as on the network: it does not resolve: %v", n.Name, err)
|
c.say("%s is not counted as on the network: it does not resolve: %v", n.Name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
# git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022075101-c61212eba77c
|
# git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022132648-bd7731f3588c
|
||||||
## explicit; go 1.26.0
|
## explicit; go 1.26.0
|
||||||
git.novox.be/novox/mesh-sdk/go
|
git.novox.be/novox/mesh-sdk/go
|
||||||
git.novox.be/novox/mesh-sdk/go/asks
|
git.novox.be/novox/mesh-sdk/go/asks
|
||||||
|
|||||||
Reference in New Issue
Block a user