mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 17:35:43 +03:00
test: disable node drainer during tests
Node drainer would throw off the index checks
This commit is contained in:
@@ -2439,15 +2439,18 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
codec := rpcClient(t, s1)
|
||||
testutil.WaitForLeader(t, s1.RPC)
|
||||
|
||||
// Disable drainer to prevent drain from completing during test
|
||||
s1.nodeDrainer.SetEnabled(false, nil)
|
||||
|
||||
// Create the node
|
||||
node := mock.Node()
|
||||
|
||||
// Node upsert triggers watches
|
||||
time.AfterFunc(100*time.Millisecond, func() {
|
||||
if err := state.UpsertNode(2, node); err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
errCh := make(chan error, 1)
|
||||
timer := time.AfterFunc(100*time.Millisecond, func() {
|
||||
errCh <- state.UpsertNode(2, node)
|
||||
})
|
||||
defer timer.Stop()
|
||||
|
||||
req := &structs.NodeListRequest{
|
||||
QueryOptions: structs.QueryOptions{
|
||||
@@ -2461,6 +2464,10 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
if err := <-errCh; err != nil {
|
||||
t.Fatalf("error from timer: %v", err)
|
||||
}
|
||||
|
||||
if elapsed := time.Since(start); elapsed < 100*time.Millisecond {
|
||||
t.Fatalf("should block (returned in %s) %#v", elapsed, resp)
|
||||
}
|
||||
@@ -2478,9 +2485,7 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
Deadline: 10 * time.Second,
|
||||
},
|
||||
}
|
||||
if err := state.UpdateNodeDrain(3, node.ID, s, false); err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
errCh <- state.UpdateNodeDrain(3, node.ID, s, false)
|
||||
})
|
||||
|
||||
req.MinQueryIndex = 2
|
||||
@@ -2490,6 +2495,10 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
if err := <-errCh; err != nil {
|
||||
t.Fatalf("error from timer: %v", err)
|
||||
}
|
||||
|
||||
if elapsed := time.Since(start); elapsed < 100*time.Millisecond {
|
||||
t.Fatalf("should block (returned in %s) %#v", elapsed, resp2)
|
||||
}
|
||||
@@ -2502,9 +2511,7 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
|
||||
// Node status update triggers watches
|
||||
time.AfterFunc(100*time.Millisecond, func() {
|
||||
if err := state.UpdateNodeStatus(40, node.ID, structs.NodeStatusDown); err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
errCh <- state.UpdateNodeStatus(40, node.ID, structs.NodeStatusDown)
|
||||
})
|
||||
|
||||
req.MinQueryIndex = 38
|
||||
@@ -2514,6 +2521,10 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
if err := <-errCh; err != nil {
|
||||
t.Fatalf("error from timer: %v", err)
|
||||
}
|
||||
|
||||
if elapsed := time.Since(start); elapsed < 100*time.Millisecond {
|
||||
t.Fatalf("should block (returned in %s) %#v", elapsed, resp3)
|
||||
}
|
||||
@@ -2526,9 +2537,7 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
|
||||
// Node delete triggers watches.
|
||||
time.AfterFunc(100*time.Millisecond, func() {
|
||||
if err := state.DeleteNode(50, node.ID); err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
errCh <- state.DeleteNode(50, node.ID)
|
||||
})
|
||||
|
||||
req.MinQueryIndex = 45
|
||||
@@ -2538,6 +2547,10 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
if err := <-errCh; err != nil {
|
||||
t.Fatalf("error from timer: %v", err)
|
||||
}
|
||||
|
||||
if elapsed := time.Since(start); elapsed < 100*time.Millisecond {
|
||||
t.Fatalf("should block (returned in %s) %#v", elapsed, resp4)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user