new logger and etcd fixes

This commit is contained in:
ston1th 2021-10-09 16:52:06 +02:00
commit cbd4f38cca
11 changed files with 248 additions and 161 deletions

View file

@ -9,9 +9,9 @@ import (
)
type Cluster struct {
logr.Logger
cluster.KV
r *raft.Raft
log logr.Logger
r *raft.Raft
kvm *kv
stepdown chan struct{}
@ -24,17 +24,25 @@ type Cluster struct {
}
func NewCluster(log logr.Logger) cluster.Cluster {
c := &Cluster{log: log}
c.Reset()
return c
}
func (c *Cluster) Reset() {
kvm := &kv{
m: make(map[string][]byte),
}
return &Cluster{
Logger: log,
KV: kvm,
kvm: kvm,
stepdown: make(chan struct{}, 1),
stop: make(chan struct{}, 1),
done: make(chan struct{}, 1),
}
c.KV = kvm
c.kvm = kvm
c.stepdown = make(chan struct{}, 1)
c.stop = make(chan struct{}, 1)
c.done = make(chan struct{}, 1)
c.fatal = nil
}
func (c *Cluster) Logger() logr.Logger {
return c.log
}
func (c *Cluster) ID() string {

View file

@ -21,6 +21,7 @@ func (c *Cluster) Start(raftcfg *config.Config) error {
if err != nil {
return err
}
log := c.Logger()
cfg := raftcfg.Cluster.Raft
hcl := hclog.New(&hclog.LoggerOptions{
Name: "raft",
@ -39,14 +40,14 @@ func (c *Cluster) Start(raftcfg *config.Config) error {
timeout := 10 * time.Second
var transport *raft.NetworkTransport
if cfg.TLS != nil {
c.V(1).Info("setup", "transport", "tls")
log.V(1).Info("setup", "transport", "tls")
s, err := tls.NewStream(cfg)
if err != nil {
return err
}
transport = raft.NewNetworkTransportWithLogger(s, pool, timeout, hcl)
} else {
c.V(1).Info("setup", "transport", "tcp")
log.V(1).Info("setup", "transport", "tcp")
address, err := net.ResolveTCPAddr("tcp", cfg.Address)
if err != nil {
return err