Skip to content

Commit 3de5d88

Browse files
martyndmeeech
authored andcommitted
fix(dashboard): Update pod status logic to support native sidecars. Fixes argoproj#3366 (argoproj#3639)
* Update pod status logic to support native sidecars Signed-off-by: Martyn Dale <[email protected]> * Fix lint issues Signed-off-by: Martyn Dale <[email protected]> --------- Signed-off-by: Martyn Dale <[email protected]>
1 parent 4869baa commit 3de5d88

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

pkg/kubectl-argo-rollouts/info/pod_info.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ func newPodInfo(pod *corev1.Pod) rollout.PodInfo {
5353
},
5454
}
5555
restarts := 0
56+
rs := make(map[string]bool, len(pod.Spec.InitContainers))
57+
for _, c := range pod.Spec.InitContainers {
58+
p := c.RestartPolicy
59+
rs[c.Name] = p != nil && *p == corev1.ContainerRestartPolicyAlways
60+
}
61+
5662
totalContainers := len(pod.Spec.Containers)
5763
readyContainers := 0
5864

@@ -69,7 +75,7 @@ func newPodInfo(pod *corev1.Pod) rollout.PodInfo {
6975
continue
7076
case container.State.Terminated != nil:
7177
// initialization is failed
72-
if len(container.State.Terminated.Reason) == 0 {
78+
if container.State.Terminated.Reason == "" {
7379
if container.State.Terminated.Signal != 0 {
7480
reason = fmt.Sprintf("Init:Signal:%d", container.State.Terminated.Signal)
7581
} else {
@@ -79,6 +85,10 @@ func newPodInfo(pod *corev1.Pod) rollout.PodInfo {
7985
reason = "Init:" + container.State.Terminated.Reason
8086
}
8187
initializing = true
88+
case rs[container.Name] && container.Started != nil && *container.Started:
89+
if container.Ready {
90+
continue
91+
}
8292
case container.State.Waiting != nil && len(container.State.Waiting.Reason) > 0 && container.State.Waiting.Reason != "PodInitializing":
8393
reason = "Init:" + container.State.Waiting.Reason
8494
initializing = true

0 commit comments

Comments
 (0)