m/node/core/consensus: correctly handle failed parsing of node urls
Change-Id: Ib7a655d4bba35d5adbc28ab083d13e2eb3b82378
Reviewed-on: https://review.monogon.dev/c/monogon/+/3031
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Vouch-Run-CI: Tim Windelschmidt <tim@monogon.tech>
diff --git a/metropolis/node/core/consensus/consensus.go b/metropolis/node/core/consensus/consensus.go
index 91c8707..3244972 100644
--- a/metropolis/node/core/consensus/consensus.go
+++ b/metropolis/node/core/consensus/consensus.go
@@ -249,14 +249,14 @@
allOkay := true
shouldLog := time.Now().After(startLogging)
for _, node := range jc.ExistingNodes {
- u, _ := url.Parse(node.URL)
+ u, err := url.Parse(node.URL)
if err != nil {
// Just pretend this node is up. If the URL is really bad, etcd will complain
// more clearly than us. This shouldn't happen, anyway.
+ continue
}
host := u.Hostname()
- _, err := net.LookupIP(host)
- if err == nil {
+ if _, err := net.LookupIP(host); err == nil {
continue
}
if shouldLog {