Skip to content

Commit

Permalink
Merge pull request #26 from openebs/exclude_cordoned_node
Browse files Browse the repository at this point in the history
exclude cordoned nodes while scheduling
  • Loading branch information
abhilashshetty04 authored Feb 18, 2025
2 parents e011b6d + d2a4222 commit ce563e2
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions pkg/scheduler/scheduler.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ type kv struct {
Value int64
}

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

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

for _, node := range list.Items {
for _, prf := range topo {
nodeFiltered := false
for key, value := range prf.Segments {
if node.Labels[key] != value {
nodeFiltered = true
if !node.Spec.Unschedulable {
for _, prf := range topo {
nodeFiltered := false
for key, value := range prf.Segments {
if node.Labels[key] != value {
nodeFiltered = true
break
}
}
if !nodeFiltered {
nodelist = append(nodelist, node.Name)
break
}
}
if !nodeFiltered {
nodelist = append(nodelist, node.Name)
break
}
}
}

Expand Down

0 comments on commit ce563e2

Please sign in to comment.