Skip to content

Commit 773b890

Browse files
committed
Show kubectl describe ingress error
1 parent e865c0b commit 773b890

File tree

2 files changed

+55
-3
lines changed

2 files changed

+55
-3
lines changed

staging/src/k8s.io/kubectl/pkg/describe/describe.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2354,8 +2354,14 @@ func (i *IngressDescriber) Describe(namespace, name string, describerSettings De
23542354
}
23552355

23562356
func (i *IngressDescriber) describeBackend(ns string, backend *networkingv1beta1.IngressBackend) string {
2357-
endpoints, _ := i.CoreV1().Endpoints(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
2358-
service, _ := i.CoreV1().Services(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
2357+
endpoints, err := i.CoreV1().Endpoints(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
2358+
if err != nil {
2359+
return fmt.Sprintf("<error: %v>", err)
2360+
}
2361+
service, err := i.CoreV1().Services(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
2362+
if err != nil {
2363+
return fmt.Sprintf("<error: %v>", err)
2364+
}
23592365
spName := ""
23602366
for i := range service.Spec.Ports {
23612367
sp := &service.Spec.Ports[i]

staging/src/k8s.io/kubectl/pkg/describe/describe_test.go

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1673,6 +1673,45 @@ func TestDescribeDeployment(t *testing.T) {
16731673
}
16741674
}
16751675

1676+
func TestDescribeIngress(t *testing.T) {
1677+
defaultBackend := networkingv1beta1.IngressBackend{
1678+
ServiceName: "default-backend",
1679+
ServicePort: intstr.FromInt(80),
1680+
}
1681+
1682+
fakeClient := fake.NewSimpleClientset(&networkingv1beta1.Ingress{
1683+
ObjectMeta: metav1.ObjectMeta{
1684+
Name: "bar",
1685+
Namespace: "foo",
1686+
},
1687+
Spec: networkingv1beta1.IngressSpec{
1688+
Rules: []networkingv1beta1.IngressRule{
1689+
{
1690+
Host: "foo.bar.com",
1691+
IngressRuleValue: networkingv1beta1.IngressRuleValue{
1692+
HTTP: &networkingv1beta1.HTTPIngressRuleValue{
1693+
Paths: []networkingv1beta1.HTTPIngressPath{
1694+
{
1695+
Path: "/foo",
1696+
Backend: defaultBackend,
1697+
},
1698+
},
1699+
},
1700+
},
1701+
},
1702+
},
1703+
},
1704+
})
1705+
i := IngressDescriber{fakeClient}
1706+
out, err := i.Describe("foo", "bar", DescriberSettings{ShowEvents: true})
1707+
if err != nil {
1708+
t.Errorf("unexpected error: %v", err)
1709+
}
1710+
if !strings.Contains(out, "bar") || !strings.Contains(out, "foo") || !strings.Contains(out, "foo.bar.com") || !strings.Contains(out, "/foo") {
1711+
t.Errorf("unexpected out: %s", out)
1712+
}
1713+
}
1714+
16761715
func TestDescribeStorageClass(t *testing.T) {
16771716
reclaimPolicy := corev1.PersistentVolumeReclaimRetain
16781717
bindingMode := storagev1.VolumeBindingMode("bindingmode")
@@ -2660,8 +2699,15 @@ func TestDescribeEvents(t *testing.T) {
26602699
}, events),
26612700
},
26622701
// TODO(jchaloup): add tests for:
2663-
// - IngressDescriber
26642702
// - JobDescriber
2703+
"IngressDescriber": &IngressDescriber{
2704+
fake.NewSimpleClientset(&networkingv1beta1.Ingress{
2705+
ObjectMeta: metav1.ObjectMeta{
2706+
Name: "bar",
2707+
Namespace: "foo",
2708+
},
2709+
}, events),
2710+
},
26652711
"NodeDescriber": &NodeDescriber{
26662712
fake.NewSimpleClientset(&corev1.Node{
26672713
ObjectMeta: metav1.ObjectMeta{

0 commit comments

Comments
 (0)