Skip to content

Commit 3df5763

Browse files
fix(sceduler): exclude cordoned nodes while scheduling
Signed-off-by: Abhilash Shetty <[email protected]>
1 parent e011b6d commit 3df5763

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

pkg/scheduler/scheduler.go

+12-10
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type kv struct {
3232
Value int64
3333
}
3434

35-
// getNodeList gets the nodelist which satisfies the topology info
35+
// getNodeList gets the nodelist which satisfies the topology info, excludes cordoned nodes.
3636
func getNodeList(topo []*csi.Topology) ([]string, error) {
3737

3838
var nodelist []string
@@ -43,18 +43,20 @@ func getNodeList(topo []*csi.Topology) ([]string, error) {
4343
}
4444

4545
for _, node := range list.Items {
46-
for _, prf := range topo {
47-
nodeFiltered := false
48-
for key, value := range prf.Segments {
49-
if node.Labels[key] != value {
50-
nodeFiltered = true
46+
if !node.Spec.Unschedulable {
47+
for _, prf := range topo {
48+
nodeFiltered := false
49+
for key, value := range prf.Segments {
50+
if node.Labels[key] != value {
51+
nodeFiltered = true
52+
break
53+
}
54+
}
55+
if !nodeFiltered {
56+
nodelist = append(nodelist, node.Name)
5157
break
5258
}
5359
}
54-
if !nodeFiltered {
55-
nodelist = append(nodelist, node.Name)
56-
break
57-
}
5860
}
5961
}
6062

0 commit comments

Comments
 (0)