Merge pull request #125444 from babugeet/babugeet-patch-1

Added logic to check portnumber by name in sidecar container (init)

Kubernetes-commit: cf0b4576905538ac1a74547f2b8567842b5492c7
This commit is contained in:
Kubernetes Publisher 2024-06-12 07:44:42 -07:00
commit 3802ec81a2
4 changed files with 71 additions and 4 deletions

2
go.mod
View File

@ -33,7 +33,7 @@ require (
k8s.io/apimachinery v0.0.0-20240611003333-1a6a62ad18e9
k8s.io/cli-runtime v0.0.0-20240611011948-8b261b067466
k8s.io/client-go v0.0.0-20240611082225-03443e7ede0e
k8s.io/component-base v0.0.0-20240611005304-e4e29391883e
k8s.io/component-base v0.0.0-20240612123904-00e09447c2e9
k8s.io/component-helpers v0.0.0-20240611005446-043edfa5ae00
k8s.io/klog/v2 v2.120.1
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340

4
go.sum
View File

@ -285,8 +285,8 @@ k8s.io/cli-runtime v0.0.0-20240611011948-8b261b067466 h1:Ov7uW+LTmIt5IOAJzJ1HNia
k8s.io/cli-runtime v0.0.0-20240611011948-8b261b067466/go.mod h1:6U0kAMmtb2fPtCA232awVh1xpHogO4ZeqmLhjaunylw=
k8s.io/client-go v0.0.0-20240611082225-03443e7ede0e h1:4/fBa74JXsX4qdGyj9KuXNtQTbsy0iCQv0pP3fWLHxg=
k8s.io/client-go v0.0.0-20240611082225-03443e7ede0e/go.mod h1:b+pw4KhbMeVhXpDIGvHd7EZRNwncNsJ2bdukPsB5dCc=
k8s.io/component-base v0.0.0-20240611005304-e4e29391883e h1:01PCd3dAM82OYe1j4jdCiOHZU3otF7acPD0+2SMgsSA=
k8s.io/component-base v0.0.0-20240611005304-e4e29391883e/go.mod h1:5dgaBdnhsQFyIcJl45Rckw9rEXaHcezofXAL/GTk4YU=
k8s.io/component-base v0.0.0-20240612123904-00e09447c2e9 h1:0XOHXSyKU3VNdkET2NjlHcA+v8YBnEZQce/zaNGoqcQ=
k8s.io/component-base v0.0.0-20240612123904-00e09447c2e9/go.mod h1:fKg2MK8aKKD38jqgWLfrzo/yc0U1pRuEnlRY16kemVQ=
k8s.io/component-helpers v0.0.0-20240611005446-043edfa5ae00 h1:ZCr6jtEbLir+jAI+kyD8OENzUK+0CgcbXAzXKb+CC54=
k8s.io/component-helpers v0.0.0-20240611005446-043edfa5ae00/go.mod h1:8YymGKKjbE4h69pfzJKF0cxlNGzXk/Hr3OkfNWkWzbY=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=

View File

@ -31,6 +31,12 @@ func LookupContainerPortNumberByName(pod v1.Pod, name string) (int32, error) {
}
}
}
for _, ctr := range pod.Spec.InitContainers {
for _, ctrportspec := range ctr.Ports {
if ctrportspec.Name == name {
return ctrportspec.ContainerPort, nil
}
}
}
return int32(-1), fmt.Errorf("Pod '%s' does not have a named port '%s'", pod.Name, name)
}

View File

@ -71,6 +71,67 @@ func TestLookupContainerPortNumberByName(t *testing.T) {
portnum: int32(0),
err: true,
},
{
name: "test success 2",
pod: v1.Pod{
Spec: v1.PodSpec{
Containers: []v1.Container{
{
Ports: []v1.ContainerPort{
{
Name: "https",
ContainerPort: int32(443)},
{
Name: "http",
ContainerPort: int32(80)},
},
},
},
InitContainers: []v1.Container{
{
Ports: []v1.ContainerPort{
{
Name: "sql",
ContainerPort: int32(3306)},
},
},
},
},
},
portname: "sql",
portnum: int32(3306),
err: false,
}, {
name: "test failure 2",
pod: v1.Pod{
Spec: v1.PodSpec{
Containers: []v1.Container{
{
Ports: []v1.ContainerPort{
{
Name: "https",
ContainerPort: int32(443)},
{
Name: "http",
ContainerPort: int32(80)},
},
},
},
InitContainers: []v1.Container{
{
Ports: []v1.ContainerPort{
{
Name: "sql",
ContainerPort: int32(3306)},
},
},
},
},
},
portname: "metrics",
portnum: int32(0),
err: true,
},
}
for _, tt := range tests {