Store WanAddress during node registration

This commit is contained in:
Evan Gilman 2015-12-07 15:07:56 -08:00 committed by James Phillips
parent 369e501dd5
commit fc61143b46
4 changed files with 11 additions and 2 deletions

View File

@ -181,6 +181,9 @@ func (c *Client) setupSerf(conf *serf.Config, ch chan serf.Event, path string) (
conf.RejoinAfterLeave = c.config.RejoinAfterLeave
conf.Merge = &lanMergeDelegate{dc: c.config.Datacenter}
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 {
return nil, err
}

View File

@ -472,8 +472,9 @@ func (s *consulSnapshot) persistNodes(sink raft.SnapshotSink,
for node := nodes.Next(); node != nil; node = nodes.Next() {
n := node.(*structs.Node)
req := structs.RegisterRequest{
Node: n.Node,
Address: n.Address,
Node: n.Node,
Address: n.Address,
WanAddress: n.WanAddress,
}
// Register the node itself

View File

@ -418,6 +418,7 @@ AFTER_CHECK:
Datacenter: s.config.Datacenter,
Node: member.Name,
Address: member.Addr.String(),
WanAddress: member.Tags["WanAddr"],
Service: service,
Check: &structs.HealthCheck{
Node: member.Name,
@ -460,6 +461,7 @@ func (s *Server) handleFailedMember(member serf.Member) error {
Datacenter: s.config.Datacenter,
Node: member.Name,
Address: member.Addr.String(),
WanAddress: member.Tags["WanAddr"],
Check: &structs.HealthCheck{
Node: member.Name,
CheckID: SerfCheckID,

View File

@ -299,6 +299,9 @@ func (s *Server) setupSerf(conf *serf.Config, ch chan serf.Event, path string, w
if s.config.BootstrapExpect != 0 {
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.LogOutput = s.config.LogOutput
conf.EventCh = ch