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

nfd-worker: use timer channel for sleep interval

This commit is contained in:
Markus Lehtonen 2020-11-26 14:15:39 +02:00
parent 01384d434f
commit 6958a6677f

View file

@ -191,31 +191,31 @@ func (w *nfdWorker) Run() error {
}
defer w.disconnect()
trigger := time.After(0)
for {
// Parse and apply configuration
w.configure(w.args.ConfigFile, w.args.Options)
select {
case <-trigger:
// Parse and apply configuration
w.configure(w.args.ConfigFile, w.args.Options)
// Get the set of feature labels.
labels := createFeatureLabels(w.sources, w.labelWhiteList)
// Get the set of feature labels.
labels := createFeatureLabels(w.sources, w.labelWhiteList)
// Update the node with the feature labels.
if w.client != nil {
err := advertiseFeatureLabels(w.client, labels)
if err != nil {
return fmt.Errorf("failed to advertise labels: %s", err.Error())
// Update the node with the feature labels.
if w.client != nil {
err := advertiseFeatureLabels(w.client, labels)
if err != nil {
return fmt.Errorf("failed to advertise labels: %s", err.Error())
}
}
}
if w.args.Oneshot {
break
}
if w.args.Oneshot {
return nil
}
if w.args.SleepInterval > 0 {
time.Sleep(w.args.SleepInterval)
} else {
w.disconnect()
// Sleep forever
select {}
if w.args.SleepInterval > 0 {
trigger = time.After(w.args.SleepInterval)
}
}
}
return nil