1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-28 02:37:11 +00:00

Merge pull request #1595 from marquiz/devel/master-check-node-existence

nfd-master: check if node exists before trying update
This commit is contained in:
Kubernetes Prow Robot 2024-03-18 04:19:57 -07:00 committed by GitHub
commit 4790962123
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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"
)
@ -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)