server: Move cluster up the bootstrap hierarchy

This commit is contained in:
Marek Siarkowicz
2021-07-21 12:53:42 +02:00
parent 648bac833f
commit c97ab8f5e0
2 changed files with 51 additions and 46 deletions

View File

@ -308,8 +308,8 @@ func NewServer(cfg config.ServerConfig) (srv *EtcdServer, err error) {
}
}()
sstats := stats.NewServerStats(cfg.Name, b.storage.cluster.nodeID.String())
lstats := stats.NewLeaderStats(cfg.Logger, b.storage.cluster.nodeID.String())
sstats := stats.NewServerStats(cfg.Name, b.cluster.nodeID.String())
lstats := stats.NewLeaderStats(cfg.Logger, b.cluster.nodeID.String())
heartbeat := time.Duration(cfg.TickMs) * time.Millisecond
srv = &EtcdServer{
@ -320,21 +320,21 @@ func NewServer(cfg config.ServerConfig) (srv *EtcdServer, err error) {
errorc: make(chan error, 1),
v2store: b.storage.st,
snapshotter: b.ss,
r: *b.storage.cluster.raft.newRaftNode(b.ss, b.storage.cluster.wal.w),
id: b.storage.cluster.nodeID,
r: *b.cluster.raft.newRaftNode(b.ss, b.cluster.wal.w),
id: b.cluster.nodeID,
attributes: membership.Attributes{Name: cfg.Name, ClientURLs: cfg.ClientURLs.StringSlice()},
cluster: b.storage.cluster.raft.cl,
cluster: b.cluster.raft.cl,
stats: sstats,
lstats: lstats,
SyncTicker: time.NewTicker(500 * time.Millisecond),
peerRt: b.prt,
reqIDGen: idutil.NewGenerator(uint16(b.storage.cluster.nodeID), time.Now()),
reqIDGen: idutil.NewGenerator(uint16(b.cluster.nodeID), time.Now()),
AccessController: &AccessController{CORS: cfg.CORS, HostWhitelist: cfg.HostWhitelist},
consistIndex: b.storage.ci,
firstCommitInTerm: notify.NewNotifier(),
clusterVersionChanged: notify.NewNotifier(),
}
serverID.With(prometheus.Labels{"server_id": b.storage.cluster.nodeID.String()}).Set(1)
serverID.With(prometheus.Labels{"server_id": b.cluster.nodeID.String()}).Set(1)
srv.cluster.SetVersionChangedNotifier(srv.clusterVersionChanged)
srv.applyV2 = NewApplierV2(cfg.Logger, srv.v2store, srv.cluster)
@ -403,9 +403,9 @@ func NewServer(cfg config.ServerConfig) (srv *EtcdServer, err error) {
Logger: cfg.Logger,
TLSInfo: cfg.PeerTLSInfo,
DialTimeout: cfg.PeerDialTimeout(),
ID: b.storage.cluster.nodeID,
ID: b.cluster.nodeID,
URLs: cfg.PeerURLs,
ClusterID: b.storage.cluster.raft.cl.ID(),
ClusterID: b.cluster.raft.cl.ID(),
Raft: srv,
Snapshotter: b.ss,
ServerStats: sstats,
@ -416,13 +416,13 @@ func NewServer(cfg config.ServerConfig) (srv *EtcdServer, err error) {
return nil, err
}
// add all remotes into transport
for _, m := range b.storage.cluster.remotes {
if m.ID != b.storage.cluster.nodeID {
for _, m := range b.cluster.remotes {
if m.ID != b.cluster.nodeID {
tr.AddRemote(m.ID, m.PeerURLs)
}
}
for _, m := range b.storage.cluster.raft.cl.Members() {
if m.ID != b.storage.cluster.nodeID {
for _, m := range b.cluster.raft.cl.Members() {
if m.ID != b.cluster.nodeID {
tr.AddPeer(m.ID, m.PeerURLs)
}
}