Test: Remove gRPC Fortune Teller. (#12929)
Co-authored-by: Marco Ebert <marco_ebert@icloud.com>
This commit is contained in:
parent
a7f328dd9e
commit
68e06f67e4
3 changed files with 9 additions and 138 deletions
|
@ -11,13 +11,12 @@
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
Directory | Purpose
|
Directory | Purpose
|
||||||
------------ | -------------
|
---------------------- | ------------------------------------------------------------------
|
||||||
custom-error-pages | Example of Custom error pages for the Ingress-Nginx Controller
|
cfssl | Image to run cfssl commands
|
||||||
e2e | Image to run e2e tests
|
custom-error-pages | Example of Custom error pages for the Ingress-Nginx Controller
|
||||||
fastcgi-helloserver | FastCGI application for e2e tests
|
fastcgi-helloserver | FastCGI application for e2e tests
|
||||||
grpc-fortune-teller | grpc server application for the nginx-ingress grpc example
|
go-grpc-greeter-server | grpc server application for the nginx-ingress grpc example
|
||||||
httpbun | A simple HTTP Request & Response Service for e2e tests
|
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)
|
||||||
nginx | NGINX base image using [alpine linux](https://www.alpinelinux.org)
|
test-runner | Image to run e2e tests
|
||||||
cfssl | Image to run cfssl commands
|
|
||||||
|
|
|
@ -45,29 +45,6 @@ const (
|
||||||
var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
|
var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
|
||||||
f := framework.NewDefaultFramework("grpc", framework.WithHTTPBunEnabled())
|
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() {
|
ginkgo.It("should return OK for service with backend protocol GRPC", func() {
|
||||||
f.NewGRPCBinDeployment()
|
f.NewGRPCBinDeployment()
|
||||||
|
|
||||||
|
|
|
@ -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)
|
|
||||||
}
|
|
Loading…
Reference in a new issue