Skip to content

Commit

Permalink
nfd-master: check if node exists before trying update
Browse files Browse the repository at this point in the history
Make the node-updater-pool worker fail fast (and not retry updates) if
a node does not exist.
  • Loading branch information
marquiz committed Feb 20, 2024
1 parent 2914bff commit a7bd22a
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions pkg/nfd-master/node-updater-pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"time"

"golang.org/x/time/rate"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/client-go/util/workqueue"
"k8s.io/klog/v2"
)
Expand All @@ -41,15 +42,20 @@ func newNodeUpdaterPool(nfdMaster *nfdMaster) *nodeUpdaterPool {
}

func (u *nodeUpdaterPool) processNodeUpdateRequest(queue workqueue.RateLimitingInterface) bool {
nodeName, quit := queue.Get()
n, quit := queue.Get()
if quit {
return false
}
nodeName := n.(string)

defer queue.Done(nodeName)

nodeUpdateRequests.Inc()
if err := u.nfdMaster.nfdAPIUpdateOneNode(nodeName.(string)); err != nil {

// Check if node exists
if _, err := u.nfdMaster.getNode(nodeName); apierrors.IsNotFound(err) {
klog.InfoS("node not found, skip update", "nodeName", nodeName)
} else if err := u.nfdMaster.nfdAPIUpdateOneNode(nodeName); err != nil {
if queue.NumRequeues(nodeName) < 15 {
klog.InfoS("retrying node update", "nodeName", nodeName, "lastError", err)
queue.AddRateLimited(nodeName)
Expand Down

0 comments on commit a7bd22a

Please sign in to comment.