Skip to content

Commit 3c22abd

Browse files
committed
[NodeKiller] Change rounding of a number of selected nodes
1 parent e658b72 commit 3c22abd

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

Diff for: clusterloader2/pkg/chaos/nodes.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package chaos
1818

1919
import (
2020
"fmt"
21+
"math"
2122
"math/rand"
2223
"sync"
2324
"time"
@@ -86,6 +87,7 @@ func (k *NodeKiller) pickNodes() ([]v1.Node, error) {
8687
for i := range prometheusPods {
8788
if prometheusPods[i].Spec.NodeName != "" {
8889
nodesHasPrometheusPod.Insert(prometheusPods[i].Spec.NodeName)
90+
klog.Infof("%s: Node %s removed from killing. Runs pod %s", k, prometheusPods[i].Spec.NodeName, prometheusPods[i].Name)
8991
}
9092
}
9193

@@ -98,9 +100,13 @@ func (k *NodeKiller) pickNodes() ([]v1.Node, error) {
98100
rand.Shuffle(len(nodes), func(i, j int) {
99101
nodes[i], nodes[j] = nodes[j], nodes[i]
100102
})
101-
numNodes := int(k.config.FailureRate * float64(len(nodes)))
103+
numNodes := int(math.Ceil(k.config.FailureRate * float64(len(nodes))))
104+
klog.Infof("%s: %d nodes available, wants to fail %d nodes", k, len(nodes), numNodes)
102105
if len(nodes) > numNodes {
103-
return nodes[:numNodes], nil
106+
nodes = nodes[:numNodes]
107+
}
108+
for _, node := range nodes {
109+
klog.Infof("%s: Node %q schedule for failure", k, node.Name)
104110
}
105111
return nodes, nil
106112
}

Diff for: clusterloader2/testing/load/config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ tuningSets:
6767
chaosMonkey:
6868
nodeFailure:
6969
failureRate: 0.01
70-
interval: 1m
70+
interval: 5m
7171
jitterFactor: 10.0
7272
simulatedDowntime: 10m
7373
{{end}}

0 commit comments

Comments
 (0)