Store WanAddress during node registration
This commit is contained in:
parent
369e501dd5
commit
fc61143b46
|
@ -181,6 +181,9 @@ func (c *Client) setupSerf(conf *serf.Config, ch chan serf.Event, path string) (
|
||||||
conf.RejoinAfterLeave = c.config.RejoinAfterLeave
|
conf.RejoinAfterLeave = c.config.RejoinAfterLeave
|
||||||
conf.Merge = &lanMergeDelegate{dc: c.config.Datacenter}
|
conf.Merge = &lanMergeDelegate{dc: c.config.Datacenter}
|
||||||
conf.DisableCoordinates = c.config.DisableCoordinates
|
conf.DisableCoordinates = c.config.DisableCoordinates
|
||||||
|
if wanAddr := c.config.SerfWANConfig.MemberlistConfig.AdvertiseAddr; wanAddr != "" {
|
||||||
|
conf.Tags["WanAddr"] = wanAddr
|
||||||
|
}
|
||||||
if err := ensurePath(conf.SnapshotPath, false); err != nil {
|
if err := ensurePath(conf.SnapshotPath, false); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -472,8 +472,9 @@ func (s *consulSnapshot) persistNodes(sink raft.SnapshotSink,
|
||||||
for node := nodes.Next(); node != nil; node = nodes.Next() {
|
for node := nodes.Next(); node != nil; node = nodes.Next() {
|
||||||
n := node.(*structs.Node)
|
n := node.(*structs.Node)
|
||||||
req := structs.RegisterRequest{
|
req := structs.RegisterRequest{
|
||||||
Node: n.Node,
|
Node: n.Node,
|
||||||
Address: n.Address,
|
Address: n.Address,
|
||||||
|
WanAddress: n.WanAddress,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register the node itself
|
// Register the node itself
|
||||||
|
|
|
@ -418,6 +418,7 @@ AFTER_CHECK:
|
||||||
Datacenter: s.config.Datacenter,
|
Datacenter: s.config.Datacenter,
|
||||||
Node: member.Name,
|
Node: member.Name,
|
||||||
Address: member.Addr.String(),
|
Address: member.Addr.String(),
|
||||||
|
WanAddress: member.Tags["WanAddr"],
|
||||||
Service: service,
|
Service: service,
|
||||||
Check: &structs.HealthCheck{
|
Check: &structs.HealthCheck{
|
||||||
Node: member.Name,
|
Node: member.Name,
|
||||||
|
@ -460,6 +461,7 @@ func (s *Server) handleFailedMember(member serf.Member) error {
|
||||||
Datacenter: s.config.Datacenter,
|
Datacenter: s.config.Datacenter,
|
||||||
Node: member.Name,
|
Node: member.Name,
|
||||||
Address: member.Addr.String(),
|
Address: member.Addr.String(),
|
||||||
|
WanAddress: member.Tags["WanAddr"],
|
||||||
Check: &structs.HealthCheck{
|
Check: &structs.HealthCheck{
|
||||||
Node: member.Name,
|
Node: member.Name,
|
||||||
CheckID: SerfCheckID,
|
CheckID: SerfCheckID,
|
||||||
|
|
|
@ -299,6 +299,9 @@ func (s *Server) setupSerf(conf *serf.Config, ch chan serf.Event, path string, w
|
||||||
if s.config.BootstrapExpect != 0 {
|
if s.config.BootstrapExpect != 0 {
|
||||||
conf.Tags["expect"] = fmt.Sprintf("%d", s.config.BootstrapExpect)
|
conf.Tags["expect"] = fmt.Sprintf("%d", s.config.BootstrapExpect)
|
||||||
}
|
}
|
||||||
|
if wanAddr := s.config.SerfWANConfig.MemberlistConfig.AdvertiseAddr; wanAddr != "" {
|
||||||
|
conf.Tags["WanAddr"] = wanAddr
|
||||||
|
}
|
||||||
conf.MemberlistConfig.LogOutput = s.config.LogOutput
|
conf.MemberlistConfig.LogOutput = s.config.LogOutput
|
||||||
conf.LogOutput = s.config.LogOutput
|
conf.LogOutput = s.config.LogOutput
|
||||||
conf.EventCh = ch
|
conf.EventCh = ch
|
||||||
|
|
Loading…
Reference in New Issue