refactor: pleg/getContainersFromPods

This commit is contained in:
XuzhengChang 2022-04-01 17:36:07 +08:00
parent 885f14d162
commit 6266554b34

View File

@ -325,29 +325,25 @@ func (g *GenericPLEG) relist() {
func getContainersFromPods(pods ...*kubecontainer.Pod) []*kubecontainer.Container {
cidSet := sets.NewString()
var containers []*kubecontainer.Container
fillCidSet := func(cs []*kubecontainer.Container) {
for _, c := range cs {
cid := c.ID.ID
if cidSet.Has(cid) {
continue
}
cidSet.Insert(cid)
containers = append(containers, c)
}
}
for _, p := range pods {
if p == nil {
continue
}
for _, c := range p.Containers {
cid := string(c.ID.ID)
if cidSet.Has(cid) {
continue
}
cidSet.Insert(cid)
containers = append(containers, c)
}
fillCidSet(p.Containers)
// Update sandboxes as containers
// TODO: keep track of sandboxes explicitly.
for _, c := range p.Sandboxes {
cid := string(c.ID.ID)
if cidSet.Has(cid) {
continue
}
cidSet.Insert(cid)
containers = append(containers, c)
}
fillCidSet(p.Sandboxes)
}
return containers
}