Skip to content

Commit

Permalink
controlplane: wait node has valid lables
Browse files Browse the repository at this point in the history
Signed-off-by: l1b0k <[email protected]>
  • Loading branch information
l1b0k committed Aug 26, 2024
1 parent f76a3a6 commit accefa8
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions pkg/controller/node/predict.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package node

import (
corev1 "k8s.io/api/core/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/predicate"

Expand All @@ -30,37 +31,32 @@ type predicateForNodeEvent struct {

// Create returns true if the Create event should be processed
func (p *predicateForNodeEvent) Create(e event.CreateEvent) bool {
node, ok := e.Object.(*corev1.Node)
if !ok {
return false
}
return isECSNode(node)
return predicateNode(e.Object)
}

// Delete returns true if the Delete event should be processed
func (p *predicateForNodeEvent) Delete(e event.DeleteEvent) bool {
node, ok := e.Object.(*corev1.Node)
if !ok {
return false
}
return isECSNode(node)
return predicateNode(e.Object)
}

// Update returns true if the Update event should be processed
func (p *predicateForNodeEvent) Update(e event.UpdateEvent) bool {
node, ok := e.ObjectNew.(*corev1.Node)
if !ok {
return false
}
return isECSNode(node)
return predicateNode(e.ObjectNew)
}

// Generic returns true if the Generic event should be processed
func (p *predicateForNodeEvent) Generic(e event.GenericEvent) bool {
node, ok := e.Object.(*corev1.Node)
return predicateNode(e.Object)
}

func predicateNode(o client.Object) bool {
node, ok := o.(*corev1.Node)
if !ok {
return false
}
if node.Labels[corev1.LabelTopologyRegion] == "" {
return false
}
return isECSNode(node)
}

Expand Down

0 comments on commit accefa8

Please sign in to comment.