mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-16 21:38:23 +00:00
Merge pull request #1811 from marquiz/devel/informer-listopts
nfd-master: tweak list options for NodeFeature informer
This commit is contained in:
commit
2d24a4bee4
1 changed files with 12 additions and 1 deletions
|
@ -29,6 +29,7 @@ import (
|
||||||
nfdclientset "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned"
|
nfdclientset "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned"
|
||||||
nfdscheme "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned/scheme"
|
nfdscheme "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned/scheme"
|
||||||
nfdinformers "sigs.k8s.io/node-feature-discovery/api/generated/informers/externalversions"
|
nfdinformers "sigs.k8s.io/node-feature-discovery/api/generated/informers/externalversions"
|
||||||
|
nfdinformersv1alpha1 "sigs.k8s.io/node-feature-discovery/api/generated/informers/externalversions/nfd/v1alpha1"
|
||||||
nfdlisters "sigs.k8s.io/node-feature-discovery/api/generated/listers/nfd/v1alpha1"
|
nfdlisters "sigs.k8s.io/node-feature-discovery/api/generated/listers/nfd/v1alpha1"
|
||||||
nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1"
|
nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1"
|
||||||
"sigs.k8s.io/node-feature-discovery/pkg/utils"
|
"sigs.k8s.io/node-feature-discovery/pkg/utils"
|
||||||
|
@ -67,13 +68,23 @@ func newNfdController(config *restclient.Config, nfdApiControllerOptions nfdApiC
|
||||||
}
|
}
|
||||||
|
|
||||||
nfdClient := nfdclientset.NewForConfigOrDie(config)
|
nfdClient := nfdclientset.NewForConfigOrDie(config)
|
||||||
|
|
||||||
klog.V(2).InfoS("initializing new NFD API controller", "options", utils.DelayedDumper(nfdApiControllerOptions))
|
klog.V(2).InfoS("initializing new NFD API controller", "options", utils.DelayedDumper(nfdApiControllerOptions))
|
||||||
|
|
||||||
informerFactory := nfdinformers.NewSharedInformerFactory(nfdClient, nfdApiControllerOptions.ResyncPeriod)
|
informerFactory := nfdinformers.NewSharedInformerFactory(nfdClient, nfdApiControllerOptions.ResyncPeriod)
|
||||||
|
|
||||||
// Add informer for NodeFeature objects
|
// Add informer for NodeFeature objects
|
||||||
if !nfdApiControllerOptions.DisableNodeFeature {
|
if !nfdApiControllerOptions.DisableNodeFeature {
|
||||||
featureInformer := informerFactory.Nfd().V1alpha1().NodeFeatures()
|
tweakListOpts := func(opts *metav1.ListOptions) {
|
||||||
|
// Tweak list opts on initial sync to avoid timeouts on the apiserver.
|
||||||
|
// NodeFeature objects are huge and the Kubernetes apiserver
|
||||||
|
// (v1.30) experiences http handler timeouts when the resource
|
||||||
|
// version is set to some non-empty value (TODO: find out why).
|
||||||
|
if opts.ResourceVersion == "0" {
|
||||||
|
opts.ResourceVersion = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
featureInformer := nfdinformersv1alpha1.New(informerFactory, "", tweakListOpts).NodeFeatures()
|
||||||
if _, err := featureInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
if _, err := featureInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||||
AddFunc: func(obj interface{}) {
|
AddFunc: func(obj interface{}) {
|
||||||
nfr := obj.(*nfdv1alpha1.NodeFeature)
|
nfr := obj.(*nfdv1alpha1.NodeFeature)
|
||||||
|
|
Loading…
Add table
Reference in a new issue