diff --git a/pkg/utils/common/pods.go b/pkg/utils/common/pods.go index e00a15964..33882060b 100644 --- a/pkg/utils/common/pods.go +++ b/pkg/utils/common/pods.go @@ -562,22 +562,35 @@ func FilterPodsForNodes(targetPodList core_v1.PodList, containerName string) map for _, pod := range targetPodList.Items { - td := target{ - Name: pod.Name, - Namespace: pod.Namespace, - TargetContainer: containerName, - } + var containerNames []string - if td.TargetContainer == "" { - td.TargetContainer = pod.Spec.Containers[0].Name + switch containerName { + case "ALL": + for _, container := range pod.Spec.Containers { + containerNames = append(containerNames, container.Name) + } + case "": + containerNames = append(containerNames, pod.Spec.Containers[0].Name) + default: + containerNames = append(containerNames, containerName) } - if targets[pod.Spec.NodeName] == nil { - targets[pod.Spec.NodeName] = &TargetsDetails{ - Target: []target{td}, + for _, targetName := range containerNames { + + td := target{ + Name: pod.Name, + Namespace: pod.Namespace, + TargetContainer: targetName, } - } else { - targets[pod.Spec.NodeName].Target = append(targets[pod.Spec.NodeName].Target, td) + + if targets[pod.Spec.NodeName] == nil { + targets[pod.Spec.NodeName] = &TargetsDetails{ + Target: []target{td}, + } + } else { + targets[pod.Spec.NodeName].Target = append(targets[pod.Spec.NodeName].Target, td) + } + } } return targets