Skip to content

Commit cf0b457

Browse files
authored
Merge pull request kubernetes#125444 from babugeet/babugeet-patch-1
Added logic to check portnumber by name in sidecar container (init)
2 parents 4630bef + 7a810c6 commit cf0b457

File tree

2 files changed

+68
-1
lines changed

2 files changed

+68
-1
lines changed

staging/src/k8s.io/kubectl/pkg/util/pod_port.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ func LookupContainerPortNumberByName(pod v1.Pod, name string) (int32, error) {
3131
}
3232
}
3333
}
34-
34+
for _, ctr := range pod.Spec.InitContainers {
35+
for _, ctrportspec := range ctr.Ports {
36+
if ctrportspec.Name == name {
37+
return ctrportspec.ContainerPort, nil
38+
}
39+
}
40+
}
3541
return int32(-1), fmt.Errorf("Pod '%s' does not have a named port '%s'", pod.Name, name)
3642
}

staging/src/k8s.io/kubectl/pkg/util/pod_port_test.go

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,67 @@ func TestLookupContainerPortNumberByName(t *testing.T) {
7171
portnum: int32(0),
7272
err: true,
7373
},
74+
{
75+
name: "test success 2",
76+
pod: v1.Pod{
77+
Spec: v1.PodSpec{
78+
Containers: []v1.Container{
79+
{
80+
Ports: []v1.ContainerPort{
81+
{
82+
Name: "https",
83+
ContainerPort: int32(443)},
84+
{
85+
Name: "http",
86+
ContainerPort: int32(80)},
87+
},
88+
},
89+
},
90+
InitContainers: []v1.Container{
91+
{
92+
Ports: []v1.ContainerPort{
93+
{
94+
Name: "sql",
95+
ContainerPort: int32(3306)},
96+
},
97+
},
98+
},
99+
},
100+
},
101+
portname: "sql",
102+
portnum: int32(3306),
103+
err: false,
104+
}, {
105+
name: "test failure 2",
106+
pod: v1.Pod{
107+
Spec: v1.PodSpec{
108+
Containers: []v1.Container{
109+
{
110+
Ports: []v1.ContainerPort{
111+
{
112+
Name: "https",
113+
ContainerPort: int32(443)},
114+
{
115+
Name: "http",
116+
ContainerPort: int32(80)},
117+
},
118+
},
119+
},
120+
InitContainers: []v1.Container{
121+
{
122+
Ports: []v1.ContainerPort{
123+
{
124+
Name: "sql",
125+
ContainerPort: int32(3306)},
126+
},
127+
},
128+
},
129+
},
130+
},
131+
portname: "metrics",
132+
portnum: int32(0),
133+
err: true,
134+
},
74135
}
75136

76137
for _, tt := range tests {

0 commit comments

Comments
 (0)