From 7695497ec45861307f4707807bee6de96e870593 Mon Sep 17 00:00:00 2001 From: keyolk Date: Thu, 3 Apr 2025 23:15:52 +0900 Subject: [PATCH] Make able to set initContainer as target --- pkg/tracejob/selected_target.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/tracejob/selected_target.go b/pkg/tracejob/selected_target.go index 81af8fb1..42046b1b 100644 --- a/pkg/tracejob/selected_target.go +++ b/pkg/tracejob/selected_target.go @@ -268,7 +268,7 @@ func resolvePodToTarget(podClient corev1.PodInterface, resourceID, container, ta target.Node = pod.Spec.NodeName target.PodUID = string(pod.UID) - if len(pod.Spec.Containers) == 1 { + if len(pod.Spec.Containers) == 1 && len(pod.Spec.InitContainers) == 0 { targetContainer = pod.Spec.Containers[0].Name } else { // FIXME verify container is not empty @@ -284,6 +284,15 @@ func resolvePodToTarget(podClient corev1.PodInterface, resourceID, container, ta } } + for _, s := range pod.Status.InitContainerStatuses { + if s.Name == targetContainer { + containerID := strings.TrimPrefix(s.ContainerID, "docker://") + containerID = strings.TrimPrefix(containerID, "containerd://") + target.ContainerID = containerID + break + } + } + if target.ContainerID == "" { return fmt.Errorf("no containers found for the provided pod %s and container %s combination", pod.Name, targetContainer) }