10000 Show initContainers first when --no-follow and --max-log-requests 1 (… · stern/stern@ef753f1 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit ef753f1

Browse files
author
Takashi Kusumi
authored
Show initContainers first when --no-follow and --max-log-requests 1 (#226)
1 parent 0b939c5 commit ef753f1

File tree

2 files changed

+36
-35
lines changed

2 files changed

+36
-35
lines changed

stern/target.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,13 @@ func (f *targetFilter) visit(pod *corev1.Pod, visitor func(t *Target)) {
8181

8282
// filter by container statuses
8383
var statuses []corev1.ContainerStatus
84-
statuses = append(statuses, pod.Status.ContainerStatuses...)
85-
8684
if f.c.initContainers {
85+
// show initContainers first when --no-follow and --max-log-requests 1
8786
statuses = append(statuses, pod.Status.InitContainerStatuses...)
8887
}
8988

89+
statuses = append(statuses, pod.Status.ContainerStatuses...)
90+
9091
if f.c.ephemeralContainers {
9192
statuses = append(statuses, pod.Status.EphemeralContainerStatuses...)
9293
}

stern/target_test.go

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@ func TestTargetFilter(t *testing.T) {
2424
NodeName: node,
2525
},
2626
Status: corev1.PodStatus{
27-
ContainerStatuses: []corev1.ContainerStatus{
28-
{Name: "container1-running", State: running, ContainerID: "dummy"},
29-
{Name: "container2-terminated", State: terminated},
30-
{Name: "container3-waiting", State: waiting, LastTerminationState: terminated},
31-
},
3227
InitContainerStatuses: []corev1.ContainerStatus{
3328
{Name: "init-container1-running", State: running, ContainerID: "dummy"},
3429
{Name: "init-container2-terminated", State: terminated},
3530
{Name: "init-container3-waiting", State: waiting, LastTerminationState: terminated},
3631
},
32+
ContainerStatuses: []corev1.ContainerStatus{
33+
{Name: "container1-running", State: running, ContainerID: "dummy"},
34+
{Name: "container2-terminated", State: terminated},
35+
{Name: "container3-waiting", State: waiting, LastTerminationState: terminated},
36+
},
3737
EphemeralContainerStatuses: []corev1.ContainerStatus{
3838
{Name: "ephemeral-container1-running", State: running, ContainerID: "dummy"},
3939
{Name: "ephemeral-container2-terminated", State: terminated},
@@ -74,21 +74,21 @@ func TestTargetFilter(t *testing.T) {
7474
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
7575
},
7676
expected: []Target{
77-
genTarget("node1", "pod1", "container1-running"),
78-
genTarget("node1", "pod1", "container2-terminated"),
79-
genTarget("node1", "pod1", "container3-waiting"),
8077
genTarget("node1", "pod1", "init-container1-running"),
8178
genTarget("node1", "pod1", "init-container2-terminated"),
8279
genTarget("node1", "pod1", "init-container3-waiting"),
80+
genTarget("node1", "pod1", "container1-running"),
81+
genTarget("node1", "pod1", "container2-terminated"),
82+
genTarget("node1", "pod1", "container3-waiting"),
8383
genTarget("node1", "pod1", "ephemeral-container1-running"),
8484
genTarget("node1", "pod1", "ephemeral-container2-terminated"),
8585
genTarget("node1", "pod1", "ephemeral-container3-waiting"),
86-
genTarget("node2", "pod2", "container1-running"),
87-
genTarget("node2", "pod2", "container2-terminated"),
88-
genTarget("node2", "pod2", "container3-waiting"),
8986
genTarget("node2", "pod2", "init-container1-running"),
9087
genTarget("node2", "pod2", "init-container2-terminated"),
9188
genTarget("node2", "pod2", "init-container3-waiting"),
89+
genTarget("node2", "pod2", "container1-running"),
90+
genTarget("node2", "pod2", "container2-terminated"),
91+
genTarget("node2", "pod2", "container3-waiting"),
9292
genTarget("node2", "pod2", "ephemeral-container1-running"),
9393
genTarget("node2", "pod2", "ephemeral-container2-terminated"),
9494
genTarget("node2", "pod2", "ephemeral-container3-waiting"),
@@ -119,12 +119,12 @@ func TestTargetFilter(t *testing.T) {
119119
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
120120
},
121121
expected: []Target{
122-
genTarget("node2", "pod2", "container1-running"),
123-
genTarget("node2", "pod2", "container2-terminated"),
124-
genTarget("node2", "pod2", "container3-waiting"),
125122
genTarget("node2", "pod2", "init-container1-running"),
126123
genTarget("node2", "pod2", "init-container2-terminated"),
127124
genTarget("node2", "pod2", "init-container3-waiting"),
125+
genTarget("node2", "pod2", "container1-running"),
126+
genTarget("node2", "pod2", "container2-terminated"),
127+
genTarget("node2", "pod2", "container3-waiting"),
128128
genTarget("node2", "pod2", "ephemeral-container1-running"),
129129
genTarget("node2", "pod2", "ephemeral-container2-terminated"),
130130
genTarget("node2", "pod2", "ephemeral-container3-waiting"),
@@ -145,12 +145,12 @@ func TestTargetFilter(t *testing.T) {
145145
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
146146
},
147147
expected: []Target{
148-
genTarget("node1", "pod1", "container1-running"),
149-
genTarget("node1", "pod1", "container2-terminated"),
150-
genTarget("node1", "pod1", "container3-waiting"),
151148
genTarget("node1", "pod1", "init-container1-running"),
152149
genTarget("node1", "pod1", "init-container2-terminated"),
153150
genTarget("node1", "pod1", "init-container3-waiting"),
151+
genTarget("node1", "pod1", "container1-running"),
152+
genTarget("node1", "pod1", "container2-terminated"),
153+
genTarget("node1", "pod1", "container3-waiting"),
154154
genTarget("node1", "pod1", "ephemeral-container1-running"),
155155
genTarget("node1", "pod1", "ephemeral-container2-terminated"),
156156
genTarget("node1", "pod1", "ephemeral-container3-waiting"),
@@ -168,11 +168,11 @@ func TestTargetFilter(t *testing.T) {
168168
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
169169
},
170170
expected: []Target{
171-
genTarget("node1", "pod1", "container1-running"),
172171
genTarget("node1", "pod1", "init-container1-running"),
172+
genTarget("node1", "pod1", "container1-running"),
173173
genTarget("node1", "pod1", "ephemeral-container1-running"),
174-
genTarget("node2", "pod2", "container1-running"),
175174
genTarget("node2", "pod2", "init-container1-running"),
175+
genTarget("node2", "pod2", "container1-running"),
176176
genTarget("node2", "pod2", "ephemeral-container1-running"),
177177
},
178178
},
@@ -188,16 +188,16 @@ func TestTargetFilter(t *testing.T) {
188188
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
189189
},
190190
expected: []Target{
191-
genTarget("node1", "pod1", "container2-terminated"),
192-
genTarget("node1", "pod1", "container3-waiting"),
193191
genTarget("node1", "pod1", "init-container2-terminated"),
194192
genTarget("node1", "pod1", "init-container3-waiting"),
193+
genTarget("node1", "pod1", "container2-terminated"),
194+
genTarget("node1", "pod1", "container3-waiting"),
195195
genTarget("node1", "pod1", "ephemeral-container2-terminated"),
196196
genTarget("node1", "pod1", "ephemeral-container3-waiting"),
197-
genTarget("node2", "pod2", "container2-terminated"),
198-
genTarget("node2", "pod2", "container3-waiting"),
199197
genTarget("node2", "pod2", "init-container2-terminated"),
200198
genTarget("node2", "pod2", "init-container3-waiting"),
199+
genTarget("node2", "pod2", "container2-terminated"),
200+
genTarget("node2", "pod2", "container3-waiting"),
201201
genTarget("node2", "pod2", "ephemeral-container2-terminated"),
202202
genTarget("node2", "pod2", "ephemeral-container3-waiting"),
203203
},
@@ -217,14 +217,14 @@ func TestTargetFilter(t *testing.T) {
217217
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
218218
},
219219
expected: []Target{
220+
genTarget("node1", "pod1", "init-container3-waiting"),
220221
genTarget("node1", "pod1", "container2-terminated"),
221222
genTarget("node1", "pod1", "container3-waiting"),
222-
genTarget("node1", "pod1", "init-container3-waiting"),
223223
genTarget("node1", "pod1", "ephemeral-container2-terminated"),
224224
genTarget("node1", "pod1", "ephemeral-container3-waiting"),
225+
genTarget("node2", "pod2", "init-container3-waiting"),
225226
genTarget("node2", "pod2", "container2-terminated"),
226227
genTarget("node2", "pod2", "container3-waiting"),
227-
genTarget("node2", "pod2", "init-container3-waiting"),
228228
genTarget("node2", "pod2", "ephemeral-container2-terminated"),
229229
genTarget("node2", "pod2", "ephemeral-container3-waiting"),
230230
},
@@ -267,18 +267,18 @@ func TestTargetFilter(t *testing.T) {
267267
containerStates: []ContainerState{RUNNING, TERMINATED, WAITING},
268268
},
269269
expected: []Target{
270-
genTarget("node1", "pod1", "container1-running"),
271-
genTarget("node1", "pod1", "container2-terminated"),
272-
genTarget("node1", "pod1", "container3-waiting"),
273270
genTarget("node1", "pod1", "init-container1-running"),
274271
genTarget("node1", "pod1", "init-container2-terminated"),
275272
genTarget("node1", "pod1", "init-container3-waiting"),
276-
genTarget("node2", "pod2", "container1-running"),
277-
genTarget("node2", "pod2", "container2-terminated"),
278-
genTarget("node2", "pod2", "container3-waiting"),
273+
genTarget("node1", "pod1", "container1-running"),
274+
genTarget("node1", "pod1", "container2-terminated"),
275+
genTarget("node1", "pod1", "container3-waiting"),
279276
genTarget("node2", "pod2", "init-container1-running"),
280277
genTarget("node2", "pod2", "init-container2-terminated"),
281278
genTarget("node2", "pod2", "init-container3-waiting"),
279+
genTarget("node2", "pod2", "container1-running"),
280+
genTarget("node2", "pod2", "container2-terminated"),
281+
genTarget("node2", "pod2", "container3-waiting"),
282282
},
283283
},
284284
{
@@ -293,11 +293,11 @@ func TestTargetFilter(t *testing.T) {
293293
containerStates: []ContainerState{RUNNING},
294294
},
295295
expected: []Target{
296-
genTarget("node1", "pod1", "container1-running"),
297296
genTarget("node1", "pod1", "init-container1-running"),
297+
genTarget("node1", "pod1", "container1-running"),
298298
genTarget("node1", "pod1", "ephemeral-container1-running"),
299-
genTarget("node2", "pod2", "container1-running"),
300299
genTarget("node2", "pod2", "init-container1-running"),
300+
genTarget("node2", "pod2", "container1-running"),
301301
genTarget("node2", "pod2", "ephemeral-container1-running"),
302302
},
303303
},

0 commit comments

Comments
 (0)
0