kubectl: add port names to describe pod output
Kubernetes-commit: 1d0fd5928818036289a76358503778eff26e53ef
This commit is contained in:
parent
29d75ee358
commit
8067f3a1a6
|
@ -1865,7 +1865,11 @@ func describeContainerBasicInfo(container corev1.Container, status corev1.Contai
|
||||||
func describeContainerPorts(cPorts []corev1.ContainerPort) string {
|
func describeContainerPorts(cPorts []corev1.ContainerPort) string {
|
||||||
ports := make([]string, 0, len(cPorts))
|
ports := make([]string, 0, len(cPorts))
|
||||||
for _, cPort := range cPorts {
|
for _, cPort := range cPorts {
|
||||||
ports = append(ports, fmt.Sprintf("%d/%s", cPort.ContainerPort, cPort.Protocol))
|
portStr := fmt.Sprintf("%d/%s", cPort.ContainerPort, cPort.Protocol)
|
||||||
|
if cPort.Name != "" {
|
||||||
|
portStr = fmt.Sprintf("%s (%s)", portStr, cPort.Name)
|
||||||
|
}
|
||||||
|
ports = append(ports, portStr)
|
||||||
}
|
}
|
||||||
return strings.Join(ports, ", ")
|
return strings.Join(ports, ", ")
|
||||||
}
|
}
|
||||||
|
@ -1873,7 +1877,11 @@ func describeContainerPorts(cPorts []corev1.ContainerPort) string {
|
||||||
func describeContainerHostPorts(cPorts []corev1.ContainerPort) string {
|
func describeContainerHostPorts(cPorts []corev1.ContainerPort) string {
|
||||||
ports := make([]string, 0, len(cPorts))
|
ports := make([]string, 0, len(cPorts))
|
||||||
for _, cPort := range cPorts {
|
for _, cPort := range cPorts {
|
||||||
ports = append(ports, fmt.Sprintf("%d/%s", cPort.HostPort, cPort.Protocol))
|
portStr := fmt.Sprintf("%d/%s", cPort.HostPort, cPort.Protocol)
|
||||||
|
if cPort.Name != "" {
|
||||||
|
portStr = fmt.Sprintf("%s (%s)", portStr, cPort.Name)
|
||||||
|
}
|
||||||
|
ports = append(ports, portStr)
|
||||||
}
|
}
|
||||||
return strings.Join(ports, ", ")
|
return strings.Join(ports, ", ")
|
||||||
}
|
}
|
||||||
|
|
|
@ -1372,6 +1372,74 @@ func TestDescribeResources(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDescribeContainerPorts(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
name string
|
||||||
|
ports []corev1.ContainerPort
|
||||||
|
expectedContainer string
|
||||||
|
expectedHost string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "no ports",
|
||||||
|
ports: []corev1.ContainerPort{},
|
||||||
|
expectedContainer: "",
|
||||||
|
expectedHost: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "container and host port, with name",
|
||||||
|
ports: []corev1.ContainerPort{
|
||||||
|
{Name: "web", ContainerPort: 8080, HostPort: 8080, Protocol: corev1.ProtocolTCP},
|
||||||
|
},
|
||||||
|
expectedContainer: "8080/TCP (web)",
|
||||||
|
expectedHost: "8080/TCP (web)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "container and host port, no name",
|
||||||
|
ports: []corev1.ContainerPort{
|
||||||
|
{ContainerPort: 8080, HostPort: 8080, Protocol: corev1.ProtocolTCP},
|
||||||
|
},
|
||||||
|
expectedContainer: "8080/TCP",
|
||||||
|
expectedHost: "8080/TCP",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "multiple ports with mixed configuration",
|
||||||
|
ports: []corev1.ContainerPort{
|
||||||
|
{Name: "controller", ContainerPort: 9093, HostPort: 9093, Protocol: corev1.ProtocolTCP},
|
||||||
|
{ContainerPort: 9092, Protocol: corev1.ProtocolTCP},
|
||||||
|
{Name: "interbroker", ContainerPort: 9094, HostPort: 9094, Protocol: corev1.ProtocolTCP},
|
||||||
|
},
|
||||||
|
expectedContainer: "9093/TCP (controller), 9092/TCP, 9094/TCP (interbroker)",
|
||||||
|
expectedHost: "9093/TCP (controller), 0/TCP, 9094/TCP (interbroker)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "all ports with mixed configuration",
|
||||||
|
ports: []corev1.ContainerPort{
|
||||||
|
{Name: "controller", ContainerPort: 9093, HostPort: 9093, Protocol: corev1.ProtocolTCP},
|
||||||
|
{Name: "client", ContainerPort: 9092, HostPort: 9092, Protocol: corev1.ProtocolTCP},
|
||||||
|
{Name: "interbroker", ContainerPort: 9094, HostPort: 9094, Protocol: corev1.ProtocolTCP},
|
||||||
|
},
|
||||||
|
expectedContainer: "9093/TCP (controller), 9092/TCP (client), 9094/TCP (interbroker)",
|
||||||
|
expectedHost: "9093/TCP (controller), 9092/TCP (client), 9094/TCP (interbroker)",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range testCases {
|
||||||
|
t.Run(tc.name+" - container ports", func(t *testing.T) {
|
||||||
|
result := describeContainerPorts(tc.ports)
|
||||||
|
if result != tc.expectedContainer {
|
||||||
|
t.Errorf("describeContainerPorts: expected %q, got %q", tc.expectedContainer, result)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run(tc.name+" - host ports", func(t *testing.T) {
|
||||||
|
result := describeContainerHostPorts(tc.ports)
|
||||||
|
if result != tc.expectedHost {
|
||||||
|
t.Errorf("describeContainerHostPorts: expected %q, got %q", tc.expectedHost, result)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestDescribeContainers(t *testing.T) {
|
func TestDescribeContainers(t *testing.T) {
|
||||||
trueVal := true
|
trueVal := true
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
|
|
Loading…
Reference in New Issue