Merge pull request #88716 from zhouya0/show_kubectl_describe_ingress_error

Show kubectl describe ingress error

Kubernetes-commit: 318918cac4fd821084856820c786f65a0d622f89
This commit is contained in:
Kubernetes Publisher 2020-03-05 07:18:51 -08:00
commit a052177169
2 changed files with 55 additions and 3 deletions

View File

@ -2354,8 +2354,14 @@ func (i *IngressDescriber) Describe(namespace, name string, describerSettings De
}
func (i *IngressDescriber) describeBackend(ns string, backend *networkingv1beta1.IngressBackend) string {
endpoints, _ := i.CoreV1().Endpoints(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
service, _ := i.CoreV1().Services(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
endpoints, err := i.CoreV1().Endpoints(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
if err != nil {
return fmt.Sprintf("<error: %v>", err)
}
service, err := i.CoreV1().Services(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{})
if err != nil {
return fmt.Sprintf("<error: %v>", err)
}
spName := ""
for i := range service.Spec.Ports {
sp := &service.Spec.Ports[i]

View File

@ -1673,6 +1673,45 @@ func TestDescribeDeployment(t *testing.T) {
}
}
func TestDescribeIngress(t *testing.T) {
defaultBackend := networkingv1beta1.IngressBackend{
ServiceName: "default-backend",
ServicePort: intstr.FromInt(80),
}
fakeClient := fake.NewSimpleClientset(&networkingv1beta1.Ingress{
ObjectMeta: metav1.ObjectMeta{
Name: "bar",
Namespace: "foo",
},
Spec: networkingv1beta1.IngressSpec{
Rules: []networkingv1beta1.IngressRule{
{
Host: "foo.bar.com",
IngressRuleValue: networkingv1beta1.IngressRuleValue{
HTTP: &networkingv1beta1.HTTPIngressRuleValue{
Paths: []networkingv1beta1.HTTPIngressPath{
{
Path: "/foo",
Backend: defaultBackend,
},
},
},
},
},
},
},
})
i := IngressDescriber{fakeClient}
out, err := i.Describe("foo", "bar", DescriberSettings{ShowEvents: true})
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if !strings.Contains(out, "bar") || !strings.Contains(out, "foo") || !strings.Contains(out, "foo.bar.com") || !strings.Contains(out, "/foo") {
t.Errorf("unexpected out: %s", out)
}
}
func TestDescribeStorageClass(t *testing.T) {
reclaimPolicy := corev1.PersistentVolumeReclaimRetain
bindingMode := storagev1.VolumeBindingMode("bindingmode")
@ -2660,8 +2699,15 @@ func TestDescribeEvents(t *testing.T) {
}, events),
},
// TODO(jchaloup): add tests for:
// - IngressDescriber
// - JobDescriber
"IngressDescriber": &IngressDescriber{
fake.NewSimpleClientset(&networkingv1beta1.Ingress{
ObjectMeta: metav1.ObjectMeta{
Name: "bar",
Namespace: "foo",
},
}, events),
},
"NodeDescriber": &NodeDescriber{
fake.NewSimpleClientset(&corev1.Node{
ObjectMeta: metav1.ObjectMeta{