1package nomad 2 3import ( 4 "fmt" 5 6 "github.com/hashicorp/serf/serf" 7) 8 9// serfMergeDelegate is used to handle a cluster merge on the gossip 10// ring. We check that the peers are nomad servers and abort the merge 11// otherwise. 12type serfMergeDelegate struct { 13} 14 15func (md *serfMergeDelegate) NotifyMerge(members []*serf.Member) error { 16 for _, m := range members { 17 ok, _ := isNomadServer(*m) 18 if !ok { 19 return fmt.Errorf("member '%s' is not a server", m.Name) 20 } 21 } 22 return nil 23} 24