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:
commit
4790962123
1 changed files with 8 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue