mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcd: attach default scheme to the peer-list if scheme is not given
This commit is contained in:
parent
cc1df691cc
commit
c1c2aeffab
12
etcd/etcd.go
12
etcd/etcd.go
@ -166,7 +166,17 @@ func (s *Server) Run() error {
|
||||
}
|
||||
log.Printf("id=%x server.run source=-discovery seeds=\"%v\"\n", s.id, seeds)
|
||||
} else {
|
||||
seeds = s.cfg.Peers
|
||||
for _, p := range s.cfg.Peers {
|
||||
u, err := url.Parse(p)
|
||||
if err != nil {
|
||||
log.Printf("id=%x server.run err=%q", err)
|
||||
continue
|
||||
}
|
||||
if u.Scheme == "" {
|
||||
u.Scheme = s.cfg.PeerTLSInfo().Scheme()
|
||||
}
|
||||
seeds = append(seeds, u.String())
|
||||
}
|
||||
log.Printf("id=%x server.run source=-peers seeds=\"%v\"\n", s.id, seeds)
|
||||
}
|
||||
s.peerHub.setSeeds(seeds)
|
||||
|
@ -18,6 +18,7 @@ package etcd
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
@ -103,6 +104,31 @@ func TestJoinThroughFollower(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestJoinWithoutHTTPScheme(t *testing.T) {
|
||||
bt := &testServer{}
|
||||
bt.Start()
|
||||
|
||||
cl := testCluster{nodes: []*testServer{bt}}
|
||||
seed := bt.URL
|
||||
u, err := url.Parse(seed)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// remove HTTP scheme
|
||||
seed = u.Host + u.Path
|
||||
|
||||
for i := 1; i < 3; i++ {
|
||||
c := newTestConfig()
|
||||
c.Peers = []string{seed}
|
||||
ts := &testServer{Config: c, Id: int64(i)}
|
||||
ts.Start()
|
||||
ts.WaitMode(participantMode)
|
||||
cl.nodes = append(cl.nodes, ts)
|
||||
cl.Leader()
|
||||
}
|
||||
cl.Destroy()
|
||||
}
|
||||
|
||||
func TestClusterConfigReload(t *testing.T) {
|
||||
defer afterTest(t)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user