From 68e06f67e4d6c7da0c61da1cfbff3ff2afd84e5b Mon Sep 17 00:00:00 2001 From: k8s-infra-cherrypick-robot <90416843+k8s-infra-cherrypick-robot@users.noreply.github.com> Date: Tue, 4 Mar 2025 00:49:42 -0800 Subject: [PATCH] Test: Remove gRPC Fortune Teller. (#12929) Co-authored-by: Marco Ebert --- images/README.md | 19 ++-- test/e2e/annotations/grpc.go | 23 ----- test/e2e/framework/grpc_fortune_teller.go | 105 ---------------------- 3 files changed, 9 insertions(+), 138 deletions(-) delete mode 100644 test/e2e/framework/grpc_fortune_teller.go diff --git a/images/README.md b/images/README.md index e7e5f71a6..5a845a0dd 100644 --- a/images/README.md +++ b/images/README.md @@ -11,13 +11,12 @@ -Directory | Purpose ------------- | ------------- -custom-error-pages | Example of Custom error pages for the Ingress-Nginx Controller -e2e | Image to run e2e tests -fastcgi-helloserver | FastCGI application for e2e tests -grpc-fortune-teller | grpc server application for the nginx-ingress grpc example -httpbun | A simple HTTP Request & Response Service for e2e tests -httpbin | [Removed] we are no longer maintaining the httpbin image due to project being unmaintained -nginx | NGINX base image using [alpine linux](https://www.alpinelinux.org) -cfssl | Image to run cfssl commands +Directory | Purpose +---------------------- | ------------------------------------------------------------------ +cfssl | Image to run cfssl commands +custom-error-pages | Example of Custom error pages for the Ingress-Nginx Controller +fastcgi-helloserver | FastCGI application for e2e tests +go-grpc-greeter-server | grpc server application for the nginx-ingress grpc example +httpbun | A simple HTTP Request & Response Service for e2e tests +nginx | NGINX base image using [alpine linux](https://www.alpinelinux.org) +test-runner | Image to run e2e tests diff --git a/test/e2e/annotations/grpc.go b/test/e2e/annotations/grpc.go index 2a9c5a983..273189e95 100644 --- a/test/e2e/annotations/grpc.go +++ b/test/e2e/annotations/grpc.go @@ -45,29 +45,6 @@ const ( var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() { f := framework.NewDefaultFramework("grpc", framework.WithHTTPBunEnabled()) - ginkgo.It("should use grpc_pass in the configuration file", func() { - f.NewGRPCFortuneTellerDeployment() - - annotations := map[string]string{ - "nginx.ingress.kubernetes.io/backend-protocol": "GRPC", - } - - ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "fortune-teller", 50051, annotations) - f.EnsureIngress(ing) - - f.WaitForNginxServer(host, - func(server string) bool { - return strings.Contains(server, fmt.Sprintf("server_name %v", host)) - }) - - f.WaitForNginxServer(host, - func(server string) bool { - return strings.Contains(server, "grpc_pass") && - strings.Contains(server, "grpc_set_header") && - !strings.Contains(server, "proxy_pass") - }) - }) - ginkgo.It("should return OK for service with backend protocol GRPC", func() { f.NewGRPCBinDeployment() diff --git a/test/e2e/framework/grpc_fortune_teller.go b/test/e2e/framework/grpc_fortune_teller.go deleted file mode 100644 index a7be46327..000000000 --- a/test/e2e/framework/grpc_fortune_teller.go +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -//nolint:dupl // Ignore dupl errors for similar test case -package framework - -import ( - "github.com/onsi/ginkgo/v2" - "github.com/stretchr/testify/assert" - appsv1 "k8s.io/api/apps/v1" - corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/util/intstr" -) - -// NewGRPCFortuneTellerDeployment creates a new single replica -// deployment of the fortune teller image in a particular namespace -func (f *Framework) NewGRPCFortuneTellerDeployment() { - f.NewNewGRPCFortuneTellerDeploymentWithReplicas(1) -} - -// NewNewGRPCFortuneTellerDeploymentWithReplicas creates a new deployment of the -// fortune teller image in a particular namespace. Number of replicas is configurable -func (f *Framework) NewNewGRPCFortuneTellerDeploymentWithReplicas(replicas int32) { - deployment := &appsv1.Deployment{ - ObjectMeta: metav1.ObjectMeta{ - Name: "fortune-teller", - Namespace: f.Namespace, - }, - Spec: appsv1.DeploymentSpec{ - Replicas: NewInt32(replicas), - Selector: &metav1.LabelSelector{ - MatchLabels: map[string]string{ - "app": "fortune-teller", - }, - }, - Template: corev1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{ - Labels: map[string]string{ - "app": "fortune-teller", - }, - }, - Spec: corev1.PodSpec{ - TerminationGracePeriodSeconds: NewInt64(0), - Containers: []corev1.Container{ - { - Name: "fortune-teller", - Image: "quay.io/kubernetes-ingress-controller/grpc-fortune-teller:0.1", - Env: []corev1.EnvVar{}, - Ports: []corev1.ContainerPort{ - { - Name: "grpc", - ContainerPort: 50051, - }, - }, - }, - }, - }, - }, - }, - } - - d := f.EnsureDeployment(deployment) - - err := waitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, &metav1.ListOptions{ - LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(), - }) - assert.Nil(ginkgo.GinkgoT(), err, "failed to wait for to become ready") - - service := &corev1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Name: "fortune-teller", - Namespace: f.Namespace, - }, - Spec: corev1.ServiceSpec{ - Ports: []corev1.ServicePort{ - { - Name: "grpc", - Port: 50051, - TargetPort: intstr.FromInt(50051), - Protocol: "TCP", - }, - }, - Selector: map[string]string{ - "app": "fortune-teller", - }, - }, - } - - f.EnsureService(service) -}