mirror of https://github.com/status-im/consul.git
CheckServiceNodes will return node checks that are not service associated
This commit is contained in:
parent
15719e6d15
commit
7831f34606
|
@ -526,9 +526,13 @@ func (s *StateStore) parseCheckServiceNodes(tx *MDBTxn, res []interface{}, err e
|
|||
panic(fmt.Errorf("Failed to join node: %v", err))
|
||||
}
|
||||
|
||||
// Get any associated checks
|
||||
// Get any associated checks of the service
|
||||
checks := parseHealthChecks(s.checkTable.GetTxn(tx, "node", srv.Node, srv.ServiceID))
|
||||
|
||||
// Get any checks of the node, not assciated with any service
|
||||
nodeChecks := parseHealthChecks(s.checkTable.GetTxn(tx, "node", srv.Node, ""))
|
||||
checks = append(checks, nodeChecks...)
|
||||
|
||||
// Setup the node
|
||||
nodes[i].Node = *nodeRes[0].(*structs.Node)
|
||||
nodes[i].Service = structs.NodeService{
|
||||
|
|
|
@ -716,6 +716,15 @@ func TestCheckServiceNodes(t *testing.T) {
|
|||
if err := store.EnsureCheck(check); err != nil {
|
||||
t.Fatalf("err: %v")
|
||||
}
|
||||
check = &structs.HealthCheck{
|
||||
Node: "foo",
|
||||
CheckID: serfCheckID,
|
||||
Name: serfCheckName,
|
||||
Status: structs.HealthPassing,
|
||||
}
|
||||
if err := store.EnsureCheck(check); err != nil {
|
||||
t.Fatalf("err: %v")
|
||||
}
|
||||
|
||||
nodes := store.CheckServiceNodes("db")
|
||||
if len(nodes) != 1 {
|
||||
|
@ -728,10 +737,13 @@ func TestCheckServiceNodes(t *testing.T) {
|
|||
if nodes[0].Service.ID != "db1" {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if len(nodes[0].Checks) != 1 {
|
||||
if len(nodes[0].Checks) != 2 {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if nodes[0].Checks[0].Status != structs.HealthPassing {
|
||||
if nodes[0].Checks[0].CheckID != "db" {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if nodes[0].Checks[1].CheckID != serfCheckID {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
|
||||
|
@ -746,10 +758,13 @@ func TestCheckServiceNodes(t *testing.T) {
|
|||
if nodes[0].Service.ID != "db1" {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if len(nodes[0].Checks) != 1 {
|
||||
if len(nodes[0].Checks) != 2 {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if nodes[0].Checks[0].Status != structs.HealthPassing {
|
||||
if nodes[0].Checks[0].CheckID != "db" {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
if nodes[0].Checks[1].CheckID != serfCheckID {
|
||||
t.Fatalf("Bad: %v", nodes[0])
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue