mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Merge pull request #111607 from tnqn/reduce-redundant-index
Remove duplicate and unused index from PodIndexer
This commit is contained in:
commit
20ffe3bbf9
@ -113,8 +113,6 @@ type DaemonSetsController struct {
|
|||||||
historyStoreSynced cache.InformerSynced
|
historyStoreSynced cache.InformerSynced
|
||||||
// podLister get list/get pods from the shared informers's store
|
// podLister get list/get pods from the shared informers's store
|
||||||
podLister corelisters.PodLister
|
podLister corelisters.PodLister
|
||||||
// podNodeIndex indexes pods by their nodeName
|
|
||||||
podNodeIndex cache.Indexer
|
|
||||||
// podStoreSynced returns true if the pod store has been synced at least once.
|
// podStoreSynced returns true if the pod store has been synced at least once.
|
||||||
// Added as a member to the struct to allow injection for testing.
|
// Added as a member to the struct to allow injection for testing.
|
||||||
podStoreSynced cache.InformerSynced
|
podStoreSynced cache.InformerSynced
|
||||||
@ -181,12 +179,6 @@ func NewDaemonSetsController(
|
|||||||
DeleteFunc: dsc.deletePod,
|
DeleteFunc: dsc.deletePod,
|
||||||
})
|
})
|
||||||
dsc.podLister = podInformer.Lister()
|
dsc.podLister = podInformer.Lister()
|
||||||
|
|
||||||
// This custom indexer will index pods based on their NodeName which will decrease the amount of pods we need to get in simulate() call.
|
|
||||||
podInformer.Informer().GetIndexer().AddIndexers(cache.Indexers{
|
|
||||||
"nodeName": indexByPodNodeName,
|
|
||||||
})
|
|
||||||
dsc.podNodeIndex = podInformer.Informer().GetIndexer()
|
|
||||||
dsc.podStoreSynced = podInformer.Informer().HasSynced
|
dsc.podStoreSynced = podInformer.Informer().HasSynced
|
||||||
|
|
||||||
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||||
@ -205,18 +197,6 @@ func NewDaemonSetsController(
|
|||||||
return dsc, nil
|
return dsc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func indexByPodNodeName(obj interface{}) ([]string, error) {
|
|
||||||
pod, ok := obj.(*v1.Pod)
|
|
||||||
if !ok {
|
|
||||||
return []string{}, nil
|
|
||||||
}
|
|
||||||
// We are only interested in active pods with nodeName set
|
|
||||||
if len(pod.Spec.NodeName) == 0 || pod.Status.Phase == v1.PodSucceeded || pod.Status.Phase == v1.PodFailed {
|
|
||||||
return []string{}, nil
|
|
||||||
}
|
|
||||||
return []string{pod.Spec.NodeName}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dsc *DaemonSetsController) addDaemonset(obj interface{}) {
|
func (dsc *DaemonSetsController) addDaemonset(obj interface{}) {
|
||||||
ds := obj.(*apps.DaemonSet)
|
ds := obj.(*apps.DaemonSet)
|
||||||
klog.V(4).Infof("Adding daemon set %s", ds.Name)
|
klog.V(4).Infof("Adding daemon set %s", ds.Name)
|
||||||
|
@ -2234,9 +2234,8 @@ func TestNodeShouldRunDaemonPod(t *testing.T) {
|
|||||||
}
|
}
|
||||||
manager.nodeStore.Add(node)
|
manager.nodeStore.Add(node)
|
||||||
for _, p := range c.podsOnNode {
|
for _, p := range c.podsOnNode {
|
||||||
manager.podStore.Add(p)
|
|
||||||
p.Spec.NodeName = "test-node"
|
p.Spec.NodeName = "test-node"
|
||||||
manager.podNodeIndex.Add(p)
|
manager.podStore.Add(p)
|
||||||
}
|
}
|
||||||
c.ds.Spec.UpdateStrategy = *strategy
|
c.ds.Spec.UpdateStrategy = *strategy
|
||||||
shouldRun, shouldContinueRunning := NodeShouldRunDaemonPod(node, c.ds)
|
shouldRun, shouldContinueRunning := NodeShouldRunDaemonPod(node, c.ds)
|
||||||
|
Loading…
Reference in New Issue
Block a user