Merge pull request #4827 from aledbf/update-versions

Migrate ingress definitions from extensions to networking.k8s.io
This commit is contained in:
Kubernetes Prow Robot 2019-12-13 06:00:55 -08:00 committed by GitHub
commit 351ce5394a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
99 changed files with 434 additions and 404 deletions

View file

@ -7,7 +7,7 @@ webhooks:
- name: validate.nginx.ingress.kubernetes.io - name: validate.nginx.ingress.kubernetes.io
rules: rules:
- apiGroups: - apiGroups:
- extensions - networking.k8s.io
apiVersions: apiVersions:
- v1beta1 - v1beta1
operations: operations:
@ -20,6 +20,6 @@ webhooks:
service: service:
namespace: ingress-nginx namespace: ingress-nginx
name: nginx-ingress-webhook name: nginx-ingress-webhook
path: /extensions/v1beta1/ingresses path: /networking.k8s.io/v1beta1/ingresses
caBundle: <certificate.pem | base64> caBundle: <certificate.pem | base64>
--- ---

View file

@ -148,7 +148,7 @@ webhooks:
- name: validate.nginx.ingress.kubernetes.io - name: validate.nginx.ingress.kubernetes.io
rules: rules:
- apiGroups: - apiGroups:
- extensions - networking.k8s.io/v1beta1
apiVersions: apiVersions:
- v1beta1 - v1beta1
operations: operations:
@ -161,7 +161,7 @@ webhooks:
service: service:
namespace: ingress-nginx namespace: ingress-nginx
name: ingress-validation-webhook name: ingress-validation-webhook
path: /extensions/v1beta1/ingress path: /networking.k8s.io/v1beta1/ingress
caBundle: <pem encoded ca cert that signs the server cert used by the webhook> caBundle: <pem encoded ca cert that signs the server cert used by the webhook>
``` ```

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-test name: nginx-test

View file

@ -30,7 +30,7 @@ type: Opaque
```console ```console
echo " echo "
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: ingress-with-auth name: ingress-with-auth

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -2,7 +2,7 @@
### Example 1: ### Example 1:
Use an external service (Basic Auth) located in `https://httpbin.org` Use an external service (Basic Auth) located in `https://httpbin.org`
``` ```
$ kubectl create -f ingress.yaml $ kubectl create -f ingress.yaml
@ -13,7 +13,7 @@ NAME HOSTS ADDRESS PORTS AGE
external-auth external-auth-01.sample.com 172.17.4.99 80 13s external-auth external-auth-01.sample.com 172.17.4.99 80 13s
$ kubectl get ing external-auth -o yaml $ kubectl get ing external-auth -o yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:
@ -18,7 +18,7 @@ spec:
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: oauth2-proxy name: oauth2-proxy

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
labels: labels:

View file

@ -54,7 +54,7 @@ spec:
targetPort: 8080 targetPort: 8080
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-configuration-snippet name: nginx-configuration-snippet

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: demo-auth-service name: demo-auth-service

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: demo-echo-service name: demo-echo-service
@ -43,7 +43,7 @@ spec:
selector: selector:
k8s-app: demo-echo-service k8s-app: demo-echo-service
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: public-demo-echo-service name: public-demo-echo-service
@ -61,7 +61,7 @@ spec:
servicePort: 80 servicePort: 80
path: / path: /
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: secure-demo-echo-service name: secure-demo-echo-service

View file

@ -5,7 +5,7 @@ metadata:
--- ---
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: docker-registry name: docker-registry

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: fortune-teller-app name: fortune-teller-app

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: http-svc name: http-svc

View file

@ -90,9 +90,9 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: status.podIP fieldPath: status.podIP
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: foo-tls name: foo-tls

View file

@ -34,7 +34,7 @@ Create an Ingress rule with a rewrite annotation:
```console ```console
$ echo ' $ echo '
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:
@ -65,7 +65,7 @@ For example, the ingress definition above will result in the following rewrites:
Create an Ingress rule with a app-root annotation: Create an Ingress rule with a app-root annotation:
``` ```
$ echo " $ echo "
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: ingress-nginx name: ingress-nginx

View file

@ -11,7 +11,7 @@ You need a [TLS cert](../PREREQUISITES.md#tls-certificates) and a [test HTTP ser
Create a `values.yaml` file. Create a `values.yaml` file.
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-test name: nginx-test
@ -19,7 +19,7 @@ spec:
tls: tls:
- hosts: - hosts:
- foo.bar.com - foo.bar.com
# This assumes tls-secret exists and the SSL # This assumes tls-secret exists and the SSL
# certificate contains a CN for foo.bar.com # certificate contains a CN for foo.bar.com
secretName: tls-secret secretName: tls-secret
rules: rules:
@ -33,7 +33,7 @@ spec:
servicePort: 80 servicePort: 80
``` ```
The following command instructs the controller to terminate traffic using the provided The following command instructs the controller to terminate traffic using the provided
TLS cert, and forward un-encrypted HTTP traffic to the test HTTP service. TLS cert, and forward un-encrypted HTTP traffic to the test HTTP service.
```console ```console

View file

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-test name: nginx-test
@ -6,7 +6,7 @@ spec:
tls: tls:
- hosts: - hosts:
- foo.bar.com - foo.bar.com
# This assumes tls-secret exists and the SSL # This assumes tls-secret exists and the SSL
# certificate contains a CN for foo.bar.com # certificate contains a CN for foo.bar.com
secretName: tls-secret secretName: tls-secret
rules: rules:

View file

@ -32,7 +32,7 @@ Rules:
/tea tea-svc:80 (<none>) /tea tea-svc:80 (<none>)
/coffee coffee-svc:80 (<none>) /coffee coffee-svc:80 (<none>)
Annotations: Annotations:
kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{},"name":"cafe-ingress","namespace":"default","selfLink":"/apis/networking/v1beta1/namespaces/default/ingresses/cafe-ingress"},"spec":{"rules":[{"host":"cafe.com","http":{"paths":[{"backend":{"serviceName":"tea-svc","servicePort":80},"path":"/tea"},{"backend":{"serviceName":"coffee-svc","servicePort":80},"path":"/coffee"}]}}]},"status":{"loadBalancer":{"ingress":[{"ip":"169.48.142.110"}]}}} kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"networking.k8s.io/v1beta1","kind":"Ingress","metadata":{"annotations":{},"name":"cafe-ingress","namespace":"default","selfLink":"/apis/networking/v1beta1/namespaces/default/ingresses/cafe-ingress"},"spec":{"rules":[{"host":"cafe.com","http":{"paths":[{"backend":{"serviceName":"tea-svc","servicePort":80},"path":"/tea"},{"backend":{"serviceName":"coffee-svc","servicePort":80},"path":"/coffee"}]}}]},"status":{"loadBalancer":{"ingress":[{"ip":"169.48.142.110"}]}}}
Events: Events:
Type Reason Age From Message Type Reason Age From Message

View file

@ -5,7 +5,7 @@ ingress-nginx can be used for many use cases, inside various cloud provider and
First of all follow the instructions to install ingress-nginx. Then imagine that you need to expose 2 HTTP services already installed: `myServiceA`, `myServiceB`. Let's say that you want to expose the first at `myServiceA.foo.org` and the second at `myServiceB.foo.org`. One possible solution is to create two **ingress** resources: First of all follow the instructions to install ingress-nginx. Then imagine that you need to expose 2 HTTP services already installed: `myServiceA`, `myServiceB`. Let's say that you want to expose the first at `myServiceA.foo.org` and the second at `myServiceB.foo.org`. One possible solution is to create two **ingress** resources:
``` ```
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: ingress-myServiceA name: ingress-myServiceA
@ -22,7 +22,7 @@ spec:
serviceName: myServiceA serviceName: myServiceA
servicePort: 80 servicePort: 80
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: ingress-myServiceB name: ingress-myServiceB

View file

@ -60,7 +60,7 @@ data:
--- ---
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -2,8 +2,8 @@
## Regular Expression Support ## Regular Expression Support
!!! important !!! important
Regular expressions and wild cards are not supported in the `spec.rules.host` field. Full hostnames must be used. Regular expressions and wild cards are not supported in the `spec.rules.host` field. Full hostnames must be used.
The ingress controller supports **case insensitive** regular expressions in the `spec.rules.http.paths.path` field. The ingress controller supports **case insensitive** regular expressions in the `spec.rules.http.paths.path` field.
This can be enabled by setting the `nginx.ingress.kubernetes.io/use-regex` annotation to `true` (the default is false). This can be enabled by setting the `nginx.ingress.kubernetes.io/use-regex` annotation to `true` (the default is false).
@ -11,7 +11,7 @@ This can be enabled by setting the `nginx.ingress.kubernetes.io/use-regex` annot
See the [description](./nginx-configuration/annotations.md#use-regex) of the `use-regex` annotation for more details. See the [description](./nginx-configuration/annotations.md#use-regex) of the `use-regex` annotation for more details.
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: test-ingress name: test-ingress
@ -47,7 +47,7 @@ In NGINX, regular expressions follow a **first match** policy. In order to enabl
Let the following two ingress definitions be created: Let the following two ingress definitions be created:
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: test-ingress-1 name: test-ingress-1
@ -67,7 +67,7 @@ spec:
``` ```
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: test-ingress-2 name: test-ingress-2
@ -121,7 +121,7 @@ This case is expected and a result of NGINX's a first match policy for paths tha
Let the following ingress be defined: Let the following ingress be defined:
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: test-ingress-3 name: test-ingress-3

View file

@ -361,7 +361,7 @@ For more information please see [the `server_name` documentation](http://nginx.o
Using the annotation `nginx.ingress.kubernetes.io/server-snippet` it is possible to add custom configuration in the server configuration block. Using the annotation `nginx.ingress.kubernetes.io/server-snippet` it is possible to add custom configuration in the server configuration block.
```yaml ```yaml
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -29,7 +29,7 @@ zipkin-collector-host: zipkin.default.svc.cluster.local
jaeger-collector-host: jaeger-agent.default.svc.cluster.local jaeger-collector-host: jaeger-agent.default.svc.cluster.local
datadog-collector-host: datadog-agent.default.svc.cluster.local datadog-collector-host: datadog-agent.default.svc.cluster.local
``` ```
NOTE: While the option is called `jaeger-collector-host`, you will need to point this to a `jaeger-agent`, and not the `jaeger-collector` component. NOTE: While the option is called `jaeger-collector-host`, you will need to point this to a `jaeger-agent`, and not the `jaeger-collector` component.
Next you will need to deploy a distributed tracing system which uses OpenTracing. Next you will need to deploy a distributed tracing system which uses OpenTracing.
[Zipkin](https://github.com/openzipkin/zipkin) and [Zipkin](https://github.com/openzipkin/zipkin) and
@ -147,7 +147,7 @@ In the Zipkin interface we can see the details:
# Apply the Ingress Resource # Apply the Ingress Resource
$ echo ' $ echo '
apiVersion: extensions/v1beta1 apiVersion: networking.k8s.io/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: echo-ingress name: echo-ingress

View file

@ -18,6 +18,8 @@ set -o errexit
set -o nounset set -o nounset
set -o pipefail set -o pipefail
export GO111MODULE=off
SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/..
CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)}

View file

@ -39,6 +39,7 @@ RUN apt-get update \
&& apt-get install -y \ && apt-get install -y \
bc \ bc \
rpm \ rpm \
parallel \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
ARG K8S_RELEASE ARG K8S_RELEASE

View file

@ -9,9 +9,9 @@ all: docker-build docker-push
docker-build: docker-build:
$(DOCKER) build \ $(DOCKER) build \
--pull \ --pull \
--build-arg K8S_RELEASE=v1.16.3 \ --build-arg K8S_RELEASE=v1.17.0 \
--build-arg ETCD_VERSION=v3.3.15 \ --build-arg ETCD_VERSION=v3.3.15 \
--build-arg KIND_VERSION=v0.6.0 \ --build-arg KIND_VERSION=v0.6.1 \
-t $(IMAGE):$(TAG) . -t $(IMAGE):$(TAG) .
docker-push: docker-push:

View file

@ -39,6 +39,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/envtest" "sigs.k8s.io/controller-runtime/pkg/envtest"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations/class"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -216,7 +217,7 @@ func TestStore(t *testing.T) {
Name: "custom-class", Name: "custom-class",
Namespace: ns, Namespace: ns,
Annotations: map[string]string{ Annotations: map[string]string{
"kubernetes.io/ingress.class": "something", class.IngressKey: "something",
}, },
}, },
Spec: networking.IngressSpec{ Spec: networking.IngressSpec{
@ -331,7 +332,7 @@ func TestStore(t *testing.T) {
Name: "custom-class", Name: "custom-class",
Namespace: ns, Namespace: ns,
Annotations: map[string]string{ Annotations: map[string]string{
"kubernetes.io/ingress.class": "something", class.IngressKey: "something",
}, },
}, },
Spec: networking.IngressSpec{ Spec: networking.IngressSpec{
@ -874,7 +875,7 @@ func TestListIngresses(t *testing.T) {
Name: "test-2", Name: "test-2",
Namespace: "testns", Namespace: "testns",
Annotations: map[string]string{ Annotations: map[string]string{
"kubernetes.io/ingress.class": "something", class.IngressKey: "something",
}, },
CreationTimestamp: metav1.NewTime(time.Now()), CreationTimestamp: metav1.NewTime(time.Now()),
}, },
@ -924,7 +925,7 @@ func TestListIngresses(t *testing.T) {
Name: "test-4", Name: "test-4",
Namespace: "testns", Namespace: "testns",
Annotations: map[string]string{ Annotations: map[string]string{
"kubernetes.io/ingress.class": "nginx", class.IngressKey: "nginx",
}, },
CreationTimestamp: metav1.NewTime(time.Now()), CreationTimestamp: metav1.NewTime(time.Now()),
}, },

View file

@ -278,7 +278,7 @@ func runUpdate(ing *ingress.Ingress, status []apiv1.LoadBalancerIngress,
klog.Warningf("error updating ingress rule: %v", err) klog.Warningf("error updating ingress rule: %v", err)
} }
} else { } else {
ingClient := client.ExtensionsV1beta1().Ingresses(ing.Namespace) ingClient := client.NetworkingV1beta1().Ingresses(ing.Namespace)
currIng, err := ingClient.Get(ing.Name, metav1.GetOptions{}) currIng, err := ingClient.Get(ing.Name, metav1.GetOptions{})
if err != nil { if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("unexpected error searching Ingress %v/%v", ing.Namespace, ing.Name)) return nil, errors.Wrap(err, fmt.Sprintf("unexpected error searching Ingress %v/%v", ing.Namespace, ing.Name))

View file

@ -1,3 +0,0 @@
- op: replace
path: /apiVersion
value: extensions/v1beta1

View file

@ -22,12 +22,6 @@ patchesJson6902:
kind: Service kind: Service
name: ingress-nginx name: ingress-nginx
version: v1 version: v1
- path: deployment-extension-group-patch.yaml
target:
group: apps
kind: Deployment
name: nginx-ingress-controller
version: v1
- path: role.yaml - path: role.yaml
target: target:
group: rbac.authorization.k8s.io group: rbac.authorization.k8s.io

View file

@ -26,7 +26,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
@ -50,7 +50,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID", "nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -76,7 +76,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID", "nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -116,7 +116,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID", "nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID",
} }
ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -142,29 +142,29 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID", "nginx.ingress.kubernetes.io/session-cookie-name": "SERVERID",
} }
f.EnsureIngress(&extensions.Ingress{ f.EnsureIngress(&networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: host, Name: host,
Namespace: f.Namespace, Namespace: f.Namespace,
Annotations: annotations, Annotations: annotations,
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: "/something", Path: "/something",
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },
}, },
{ {
Path: "/somewhereelese", Path: "/somewhereelese",
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },
@ -211,7 +211,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-max-age": "259200", "nginx.ingress.kubernetes.io/session-cookie-max-age": "259200",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -247,7 +247,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/session-cookie-path": "/foo/bar", "nginx.ingress.kubernetes.io/session-cookie-path": "/foo/bar",
} }
ing := framework.NewSingleIngress(host, "/foo/.*", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/foo/.*", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -275,7 +275,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
"nginx.ingress.kubernetes.io/use-regex": "true", "nginx.ingress.kubernetes.io/use-regex": "true",
} }
ing := framework.NewSingleIngress(host, "/foo/.*", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/foo/.*", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -303,10 +303,10 @@ var _ = framework.IngressNginxDescribe("Annotations - Affinity/Sticky Sessions",
annotations := map[string]string{ annotations := map[string]string{
"nginx.ingress.kubernetes.io/affinity": "cookie", "nginx.ingress.kubernetes.io/affinity": "cookie",
} }
ing1 := framework.NewSingleIngress("ingress1", "/foo/bar", host, f.Namespace, framework.EchoService, 80, &annotations) ing1 := framework.NewSingleIngress("ingress1", "/foo/bar", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing1) f.EnsureIngress(ing1)
ing2 := framework.NewSingleIngress("ingress2", "/foo", host, f.Namespace, framework.EchoService, 80, &map[string]string{}) ing2 := framework.NewSingleIngress("ingress2", "/foo", host, f.Namespace, framework.EchoService, 80, nil)
f.EnsureIngress(ing2) f.EnsureIngress(ing2)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -41,7 +41,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Alias", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -74,7 +74,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Alias", func() {
"nginx.ingress.kubernetes.io/server-alias": "bar", "nginx.ingress.kubernetes.io/server-alias": "bar",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -43,7 +43,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Approot", func() {
"nginx.ingress.kubernetes.io/app-root": "/foo", "nginx.ingress.kubernetes.io/app-root": "/foo",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -73,7 +73,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -103,7 +103,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -133,7 +133,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -164,7 +164,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -195,7 +195,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -237,7 +237,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -265,7 +265,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
proxy_set_header My-Custom-Header 42;`, proxy_set_header My-Custom-Header 42;`,
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -282,7 +282,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
proxy_set_header My-Custom-Header 42;`, proxy_set_header My-Custom-Header 42;`,
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -303,7 +303,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"My-Custom-Header": "42", "My-Custom-Header": "42",
}) })
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -321,7 +321,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-cache-duration": "200 202 401 30m", "nginx.ingress.kubernetes.io/auth-cache-duration": "200 202 401 30m",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -353,7 +353,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
"nginx.ingress.kubernetes.io/auth-signin": "http://$host/auth/start", "nginx.ingress.kubernetes.io/auth-signin": "http://$host/auth/start",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, func(server string) bool { f.WaitForNginxServer(host, func(server string) bool {
@ -424,14 +424,14 @@ var _ = framework.IngressNginxDescribe("Annotations - Auth", func() {
for _, host := range []string{thisHost, thatHost} { for _, host := range []string{thisHost, thatHost} {
By("Adding an ingress rule for /foo") By("Adding an ingress rule for /foo")
fooIng := framework.NewSingleIngress(fmt.Sprintf("foo-%s-ing", host), fooPath, host, f.Namespace, framework.EchoService, 80, &annotations) fooIng := framework.NewSingleIngress(fmt.Sprintf("foo-%s-ing", host), fooPath, host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(fooIng) f.EnsureIngress(fooIng)
f.WaitForNginxServer(host, func(server string) bool { f.WaitForNginxServer(host, func(server string) bool {
return Expect(server).Should(ContainSubstring("location /foo")) return Expect(server).Should(ContainSubstring("location /foo"))
}) })
By("Adding an ingress rule for /bar") By("Adding an ingress rule for /bar")
barIng := framework.NewSingleIngress(fmt.Sprintf("bar-%s-ing", host), barPath, host, f.Namespace, framework.EchoService, 80, &annotations) barIng := framework.NewSingleIngress(fmt.Sprintf("bar-%s-ing", host), barPath, host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(barIng) f.EnsureIngress(barIng)
f.WaitForNginxServer(host, func(server string) bool { f.WaitForNginxServer(host, func(server string) bool {
return Expect(server).Should(ContainSubstring("location /bar")) return Expect(server).Should(ContainSubstring("location /bar"))

View file

@ -53,7 +53,7 @@ var _ = framework.IngressNginxDescribe("Annotations - AuthTLS", func() {
"nginx.ingress.kubernetes.io/auth-tls-secret": nameSpace + "/" + host, "nginx.ingress.kubernetes.io/auth-tls-secret": nameSpace + "/" + host,
} }
f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, annotations))
assertSslClientCertificateConfig(f, host, "on", "1") assertSslClientCertificateConfig(f, host, "on", "1")
@ -95,7 +95,7 @@ var _ = framework.IngressNginxDescribe("Annotations - AuthTLS", func() {
"nginx.ingress.kubernetes.io/auth-tls-verify-depth": "2", "nginx.ingress.kubernetes.io/auth-tls-verify-depth": "2",
} }
f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, annotations))
assertSslClientCertificateConfig(f, host, "off", "2") assertSslClientCertificateConfig(f, host, "off", "2")
@ -130,7 +130,7 @@ var _ = framework.IngressNginxDescribe("Annotations - AuthTLS", func() {
"nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream": "true", "nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream": "true",
} }
f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, annotations))
assertSslClientCertificateConfig(f, host, "on", "1") assertSslClientCertificateConfig(f, host, "on", "1")

View file

@ -38,7 +38,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Backendprotocol", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "HTTPS", "nginx.ingress.kubernetes.io/backend-protocol": "HTTPS",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -53,7 +53,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Backendprotocol", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "GRPC", "nginx.ingress.kubernetes.io/backend-protocol": "GRPC",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -68,7 +68,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Backendprotocol", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "GRPCS", "nginx.ingress.kubernetes.io/backend-protocol": "GRPCS",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -83,7 +83,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Backendprotocol", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "FCGI", "nginx.ingress.kubernetes.io/backend-protocol": "FCGI",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -98,7 +98,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Backendprotocol", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "AJP", "nginx.ingress.kubernetes.io/backend-protocol": "AJP",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -50,7 +50,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -65,7 +65,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, &canaryAnnotations) canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -92,7 +92,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
@ -116,7 +116,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -132,7 +132,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -170,7 +170,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -186,7 +186,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -227,14 +227,14 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -271,7 +271,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -287,7 +287,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -296,7 +296,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
"foo": "bar", "foo": "bar",
} }
modIng := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &modAnnotations) modIng := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, modAnnotations)
f.EnsureIngress(modIng) f.EnsureIngress(modIng)
@ -335,7 +335,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -351,7 +351,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -361,7 +361,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
"nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader2", "nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader2",
} }
modCanaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, &modCanaryAnnotations) modCanaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, modCanaryAnnotations)
f.EnsureIngress(modCanaryIng) f.EnsureIngress(modCanaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -398,7 +398,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -414,7 +414,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -464,7 +464,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -481,7 +481,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -544,7 +544,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -562,7 +562,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -586,7 +586,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -602,7 +602,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -652,7 +652,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
host := "foo" host := "foo"
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -668,7 +668,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
canaryIngName := fmt.Sprintf("%v-canary", host) canaryIngName := fmt.Sprintf("%v-canary", host)
canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, canaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService,
80, &canaryAnnotations) 80, canaryAnnotations)
f.EnsureIngress(canaryIng) f.EnsureIngress(canaryIng)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -692,7 +692,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
"nginx.ingress.kubernetes.io/canary-weight": "100", "nginx.ingress.kubernetes.io/canary-weight": "100",
} }
modCanaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, &modCanaryAnnotations) modCanaryIng := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, modCanaryAnnotations)
f.EnsureIngress(modCanaryIng) f.EnsureIngress(modCanaryIng)
@ -719,7 +719,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
"nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader", "nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader",
} }
ing := framework.NewSingleCatchAllIngress(canaryIngName, f.Namespace, canaryService, 80, &annotations) ing := framework.NewSingleCatchAllIngress(canaryIngName, f.Namespace, canaryService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
ing = framework.NewSingleCatchAllIngress(host, f.Namespace, framework.EchoService, 80, nil) ing = framework.NewSingleCatchAllIngress(host, f.Namespace, framework.EchoService, 80, nil)
@ -744,7 +744,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
"nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader", "nginx.ingress.kubernetes.io/canary-by-header": "CanaryByHeader",
} }
ing := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, &annotations) ing := framework.NewSingleIngress(canaryIngName, "/", host, f.Namespace, canaryService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
otherHost := "bar" otherHost := "bar"
@ -769,7 +769,7 @@ var _ = framework.IngressNginxDescribe("Annotations - canary", func() {
} }
paths := []string{"/foo", "/bar"} paths := []string{"/foo", "/bar"}
ing := framework.NewSingleIngressWithMultiplePaths(canaryIngName, paths, host, f.Namespace, "httpy-svc-canary", 80, &annotations) ing := framework.NewSingleIngressWithMultiplePaths(canaryIngName, paths, host, f.Namespace, "httpy-svc-canary", 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
ing = framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, nil) ing = framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, nil)

View file

@ -38,7 +38,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1000", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1000",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -53,7 +53,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1K", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1K",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -68,7 +68,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1k", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1k",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -83,7 +83,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1m", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1m",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -98,7 +98,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1M", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1M",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -113,7 +113,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Client-Body-Buffer-Size",
"nginx.ingress.kubernetes.io/client-body-buffer-size": "1b", "nginx.ingress.kubernetes.io/client-body-buffer-size": "1b",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -43,7 +43,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Connection", func() {
"nginx.ingress.kubernetes.io/connection-proxy-header": "keep-alive", "nginx.ingress.kubernetes.io/connection-proxy-header": "keep-alive",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/enable-cors": "true", "nginx.ingress.kubernetes.io/enable-cors": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -86,7 +86,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/cors-allow-methods": "POST, GET", "nginx.ingress.kubernetes.io/cors-allow-methods": "POST, GET",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -102,7 +102,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/cors-max-age": "200", "nginx.ingress.kubernetes.io/cors-max-age": "200",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -118,7 +118,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/cors-allow-credentials": "false", "nginx.ingress.kubernetes.io/cors-allow-credentials": "false",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -134,7 +134,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/cors-allow-origin": "https://origin.cors.com:8080", "nginx.ingress.kubernetes.io/cors-allow-origin": "https://origin.cors.com:8080",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -150,7 +150,7 @@ var _ = framework.IngressNginxDescribe("Annotations - CORS", func() {
"nginx.ingress.kubernetes.io/cors-allow-headers": "DNT, User-Agent", "nginx.ingress.kubernetes.io/cors-allow-headers": "DNT, User-Agent",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -22,7 +22,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
) )
@ -50,7 +50,7 @@ var _ = framework.IngressNginxDescribe("Annotations - custom-http-errors", func(
"nginx.ingress.kubernetes.io/custom-http-errors": strings.Join(errorCodes, ","), "nginx.ingress.kubernetes.io/custom-http-errors": strings.Join(errorCodes, ","),
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
var serverConfig string var serverConfig string
@ -73,7 +73,7 @@ var _ = framework.IngressNginxDescribe("Annotations - custom-http-errors", func(
} }
By("updating configuration when only custom-http-error value changes") By("updating configuration when only custom-http-error value changes")
err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *extensions.Ingress) error { err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *networking.Ingress) error {
ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/custom-http-errors"] = "503" ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/custom-http-errors"] = "503"
return nil return nil
}) })
@ -91,7 +91,7 @@ var _ = framework.IngressNginxDescribe("Annotations - custom-http-errors", func(
By("ignoring duplicate values (503 in this case) per server") By("ignoring duplicate values (503 in this case) per server")
annotations["nginx.ingress.kubernetes.io/custom-http-errors"] = "404, 503" annotations["nginx.ingress.kubernetes.io/custom-http-errors"] = "404, 503"
ing = framework.NewSingleIngress(fmt.Sprintf("%s-else", host), "/else", host, f.Namespace, framework.EchoService, 80, &annotations) ing = framework.NewSingleIngress(fmt.Sprintf("%s-else", host), "/else", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, func(sc string) bool { f.WaitForNginxServer(host, func(sc string) bool {
serverConfig = sc serverConfig = sc
@ -104,7 +104,7 @@ var _ = framework.IngressNginxDescribe("Annotations - custom-http-errors", func(
customDefaultBackend := "from-annotation" customDefaultBackend := "from-annotation"
f.NewEchoDeploymentWithNameAndReplicas(customDefaultBackend, 1) f.NewEchoDeploymentWithNameAndReplicas(customDefaultBackend, 1)
err = framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *extensions.Ingress) error { err = framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *networking.Ingress) error {
ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/default-backend"] = customDefaultBackend ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/default-backend"] = customDefaultBackend
return nil return nil
}) })

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - custom default-backend", f
"nginx.ingress.kubernetes.io/default-backend": framework.EchoService, "nginx.ingress.kubernetes.io/default-backend": framework.EchoService,
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "invalid", 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "invalid", 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
time.Sleep(5 * time.Second) time.Sleep(5 * time.Second)

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - FastCGI", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "FCGI", "nginx.ingress.kubernetes.io/backend-protocol": "FCGI",
} }
ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, &annotations) ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -60,7 +60,7 @@ var _ = framework.IngressNginxDescribe("Annotations - FastCGI", func() {
"nginx.ingress.kubernetes.io/fastcgi-index": "index.php", "nginx.ingress.kubernetes.io/fastcgi-index": "index.php",
} }
ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, &annotations) ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -92,7 +92,7 @@ var _ = framework.IngressNginxDescribe("Annotations - FastCGI", func() {
"nginx.ingress.kubernetes.io/fastcgi-params-configmap": "fastcgi-configmap", "nginx.ingress.kubernetes.io/fastcgi-params-configmap": "fastcgi-configmap",
} }
ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, &annotations) ing := framework.NewSingleIngress(host, "/hello", host, f.Namespace, "fastcgi-helloserver", 9000, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -110,7 +110,7 @@ var _ = framework.IngressNginxDescribe("Annotations - FastCGI", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "FCGI", "nginx.ingress.kubernetes.io/backend-protocol": "FCGI",
} }
ing := framework.NewSingleIngress(host, path, host, f.Namespace, "fastcgi-helloserver", 9000, &annotations) ing := framework.NewSingleIngress(host, path, host, f.Namespace, "fastcgi-helloserver", 9000, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -43,7 +43,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Forcesslredirect", func()
"nginx.ingress.kubernetes.io/force-ssl-redirect": "true", "nginx.ingress.kubernetes.io/force-ssl-redirect": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
resp, _, errs := gorequest.New(). resp, _, errs := gorequest.New().

View file

@ -47,7 +47,7 @@ var _ = framework.IngressNginxDescribe("Annotations - from-to-www-redirect", fun
"nginx.ingress.kubernetes.io/from-to-www-redirect": "true", "nginx.ingress.kubernetes.io/from-to-www-redirect": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxConfiguration( f.WaitForNginxConfiguration(
@ -81,7 +81,7 @@ var _ = framework.IngressNginxDescribe("Annotations - from-to-www-redirect", fun
"nginx.ingress.kubernetes.io/configuration-snippet": "more_set_headers \"ExpectedHost: $http_host\";", "nginx.ingress.kubernetes.io/configuration-snippet": "more_set_headers \"ExpectedHost: $http_host\";",
} }
ing := framework.NewSingleIngressWithTLS(fromHost, "/", fromHost, []string{fromHost, toHost}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(fromHost, "/", fromHost, []string{fromHost, toHost}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
_, err := framework.CreateIngressTLSSecret(f.KubeClientSet, _, err := framework.CreateIngressTLSSecret(f.KubeClientSet,

View file

@ -48,7 +48,7 @@ var _ = framework.IngressNginxDescribe("Annotations - GRPC", func() {
"nginx.ingress.kubernetes.io/backend-protocol": "GRPC", "nginx.ingress.kubernetes.io/backend-protocol": "GRPC",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "fortune-teller", 50051, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "fortune-teller", 50051, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -87,7 +87,7 @@ var _ = framework.IngressNginxDescribe("Annotations - GRPC", func() {
} }
f.EnsureService(svc) f.EnsureService(svc)
annotations := &map[string]string{ annotations := map[string]string{
"nginx.ingress.kubernetes.io/backend-protocol": "GRPC", "nginx.ingress.kubernetes.io/backend-protocol": "GRPC",
} }
@ -143,7 +143,7 @@ var _ = framework.IngressNginxDescribe("Annotations - GRPC", func() {
} }
f.EnsureService(svc) f.EnsureService(svc)
annotations := &map[string]string{ annotations := map[string]string{
"nginx.ingress.kubernetes.io/backend-protocol": "GRPCS", "nginx.ingress.kubernetes.io/backend-protocol": "GRPCS",
"nginx.ingress.kubernetes.io/configuration-snippet": ` "nginx.ingress.kubernetes.io/configuration-snippet": `
# without this setting NGINX sends echo instead # without this setting NGINX sends echo instead

View file

@ -38,7 +38,7 @@ var _ = framework.IngressNginxDescribe("Annotations - HTTP2 Push Preload", func(
"nginx.ingress.kubernetes.io/http2-push-preload": "true", "nginx.ingress.kubernetes.io/http2-push-preload": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -123,7 +123,7 @@ func createInfluxDBService(f *framework.Framework) *corev1.Service {
} }
func createInfluxDBIngress(f *framework.Framework, host, service string, port int, annotations map[string]string) { func createInfluxDBIngress(f *framework.Framework, host, service string, port int, annotations map[string]string) {
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, service, port, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, service, port, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - IPWhiteList", func() {
"nginx.ingress.kubernetes.io/whitelist-source-range": "18.0.0.0/8, 56.0.0.0/8", "nginx.ingress.kubernetes.io/whitelist-source-range": "18.0.0.0/8, 56.0.0.0/8",
} }
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -39,7 +39,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Log", func() {
"nginx.ingress.kubernetes.io/enable-access-log": "false", "nginx.ingress.kubernetes.io/enable-access-log": "false",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -54,7 +54,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Log", func() {
"nginx.ingress.kubernetes.io/enable-rewrite-log": "true", "nginx.ingress.kubernetes.io/enable-rewrite-log": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -40,7 +40,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Mirror", func() {
"nginx.ingress.kubernetes.io/mirror-uri": "/mirror", "nginx.ingress.kubernetes.io/mirror-uri": "/mirror",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -55,7 +55,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Mirror", func() {
"nginx.ingress.kubernetes.io/mirror-request-body": "off", "nginx.ingress.kubernetes.io/mirror-request-body": "off",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -41,7 +41,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ModSecurityLocation", func
"nginx.ingress.kubernetes.io/enable-modsecurity": "true", "nginx.ingress.kubernetes.io/enable-modsecurity": "true",
} }
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -61,7 +61,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ModSecurityLocation", func
"nginx.ingress.kubernetes.io/modsecurity-transaction-id": "modsecurity-$request_id", "nginx.ingress.kubernetes.io/modsecurity-transaction-id": "modsecurity-$request_id",
} }
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -80,7 +80,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ModSecurityLocation", func
"nginx.ingress.kubernetes.io/enable-modsecurity": "false", "nginx.ingress.kubernetes.io/enable-modsecurity": "false",
} }
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -98,7 +98,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ModSecurityLocation", func
"nginx.ingress.kubernetes.io/modsecurity-snippet": "SecRuleEngine On", "nginx.ingress.kubernetes.io/modsecurity-snippet": "SecRuleEngine On",
} }
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com", "nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -57,7 +57,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com", "nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -72,7 +72,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com", "nginx.ingress.kubernetes.io/proxy-redirect-to": "goodbye.com",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -86,7 +86,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-body-size": "8m", "nginx.ingress.kubernetes.io/proxy-body-size": "8m",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -100,7 +100,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-body-size": "15r", "nginx.ingress.kubernetes.io/proxy-body-size": "15r",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -116,7 +116,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-read-timeout": "20", "nginx.ingress.kubernetes.io/proxy-read-timeout": "20",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -134,7 +134,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-read-timeout": "20k", "nginx.ingress.kubernetes.io/proxy-read-timeout": "20k",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -152,7 +152,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-buffer-size": "8k", "nginx.ingress.kubernetes.io/proxy-buffer-size": "8k",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -169,7 +169,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-request-buffering": "off", "nginx.ingress.kubernetes.io/proxy-request-buffering": "off",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -185,7 +185,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-next-upstream-tries": "5", "nginx.ingress.kubernetes.io/proxy-next-upstream-tries": "5",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -198,7 +198,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
It("should build proxy next upstream using configmap values", func() { It("should build proxy next upstream using configmap values", func() {
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.SetNginxConfigMapData(map[string]string{ f.SetNginxConfigMapData(map[string]string{
@ -221,7 +221,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-cookie-path": "/one/ /", "nginx.ingress.kubernetes.io/proxy-cookie-path": "/one/ /",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -236,7 +236,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
"nginx.ingress.kubernetes.io/proxy-http-version": "1.0", "nginx.ingress.kubernetes.io/proxy-http-version": "1.0",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -44,7 +44,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ProxySSL", func() {
_, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace) _, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
assertProxySSL(f, host, "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "off", 1) assertProxySSL(f, host, "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "off", 1)
@ -61,7 +61,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ProxySSL", func() {
_, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace) _, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
assertProxySSL(f, host, "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "on", 2) assertProxySSL(f, host, "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "on", 2)
@ -77,7 +77,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ProxySSL", func() {
_, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace) _, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
assertProxySSL(f, host, "HIGH:!AES", "TLSv1 TLSv1.1 TLSv1.2", "off", 1) assertProxySSL(f, host, "HIGH:!AES", "TLSv1 TLSv1.1 TLSv1.2", "off", 1)
@ -93,7 +93,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ProxySSL", func() {
_, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace) _, err := framework.CreateIngressMASecret(f.KubeClientSet, host, host, f.Namespace)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
assertProxySSL(f, host, "DEFAULT", "TLSv1.2 TLSv1.3", "off", 1) assertProxySSL(f, host, "DEFAULT", "TLSv1.2 TLSv1.3", "off", 1)

View file

@ -52,7 +52,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Redirect", func() {
annotations := map[string]string{"nginx.ingress.kubernetes.io/permanent-redirect": redirectURL} annotations := map[string]string{"nginx.ingress.kubernetes.io/permanent-redirect": redirectURL}
ing := framework.NewSingleIngress(host, redirectPath, host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, redirectPath, host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -88,7 +88,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Redirect", func() {
"nginx.ingress.kubernetes.io/permanent-redirect-code": strconv.Itoa(redirectCode), "nginx.ingress.kubernetes.io/permanent-redirect-code": strconv.Itoa(redirectCode),
} }
ing := framework.NewSingleIngress(host, redirectPath, host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, redirectPath, host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -48,7 +48,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
"nginx.ingress.kubernetes.io/enable-rewrite-log": "true", "nginx.ingress.kubernetes.io/enable-rewrite-log": "true",
} }
ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -74,7 +74,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
host := "rewrite.bar.com" host := "rewrite.bar.com"
By("creating a regular ingress definition") By("creating a regular ingress definition")
ing := framework.NewSingleIngress("kube-lego", "/.well-known/acme/challenge", host, f.Namespace, framework.EchoService, 80, &map[string]string{}) ing := framework.NewSingleIngress("kube-lego", "/.well-known/acme/challenge", host, f.Namespace, framework.EchoService, 80, nil)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -96,7 +96,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
annotations := map[string]string{ annotations := map[string]string{
"nginx.ingress.kubernetes.io/rewrite-target": "/new/backend", "nginx.ingress.kubernetes.io/rewrite-target": "/new/backend",
} }
rewriteIng := framework.NewSingleIngress("rewrite-index", "/", host, f.Namespace, framework.EchoService, 80, &annotations) rewriteIng := framework.NewSingleIngress("rewrite-index", "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(rewriteIng) f.EnsureIngress(rewriteIng)
@ -119,7 +119,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
host := "rewrite.bar.com" host := "rewrite.bar.com"
By("creating a regular ingress definition") By("creating a regular ingress definition")
ing := framework.NewSingleIngress("foo", "/foo", host, f.Namespace, framework.EchoService, 80, &map[string]string{}) ing := framework.NewSingleIngress("foo", "/foo", host, f.Namespace, framework.EchoService, 80, nil)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -132,7 +132,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
"nginx.ingress.kubernetes.io/use-regex": "true", "nginx.ingress.kubernetes.io/use-regex": "true",
"nginx.ingress.kubernetes.io/rewrite-target": "/new/backend", "nginx.ingress.kubernetes.io/rewrite-target": "/new/backend",
} }
ing = framework.NewSingleIngress("regex", "/foo.+", host, f.Namespace, framework.EchoService, 80, &annotations) ing = framework.NewSingleIngress("regex", "/foo.+", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -165,7 +165,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
host := "rewrite.bar.com" host := "rewrite.bar.com"
By("creating a regular ingress definition") By("creating a regular ingress definition")
ing := framework.NewSingleIngress("foo", "/foo/bar/bar", host, f.Namespace, framework.EchoService, 80, &map[string]string{}) ing := framework.NewSingleIngress("foo", "/foo/bar/bar", host, f.Namespace, framework.EchoService, 80, nil)
f.EnsureIngress(ing) f.EnsureIngress(ing)
By(`creating an ingress definition with the use-regex annotation`) By(`creating an ingress definition with the use-regex annotation`)
@ -173,7 +173,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
"nginx.ingress.kubernetes.io/use-regex": "true", "nginx.ingress.kubernetes.io/use-regex": "true",
"nginx.ingress.kubernetes.io/rewrite-target": "/new/backend", "nginx.ingress.kubernetes.io/rewrite-target": "/new/backend",
} }
ing = framework.NewSingleIngress("regex", "/foo/bar/[a-z]{3}", host, f.Namespace, framework.EchoService, 80, &annotations) ing = framework.NewSingleIngress("regex", "/foo/bar/[a-z]{3}", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
@ -200,7 +200,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Rewrite", func() {
"nginx.ingress.kubernetes.io/use-regex": "true", "nginx.ingress.kubernetes.io/use-regex": "true",
"nginx.ingress.kubernetes.io/rewrite-target": "/new/backend/$1", "nginx.ingress.kubernetes.io/rewrite-target": "/new/backend/$1",
} }
ing := framework.NewSingleIngress("regex", "/foo/bar/(.+)", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress("regex", "/foo/bar/(.+)", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -25,7 +25,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
) )
@ -58,11 +58,11 @@ var _ = framework.IngressNginxDescribe("Annotations - SATISFY", func() {
annotationKey: "all", annotationKey: "all",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &initAnnotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, initAnnotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
for key, result := range results { for key, result := range results {
err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *extensions.Ingress) error { err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *networking.Ingress) error {
ingress.ObjectMeta.Annotations[annotationKey] = annotations[key] ingress.ObjectMeta.Annotations[annotationKey] = annotations[key]
return nil return nil
}) })
@ -116,7 +116,7 @@ var _ = framework.IngressNginxDescribe("Annotations - SATISFY", func() {
"nginx.ingress.kubernetes.io/satisfy": "any", "nginx.ingress.kubernetes.io/satisfy": "any",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, func(server string) bool { f.WaitForNginxServer(host, func(server string) bool {

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - ServerSnippet", func() {
more_set_headers "Content-Type: $content_type";`, more_set_headers "Content-Type: $content_type";`,
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -39,7 +39,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Configurationsnippet", fun
more_set_headers "Request-Id: $req_id";`, more_set_headers "Request-Id: $req_id";`,
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -39,7 +39,7 @@ var _ = framework.IngressNginxDescribe("Annotations - SSL CIPHERS", func() {
"nginx.ingress.kubernetes.io/ssl-ciphers": "ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP", "nginx.ingress.kubernetes.io/ssl-ciphers": "ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP",
} }
ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/something", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -30,7 +30,7 @@ import (
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
) )
func startIngress(f *framework.Framework, annotations *map[string]string) map[string]bool { func startIngress(f *framework.Framework, annotations map[string]string) map[string]bool {
host := "upstream-hash-by.foo.com" host := "upstream-hash-by.foo.com"
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
@ -87,7 +87,7 @@ var _ = framework.IngressNginxDescribe("Annotations - UpstreamHashBy", func() {
"nginx.ingress.kubernetes.io/upstream-hash-by": "$request_uri", "nginx.ingress.kubernetes.io/upstream-hash-by": "$request_uri",
} }
podMap := startIngress(f, &annotations) podMap := startIngress(f, annotations)
Expect(len(podMap)).Should(Equal(1)) Expect(len(podMap)).Should(Equal(1))
}) })
@ -99,7 +99,7 @@ var _ = framework.IngressNginxDescribe("Annotations - UpstreamHashBy", func() {
"nginx.ingress.kubernetes.io/upstream-hash-by-subset-size": "3", "nginx.ingress.kubernetes.io/upstream-hash-by-subset-size": "3",
} }
podMap := startIngress(f, &annotations) podMap := startIngress(f, annotations)
Expect(len(podMap)).Should(Equal(3)) Expect(len(podMap)).Should(Equal(3))
}) })

View file

@ -38,7 +38,7 @@ var _ = framework.IngressNginxDescribe("Annotations - Upstreamvhost", func() {
"nginx.ingress.kubernetes.io/upstream-vhost": "upstreamvhost.bar.com", "nginx.ingress.kubernetes.io/upstream-vhost": "upstreamvhost.bar.com",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Annotations - X-Forwarded-Prefix", func(
"nginx.ingress.kubernetes.io/rewrite-target": "/foo", "nginx.ingress.kubernetes.io/rewrite-target": "/foo",
} }
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations))
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {
return Expect(server).Should(ContainSubstring("proxy_set_header X-Forwarded-Prefix \"/test/value\";")) return Expect(server).Should(ContainSubstring("proxy_set_header X-Forwarded-Prefix \"/test/value\";"))
@ -66,7 +66,7 @@ var _ = framework.IngressNginxDescribe("Annotations - X-Forwarded-Prefix", func(
"nginx.ingress.kubernetes.io/rewrite-target": "/foo", "nginx.ingress.kubernetes.io/rewrite-target": "/foo",
} }
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations))
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {
return Expect(server).Should(And(ContainSubstring(host), Not(ContainSubstring("proxy_set_header X-Forwarded-Prefix")))) return Expect(server).Should(And(ContainSubstring(host), Not(ContainSubstring("proxy_set_header X-Forwarded-Prefix"))))

View file

@ -40,7 +40,7 @@ var _ = framework.IngressNginxDescribe("Debug Tool", func() {
It("should list the backend servers", func() { It("should list the backend servers", func() {
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxConfiguration(func(cfg string) bool { f.WaitForNginxConfiguration(func(cfg string) bool {
@ -60,7 +60,7 @@ var _ = framework.IngressNginxDescribe("Debug Tool", func() {
It("should get information for a specific backend server", func() { It("should get information for a specific backend server", func() {
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxConfiguration(func(cfg string) bool { f.WaitForNginxConfiguration(func(cfg string) bool {
@ -89,7 +89,7 @@ var _ = framework.IngressNginxDescribe("Debug Tool", func() {
It("should produce valid JSON for /dbg general", func() { It("should produce valid JSON for /dbg general", func() {
annotations := map[string]string{} annotations := map[string]string{}
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
cmd := "/dbg general" cmd := "/dbg general"

View file

@ -24,7 +24,7 @@ import (
"strings" "strings"
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -46,18 +46,18 @@ var _ = framework.IngressNginxDescribe("Default backend with hosts", func() {
"nginx.ingress.kubernetes.io/proxy-buffer-size": "8k", "nginx.ingress.kubernetes.io/proxy-buffer-size": "8k",
} }
ing := &extensions.Ingress{ ing := &networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "default-backend-annotations", Name: "default-backend-annotations",
Namespace: f.Namespace, Namespace: f.Namespace,
Annotations: annotations, Annotations: annotations,
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Backend: &extensions.IngressBackend{ Backend: &networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
}, },

View file

@ -187,8 +187,7 @@ Request Body:
}, },
) )
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred(), "failed to create a deployment")
Expect(d).NotTo(BeNil(), "expected a deployment but none returned") Expect(d).NotTo(BeNil(), "expected a deployment but none returned")
service := &corev1.Service{ service := &corev1.Service{
@ -273,8 +272,7 @@ server {
}, },
) )
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred(), "failed to create a deployment")
Expect(d).NotTo(BeNil(), "expected a deployment but none returned") Expect(d).NotTo(BeNil(), "expected a deployment but none returned")
service := &corev1.Service{ service := &corev1.Service{
@ -377,8 +375,7 @@ func (f *Framework) NewHttpbinDeployment() {
func (f *Framework) NewDeployment(name, image string, port int32, replicas int32) { func (f *Framework) NewDeployment(name, image string, port int32, replicas int32) {
deployment := newDeployment(name, f.Namespace, image, port, replicas, nil, nil, nil) deployment := newDeployment(name, f.Namespace, image, port, replicas, nil, nil, nil)
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred(), "failed to create a deployment")
Expect(d).NotTo(BeNil(), "expected a deployment but none returned") Expect(d).NotTo(BeNil(), "expected a deployment but none returned")
service := &corev1.Service{ service := &corev1.Service{
@ -404,7 +401,7 @@ func (f *Framework) NewDeployment(name, image string, port int32, replicas int32
s := f.EnsureService(service) s := f.EnsureService(service)
Expect(s).NotTo(BeNil(), "expected a service but none returned") Expect(s).NotTo(BeNil(), "expected a service but none returned")
err = WaitForEndpoints(f.KubeClientSet, DefaultTimeout, name, f.Namespace, int(replicas)) err := WaitForEndpoints(f.KubeClientSet, DefaultTimeout, name, f.Namespace, int(replicas))
Expect(err).NotTo(HaveOccurred(), "failed to wait for endpoints to become ready") Expect(err).NotTo(HaveOccurred(), "failed to wait for endpoints to become ready")
} }
@ -427,7 +424,6 @@ func (f *Framework) ScaleDeploymentToZero(name string) {
d.Spec.Replicas = NewInt32(0) d.Spec.Replicas = NewInt32(0)
d, err = f.EnsureDeployment(d) d = f.EnsureDeployment(d)
Expect(err).NotTo(HaveOccurred(), "waiting deployment scale to 0")
Expect(d).NotTo(BeNil(), "expected a deployment but none returned") Expect(d).NotTo(BeNil(), "expected a deployment but none returned")
} }

View file

@ -73,11 +73,10 @@ func (f *Framework) NewNewFastCGIHelloServerDeploymentWithReplicas(replicas int3
}, },
} }
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred())
Expect(d).NotTo(BeNil(), "expected a fastcgi-helloserver deployment") Expect(d).NotTo(BeNil(), "expected a fastcgi-helloserver deployment")
err = WaitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, metav1.ListOptions{ err := WaitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, metav1.ListOptions{
LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(), LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(),
}) })
Expect(err).NotTo(HaveOccurred(), "failed to wait for to become ready") Expect(err).NotTo(HaveOccurred(), "failed to wait for to become ready")

View file

@ -18,9 +18,10 @@ import (
"strings" "strings"
"time" "time"
"github.com/pkg/errors"
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
apiextcs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" apiextcs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/fields"
@ -28,8 +29,6 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
"github.com/pkg/errors"
"k8s.io/klog" "k8s.io/klog"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
@ -393,8 +392,8 @@ func UpdateDeployment(kubeClientSet kubernetes.Interface, namespace string, name
} }
// UpdateIngress runs the given updateFunc on the ingress // UpdateIngress runs the given updateFunc on the ingress
func UpdateIngress(kubeClientSet kubernetes.Interface, namespace string, name string, updateFunc func(d *extensions.Ingress) error) error { func UpdateIngress(kubeClientSet kubernetes.Interface, namespace string, name string, updateFunc func(d *networking.Ingress) error) error {
ingress, err := kubeClientSet.ExtensionsV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{}) ingress, err := kubeClientSet.NetworkingV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{})
if err != nil { if err != nil {
return err return err
} }
@ -403,37 +402,37 @@ func UpdateIngress(kubeClientSet kubernetes.Interface, namespace string, name st
return err return err
} }
_, err = kubeClientSet.ExtensionsV1beta1().Ingresses(namespace).Update(ingress) _, err = kubeClientSet.NetworkingV1beta1().Ingresses(namespace).Update(ingress)
return err return err
} }
// NewSingleIngressWithTLS creates a simple ingress rule with TLS spec included // NewSingleIngressWithTLS creates a simple ingress rule with TLS spec included
func NewSingleIngressWithTLS(name, path, host string, tlsHosts []string, ns, service string, port int, annotations *map[string]string) *extensions.Ingress { func NewSingleIngressWithTLS(name, path, host string, tlsHosts []string, ns, service string, port int, annotations map[string]string) *networking.Ingress {
return newSingleIngressWithRules(name, path, host, ns, service, port, annotations, tlsHosts) return newSingleIngressWithRules(name, path, host, ns, service, port, annotations, tlsHosts)
} }
// NewSingleIngress creates a simple ingress rule // NewSingleIngress creates a simple ingress rule
func NewSingleIngress(name, path, host, ns, service string, port int, annotations *map[string]string) *extensions.Ingress { func NewSingleIngress(name, path, host, ns, service string, port int, annotations map[string]string) *networking.Ingress {
return newSingleIngressWithRules(name, path, host, ns, service, port, annotations, nil) return newSingleIngressWithRules(name, path, host, ns, service, port, annotations, nil)
} }
// NewSingleIngressWithMultiplePaths creates a simple ingress rule with multiple paths // NewSingleIngressWithMultiplePaths creates a simple ingress rule with multiple paths
func NewSingleIngressWithMultiplePaths(name string, paths []string, host, ns, service string, port int, annotations *map[string]string) *extensions.Ingress { func NewSingleIngressWithMultiplePaths(name string, paths []string, host, ns, service string, port int, annotations map[string]string) *networking.Ingress {
spec := extensions.IngressSpec{ spec := networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{}, HTTP: &networking.HTTPIngressRuleValue{},
}, },
}, },
}, },
} }
for _, path := range paths { for _, path := range paths {
spec.Rules[0].IngressRuleValue.HTTP.Paths = append(spec.Rules[0].IngressRuleValue.HTTP.Paths, extensions.HTTPIngressPath{ spec.Rules[0].IngressRuleValue.HTTP.Paths = append(spec.Rules[0].IngressRuleValue.HTTP.Paths, networking.HTTPIngressPath{
Path: path, Path: path,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: service, ServiceName: service,
ServicePort: intstr.FromInt(port), ServicePort: intstr.FromInt(port),
}, },
@ -443,18 +442,18 @@ func NewSingleIngressWithMultiplePaths(name string, paths []string, host, ns, se
return newSingleIngress(name, ns, annotations, spec) return newSingleIngress(name, ns, annotations, spec)
} }
func newSingleIngressWithRules(name, path, host, ns, service string, port int, annotations *map[string]string, tlsHosts []string) *extensions.Ingress { func newSingleIngressWithRules(name, path, host, ns, service string, port int, annotations map[string]string, tlsHosts []string) *networking.Ingress {
spec := extensions.IngressSpec{ spec := networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: path, Path: path,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: service, ServiceName: service,
ServicePort: intstr.FromInt(port), ServicePort: intstr.FromInt(port),
}, },
@ -467,7 +466,7 @@ func newSingleIngressWithRules(name, path, host, ns, service string, port int, a
} }
if len(tlsHosts) > 0 { if len(tlsHosts) > 0 {
spec.TLS = []extensions.IngressTLS{ spec.TLS = []networking.IngressTLS{
{ {
Hosts: tlsHosts, Hosts: tlsHosts,
SecretName: host, SecretName: host,
@ -479,21 +478,21 @@ func newSingleIngressWithRules(name, path, host, ns, service string, port int, a
} }
// NewSingleIngressWithBackendAndRules creates an ingress with both a default backend and a rule // NewSingleIngressWithBackendAndRules creates an ingress with both a default backend and a rule
func NewSingleIngressWithBackendAndRules(name, path, host, ns, defaultService string, defaultPort int, service string, port int, annotations *map[string]string) *extensions.Ingress { func NewSingleIngressWithBackendAndRules(name, path, host, ns, defaultService string, defaultPort int, service string, port int, annotations map[string]string) *networking.Ingress {
spec := extensions.IngressSpec{ spec := networking.IngressSpec{
Backend: &extensions.IngressBackend{ Backend: &networking.IngressBackend{
ServiceName: defaultService, ServiceName: defaultService,
ServicePort: intstr.FromInt(defaultPort), ServicePort: intstr.FromInt(defaultPort),
}, },
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: path, Path: path,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: service, ServiceName: service,
ServicePort: intstr.FromInt(port), ServicePort: intstr.FromInt(port),
}, },
@ -509,9 +508,9 @@ func NewSingleIngressWithBackendAndRules(name, path, host, ns, defaultService st
} }
// NewSingleCatchAllIngress creates a simple ingress with a catch-all backend // NewSingleCatchAllIngress creates a simple ingress with a catch-all backend
func NewSingleCatchAllIngress(name, ns, service string, port int, annotations *map[string]string) *extensions.Ingress { func NewSingleCatchAllIngress(name, ns, service string, port int, annotations map[string]string) *networking.Ingress {
spec := extensions.IngressSpec{ spec := networking.IngressSpec{
Backend: &extensions.IngressBackend{ Backend: &networking.IngressBackend{
ServiceName: service, ServiceName: service,
ServicePort: intstr.FromInt(port), ServicePort: intstr.FromInt(port),
}, },
@ -519,19 +518,19 @@ func NewSingleCatchAllIngress(name, ns, service string, port int, annotations *m
return newSingleIngress(name, ns, annotations, spec) return newSingleIngress(name, ns, annotations, spec)
} }
func newSingleIngress(name, ns string, annotations *map[string]string, spec extensions.IngressSpec) *extensions.Ingress { func newSingleIngress(name, ns string, annotations map[string]string, spec networking.IngressSpec) *networking.Ingress {
if annotations == nil { if annotations == nil {
annotations = &map[string]string{} annotations = make(map[string]string)
} }
ing := &extensions.Ingress{ ing := &networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: name, Name: name,
Namespace: ns, Namespace: ns,
Annotations: *annotations,
}, },
Spec: spec, Spec: spec,
} }
ing.SetAnnotations(annotations)
return ing return ing
} }

View file

@ -73,11 +73,10 @@ func (f *Framework) NewNewGRPCFortuneTellerDeploymentWithReplicas(replicas int32
}, },
} }
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred())
Expect(d).NotTo(BeNil(), "expected a fortune-teller deployment") Expect(d).NotTo(BeNil(), "expected a fortune-teller deployment")
err = WaitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, metav1.ListOptions{ err := WaitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, metav1.ListOptions{
LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(), LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(),
}) })
Expect(err).NotTo(HaveOccurred(), "failed to wait for to become ready") Expect(err).NotTo(HaveOccurred(), "failed to wait for to become ready")

View file

@ -135,9 +135,7 @@ func (f *Framework) NewInfluxDBDeployment() {
}, },
} }
d, err := f.EnsureDeployment(deployment) d := f.EnsureDeployment(deployment)
Expect(err).NotTo(HaveOccurred(), "failed to create an Influxdb deployment")
Expect(d).NotTo(BeNil(), "unexpected error creating deployment for influxdb") Expect(d).NotTo(BeNil(), "unexpected error creating deployment for influxdb")
err = WaitForPodsReady(f.KubeClientSet, DefaultTimeout, 1, f.Namespace, metav1.ListOptions{ err = WaitForPodsReady(f.KubeClientSet, DefaultTimeout, 1, f.Namespace, metav1.ListOptions{

View file

@ -26,11 +26,12 @@ import (
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
api "k8s.io/api/core/v1" api "k8s.io/api/core/v1"
core "k8s.io/api/core/v1" core "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
k8sErrors "k8s.io/apimachinery/pkg/api/errors" k8sErrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
"k8s.io/client-go/util/retry"
podutil "k8s.io/kubernetes/pkg/api/v1/pod" podutil "k8s.io/kubernetes/pkg/api/v1/pod"
) )
@ -68,19 +69,25 @@ func (f *Framework) EnsureConfigMap(configMap *api.ConfigMap) (*api.ConfigMap, e
} }
// EnsureIngress creates an Ingress object or returns it if it already exists. // EnsureIngress creates an Ingress object or returns it if it already exists.
func (f *Framework) EnsureIngress(ingress *extensions.Ingress) *extensions.Ingress { func (f *Framework) EnsureIngress(ingress *networking.Ingress) *networking.Ingress {
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(ingress.Namespace).Update(ingress) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(ingress.Namespace).Create(ingress)
if err != nil { if err != nil {
if k8sErrors.IsNotFound(err) { if k8sErrors.IsAlreadyExists(err) {
ing, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(ingress.Namespace).Create(ingress) err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
Expect(err).NotTo(HaveOccurred(), "unexpected error creating ingress") var err error
return ing ing, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(ingress.Namespace).Update(ingress)
} if err != nil {
return err
}
Expect(err).NotTo(HaveOccurred()) return nil
})
Expect(err).NotTo(HaveOccurred())
}
} }
Expect(ing).NotTo(BeNil()) Expect(ing).NotTo(BeNil(), "expected an ingress but none returned")
if ing.Annotations == nil { if ing.Annotations == nil {
ing.Annotations = make(map[string]string) ing.Annotations = make(map[string]string)
@ -91,33 +98,47 @@ func (f *Framework) EnsureIngress(ingress *extensions.Ingress) *extensions.Ingre
// EnsureService creates a Service object or returns it if it already exists. // EnsureService creates a Service object or returns it if it already exists.
func (f *Framework) EnsureService(service *core.Service) *core.Service { func (f *Framework) EnsureService(service *core.Service) *core.Service {
s, err := f.KubeClientSet.CoreV1().Services(service.Namespace).Update(service) s, err := f.KubeClientSet.CoreV1().Services(service.Namespace).Create(service)
if err != nil { if err != nil {
if k8sErrors.IsNotFound(err) { if k8sErrors.IsAlreadyExists(err) {
s, err := f.KubeClientSet.CoreV1().Services(service.Namespace).Create(service) err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
Expect(err).NotTo(HaveOccurred(), "unexpected error creating service") var err error
return s s, err = f.KubeClientSet.CoreV1().Services(service.Namespace).Update(service)
if err != nil {
return err
}
return nil
})
Expect(err).NotTo(HaveOccurred())
} }
Expect(err).NotTo(HaveOccurred())
} }
Expect(s).NotTo(BeNil(), "expected a service but none returned") Expect(s).NotTo(BeNil(), "expected a service but none returned")
return s return s
} }
// EnsureDeployment creates a Deployment object or returns it if it already exists. // EnsureDeployment creates a Deployment object or returns it if it already exists.
func (f *Framework) EnsureDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error) { func (f *Framework) EnsureDeployment(deployment *appsv1.Deployment) *appsv1.Deployment {
d, err := f.KubeClientSet.AppsV1().Deployments(deployment.Namespace).Update(deployment) d, err := f.KubeClientSet.AppsV1().Deployments(deployment.Namespace).Create(deployment)
if err != nil { if err != nil {
if k8sErrors.IsNotFound(err) { if k8sErrors.IsAlreadyExists(err) {
return f.KubeClientSet.AppsV1().Deployments(deployment.Namespace).Create(deployment) err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
d, err = f.KubeClientSet.AppsV1().Deployments(deployment.Namespace).Update(deployment)
if err != nil {
return err
}
return nil
})
Expect(err).NotTo(HaveOccurred())
} }
return nil, err
} }
return d, nil
Expect(d).NotTo(BeNil(), "expected a deployment but none returned")
return d
} }
// WaitForPodsReady waits for a given amount of time until a group of Pods is running in the given namespace. // WaitForPodsReady waits for a given amount of time until a group of Pods is running in the given namespace.

View file

@ -235,7 +235,7 @@ func WaitForNoIngressInNamespace(c kubernetes.Interface, namespace, name string)
func noIngressInNamespace(c kubernetes.Interface, namespace, name string) wait.ConditionFunc { func noIngressInNamespace(c kubernetes.Interface, namespace, name string) wait.ConditionFunc {
return func() (bool, error) { return func() (bool, error) {
ing, err := c.ExtensionsV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{}) ing, err := c.NetworkingV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{})
if apierrors.IsNotFound(err) { if apierrors.IsNotFound(err) {
return true, nil return true, nil
} }
@ -257,7 +257,7 @@ func WaitForIngressInNamespace(c kubernetes.Interface, namespace, name string) e
func ingressInNamespace(c kubernetes.Interface, namespace, name string) wait.ConditionFunc { func ingressInNamespace(c kubernetes.Interface, namespace, name string) wait.ConditionFunc {
return func() (bool, error) { return func() (bool, error) {
ing, err := c.ExtensionsV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{}) ing, err := c.NetworkingV1beta1().Ingresses(namespace).Get(name, metav1.GetOptions{})
if apierrors.IsNotFound(err) { if apierrors.IsNotFound(err) {
return false, nil return false, nil
} }

View file

@ -81,7 +81,7 @@ var _ = framework.IngressNginxDescribe("Shutdown ingress controller", func() {
"nginx.ingress.kubernetes.io/proxy-send-timeout": "600", "nginx.ingress.kubernetes.io/proxy-send-timeout": "600",
"nginx.ingress.kubernetes.io/proxy-read-timeout": "600", "nginx.ingress.kubernetes.io/proxy-read-timeout": "600",
} }
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.SlowEchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.SlowEchoService, 80, annotations))
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {
@ -139,7 +139,7 @@ var _ = framework.IngressNginxDescribe("Shutdown ingress controller", func() {
"nginx.ingress.kubernetes.io/proxy-send-timeout": "600", "nginx.ingress.kubernetes.io/proxy-send-timeout": "600",
"nginx.ingress.kubernetes.io/proxy-read-timeout": "600", "nginx.ingress.kubernetes.io/proxy-read-timeout": "600",
} }
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.SlowEchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.SlowEchoService, 80, annotations))
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {

View file

@ -104,7 +104,7 @@ func checkIngress(hostname string, f *framework.Framework) {
} }
func deleteIngress(hostname string, f *framework.Framework) { func deleteIngress(hostname string, f *framework.Framework) {
err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Delete(hostname, &metav1.DeleteOptions{}) err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Delete(hostname, &metav1.DeleteOptions{})
Expect(err).NotTo(HaveOccurred(), "unexpected error deleting ingress") Expect(err).NotTo(HaveOccurred(), "unexpected error deleting ingress")
} }

View file

@ -27,7 +27,7 @@ import (
dto "github.com/prometheus/client_model/go" dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/expfmt" "github.com/prometheus/common/expfmt"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -44,9 +44,9 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
It("picks up the certificate when we add TLS spec to existing ingress", func() { It("picks up the certificate when we add TLS spec to existing ingress", func() {
ensureIngress(f, host, framework.EchoService) ensureIngress(f, host, framework.EchoService)
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ing.Spec.TLS = []extensions.IngressTLS{ ing.Spec.TLS = []networking.IngressTLS{
{ {
Hosts: []string{host}, Hosts: []string{host},
SecretName: host, SecretName: host,
@ -57,7 +57,7 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
ing.Spec.TLS[0].SecretName, ing.Spec.TLS[0].SecretName,
ing.Namespace) ing.Namespace)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
_, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Update(ing) _, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Update(ing)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -143,7 +143,7 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
}) })
It("picks up the updated certificate without reloading", func() { It("picks up the updated certificate without reloading", func() {
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ensureHTTPSRequest(fmt.Sprintf("%s?id=dummy_log_splitter_foo_bar", f.GetURL(framework.HTTPS)), host, host) ensureHTTPSRequest(fmt.Sprintf("%s?id=dummy_log_splitter_foo_bar", f.GetURL(framework.HTTPS)), host, host)
@ -177,7 +177,7 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
}) })
It("falls back to using default certificate when secret gets deleted without reloading", func() { It("falls back to using default certificate when secret gets deleted without reloading", func() {
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
ensureHTTPSRequest(fmt.Sprintf("%s?id=dummy_log_splitter_foo_bar", f.GetURL(framework.HTTPS)), host, host) ensureHTTPSRequest(fmt.Sprintf("%s?id=dummy_log_splitter_foo_bar", f.GetURL(framework.HTTPS)), host, host)
@ -210,10 +210,10 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
It("picks up a non-certificate only change", func() { It("picks up a non-certificate only change", func() {
newHost := "foo2.com" newHost := "foo2.com"
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
ing.Spec.Rules[0].Host = newHost ing.Spec.Rules[0].Host = newHost
_, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Update(ing) _, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Update(ing)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -222,10 +222,10 @@ var _ = framework.IngressNginxDescribe("Dynamic Certificate", func() {
}) })
It("removes HTTPS configuration when we delete TLS spec", func() { It("removes HTTPS configuration when we delete TLS spec", func() {
ing, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
ing.Spec.TLS = []extensions.IngressTLS{} ing.Spec.TLS = []networking.IngressTLS{}
_, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Update(ing) _, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Update(ing)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)

View file

@ -27,7 +27,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/internal/nginx" "k8s.io/ingress-nginx/internal/nginx"
@ -146,11 +146,11 @@ var _ = framework.IngressNginxDescribe("Dynamic Configuration", func() {
return true return true
}) })
ingress, err := f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get("foo.com", metav1.GetOptions{}) ingress, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get("foo.com", metav1.GetOptions{})
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/load-balance"] = "round_robin" ingress.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/load-balance"] = "round_robin"
_, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Update(ingress) _, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Update(ingress)
Expect(err).ToNot(HaveOccurred()) Expect(err).ToNot(HaveOccurred())
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
@ -184,7 +184,7 @@ var _ = framework.IngressNginxDescribe("Dynamic Configuration", func() {
}) })
}) })
func ensureIngress(f *framework.Framework, host string, deploymentName string) *extensions.Ingress { func ensureIngress(f *framework.Framework, host string, deploymentName string) *networking.Ingress {
ing := createIngress(f, host, deploymentName) ing := createIngress(f, host, deploymentName)
time.Sleep(waitForLuaSync) time.Sleep(waitForLuaSync)
ensureRequest(f, host) ensureRequest(f, host)
@ -192,9 +192,12 @@ func ensureIngress(f *framework.Framework, host string, deploymentName string) *
return ing return ing
} }
func createIngress(f *framework.Framework, host string, deploymentName string) *extensions.Ingress { func createIngress(f *framework.Framework, host string, deploymentName string) *networking.Ingress {
ing := f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, deploymentName, 80, ing := f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, deploymentName, 80,
&map[string]string{"nginx.ingress.kubernetes.io/load-balance": "ewma"})) map[string]string{
"nginx.ingress.kubernetes.io/load-balance": "ewma",
},
))
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {

View file

@ -14,11 +14,11 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
KIND_LOG_LEVEL="info" KIND_LOG_LEVEL="0"
if ! [ -z $DEBUG ]; then if ! [ -z $DEBUG ]; then
set -x set -x
KIND_LOG_LEVEL="debug" KIND_LOG_LEVEL="6"
fi fi
set -o errexit set -o errexit
@ -41,7 +41,7 @@ export TAG=dev
export ARCH=amd64 export ARCH=amd64
export REGISTRY=ingress-controller export REGISTRY=ingress-controller
export K8S_VERSION=${K8S_VERSION:-v1.15.3} export K8S_VERSION=${K8S_VERSION:-v1.17.0}
KIND_CLUSTER_NAME="ingress-nginx-dev" KIND_CLUSTER_NAME="ingress-nginx-dev"
@ -51,7 +51,7 @@ echo "[dev-env] creating Kubernetes cluster with kind"
export KUBECONFIG="${HOME}/.kube/kind-config-${KIND_CLUSTER_NAME}" export KUBECONFIG="${HOME}/.kube/kind-config-${KIND_CLUSTER_NAME}"
kind create cluster \ kind create cluster \
--loglevel=${KIND_LOG_LEVEL} \ --verbosity=${KIND_LOG_LEVEL} \
--name ${KIND_CLUSTER_NAME} \ --name ${KIND_CLUSTER_NAME} \
--config ${DIR}/kind.yaml \ --config ${DIR}/kind.yaml \
--image "kindest/node:${K8S_VERSION}" --image "kindest/node:${K8S_VERSION}"
@ -59,15 +59,13 @@ kind create cluster \
echo "Kubernetes cluster:" echo "Kubernetes cluster:"
kubectl get nodes -o wide kubectl get nodes -o wide
kubectl config set-context kubernetes-admin@${KIND_CLUSTER_NAME}
echo "[dev-env] building container" echo "[dev-env] building container"
echo " echo "
make -C ${DIR}/../../ build container make -C ${DIR}/../../ build container
make -C ${DIR}/../../ e2e-test-image make -C ${DIR}/../../ e2e-test-image
make -C ${DIR}/../../images/fastcgi-helloserver/ build container make -C ${DIR}/../../images/fastcgi-helloserver/ build container
make -C ${DIR}/../../images/httpbin/ container make -C ${DIR}/../../images/httpbin/ container
" | parallel --progress {} " | parallel --progress --joblog /tmp/log {} || cat /tmp/log
# Remove after https://github.com/kubernetes/ingress-nginx/pull/4271 is merged # Remove after https://github.com/kubernetes/ingress-nginx/pull/4271 is merged
docker tag ${REGISTRY}/nginx-ingress-controller-${ARCH}:${TAG} ${REGISTRY}/nginx-ingress-controller:${TAG} docker tag ${REGISTRY}/nginx-ingress-controller-${ARCH}:${TAG} ${REGISTRY}/nginx-ingress-controller:${TAG}
@ -82,11 +80,11 @@ kind load docker-image --name="${KIND_CLUSTER_NAME}" ${REGISTRY}/nginx-ingress-c
kind load docker-image --name="${KIND_CLUSTER_NAME}" ${REGISTRY}/fastcgi-helloserver:${TAG} kind load docker-image --name="${KIND_CLUSTER_NAME}" ${REGISTRY}/fastcgi-helloserver:${TAG}
kind load docker-image --name="${KIND_CLUSTER_NAME}" openresty/openresty:1.15.8.2-alpine kind load docker-image --name="${KIND_CLUSTER_NAME}" openresty/openresty:1.15.8.2-alpine
kind load docker-image --name="${KIND_CLUSTER_NAME}" ${REGISTRY}/httpbin:${TAG} kind load docker-image --name="${KIND_CLUSTER_NAME}" ${REGISTRY}/httpbin:${TAG}
" | parallel --progress " | parallel --progress --joblog /tmp/log {} || cat /tmp/log
echo "[dev-env] running e2e tests..." echo "[dev-env] running e2e tests..."
make -C ${DIR}/../../ e2e-test make -C ${DIR}/../../ e2e-test
kind delete cluster \ kind delete cluster \
--loglevel=${KIND_LOG_LEVEL} \ --verbosity=${KIND_LOG_LEVEL} \
--name ${KIND_CLUSTER_NAME} --name ${KIND_CLUSTER_NAME}

View file

@ -25,7 +25,7 @@ import (
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
@ -85,23 +85,23 @@ var _ = framework.IngressNginxDescribe("Service backend - 503", func() {
}) })
func buildIngressWithNonexistentService(host, namespace, path string) *extensions.Ingress { func buildIngressWithNonexistentService(host, namespace, path string) *networking.Ingress {
backendService := "nonexistent-svc" backendService := "nonexistent-svc"
return &extensions.Ingress{ return &networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: host, Name: host,
Namespace: namespace, Namespace: namespace,
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: path, Path: path,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: backendService, ServiceName: backendService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },
@ -115,23 +115,23 @@ func buildIngressWithNonexistentService(host, namespace, path string) *extension
} }
} }
func buildIngressWithUnavailableServiceEndpoints(host, namespace, path string) (*extensions.Ingress, *corev1.Service) { func buildIngressWithUnavailableServiceEndpoints(host, namespace, path string) (*networking.Ingress, *corev1.Service) {
backendService := "unavailable-svc" backendService := "unavailable-svc"
return &extensions.Ingress{ return &networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: host, Name: host,
Namespace: namespace, Namespace: namespace,
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: path, Path: path,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: backendService, ServiceName: backendService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },

View file

@ -25,7 +25,7 @@ import (
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -88,9 +88,9 @@ var _ = framework.IngressNginxDescribe("Disabled catch-all", func() {
Expect(errs).To(BeNil()) Expect(errs).To(BeNil())
Expect(resp.StatusCode).Should(Equal(http.StatusOK)) Expect(resp.StatusCode).Should(Equal(http.StatusOK))
err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *extensions.Ingress) error { err := framework.UpdateIngress(f.KubeClientSet, f.Namespace, host, func(ingress *networking.Ingress) error {
ingress.Spec.Rules = nil ingress.Spec.Rules = nil
ingress.Spec.Backend = &extensions.IngressBackend{ ingress.Spec.Backend = &networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
} }

View file

@ -61,7 +61,7 @@ var _ = framework.IngressNginxDescribe("Geoip2", func() {
"nginx.ingress.kubernetes.io/configuration-snippet": configSnippet, "nginx.ingress.kubernetes.io/configuration-snippet": configSnippet,
} }
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations))
f.WaitForNginxConfiguration( f.WaitForNginxConfiguration(
func(cfg string) bool { func(cfg string) bool {

View file

@ -125,7 +125,7 @@ var _ = framework.IngressNginxDescribe("Global External Auth", func() {
annotations := map[string]string{ annotations := map[string]string{
enableGlobalExternalAuthAnnotation: "false", enableGlobalExternalAuthAnnotation: "false",
} }
barIng := framework.NewSingleIngress("bar-ingress", barPath, host, f.Namespace, echoServiceName, 80, &annotations) barIng := framework.NewSingleIngress("bar-ingress", barPath, host, f.Namespace, echoServiceName, 80, annotations)
f.EnsureIngress(barIng) f.EnsureIngress(barIng)
f.WaitForNginxServer(host, f.WaitForNginxServer(host,
func(server string) bool { func(server string) bool {

View file

@ -24,7 +24,9 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/internal/ingress/annotations/class"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
) )
@ -43,9 +45,9 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
It("should ignore Ingress with class", func() { It("should ignore Ingress with class", func() {
invalidHost := "foo" invalidHost := "foo"
annotations := map[string]string{ annotations := map[string]string{
"kubernetes.io/ingress.class": "testclass", class.IngressKey: "testclass",
} }
ing := framework.NewSingleIngress(invalidHost, "/", invalidHost, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(invalidHost, "/", invalidHost, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
validHost := "bar" validHost := "bar"
@ -75,7 +77,7 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
Context("With a specific ingress-class", func() { Context("With a specific ingress-class", func() {
BeforeEach(func() { BeforeEach(func() {
framework.UpdateDeployment(f.KubeClientSet, f.Namespace, "nginx-ingress-controller", 1, err := framework.UpdateDeployment(f.KubeClientSet, f.Namespace, "nginx-ingress-controller", 1,
func(deployment *appsv1.Deployment) error { func(deployment *appsv1.Deployment) error {
args := deployment.Spec.Template.Spec.Containers[0].Args args := deployment.Spec.Template.Spec.Containers[0].Args
args = append(args, "--ingress-class=testclass") args = append(args, "--ingress-class=testclass")
@ -84,6 +86,7 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
return err return err
}) })
Expect(err).To(BeNil())
}) })
It("should ignore Ingress with no class", func() { It("should ignore Ingress with no class", func() {
@ -94,9 +97,9 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
validHost := "foo" validHost := "foo"
annotations := map[string]string{ annotations := map[string]string{
"kubernetes.io/ingress.class": "testclass", class.IngressKey: "testclass",
} }
ing = framework.NewSingleIngress(validHost, "/", validHost, f.Namespace, framework.EchoService, 80, &annotations) ing = framework.NewSingleIngress(validHost, "/", validHost, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(validHost, func(cfg string) bool { f.WaitForNginxServer(validHost, func(cfg string) bool {
@ -125,10 +128,10 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
It("should delete Ingress when class is removed", func() { It("should delete Ingress when class is removed", func() {
host := "foo" host := "foo"
annotations := map[string]string{ annotations := map[string]string{
"kubernetes.io/ingress.class": "testclass", class.IngressKey: "testclass",
} }
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
ing = f.EnsureIngress(ing) f.EnsureIngress(ing)
f.WaitForNginxServer(host, func(cfg string) bool { f.WaitForNginxServer(host, func(cfg string) bool {
return strings.Contains(cfg, "server_name foo") return strings.Contains(cfg, "server_name foo")
@ -141,8 +144,12 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
Expect(errs).To(BeNil()) Expect(errs).To(BeNil())
Expect(resp.StatusCode).Should(Equal(http.StatusOK)) Expect(resp.StatusCode).Should(Equal(http.StatusOK))
delete(ing.Annotations, "kubernetes.io/ingress.class") ing, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
f.EnsureIngress(ing) Expect(err).To(BeNil())
delete(ing.Annotations, class.IngressKey)
_, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(ing.Namespace).Update(ing)
Expect(err).To(BeNil())
f.WaitForNginxConfiguration(func(cfg string) bool { f.WaitForNginxConfiguration(func(cfg string) bool {
return !strings.Contains(cfg, "server_name foo") return !strings.Contains(cfg, "server_name foo")
@ -156,5 +163,4 @@ var _ = framework.IngressNginxDescribe("Ingress class", func() {
Expect(resp.StatusCode).Should(Equal(http.StatusNotFound)) Expect(resp.StatusCode).Should(Equal(http.StatusNotFound))
}) })
}) })
}) })

View file

@ -118,7 +118,7 @@ var _ = framework.IngressNginxDescribe("Listen on nondefault ports", func() {
"nginx.ingress.kubernetes.io/auth-signin": "http://$host/auth/start", "nginx.ingress.kubernetes.io/auth-signin": "http://$host/auth/start",
} }
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, &annotations) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing) f.EnsureIngress(ing)
tlsConfig, err := framework.CreateIngressTLSSecret(f.KubeClientSet, tlsConfig, err := framework.CreateIngressTLSSecret(f.KubeClientSet,

View file

@ -26,7 +26,7 @@ import (
"github.com/parnurzeal/gorequest" "github.com/parnurzeal/gorequest"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -104,8 +104,8 @@ var _ = framework.IngressNginxDescribe("No Auth locations", func() {
}) })
}) })
func buildBasicAuthIngressWithSecondPath(host, namespace, secretName, pathName string) *extensions.Ingress { func buildBasicAuthIngressWithSecondPath(host, namespace, secretName, pathName string) *networking.Ingress {
return &extensions.Ingress{ return &networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: host, Name: host,
Namespace: namespace, Namespace: namespace,
@ -114,23 +114,23 @@ func buildBasicAuthIngressWithSecondPath(host, namespace, secretName, pathName s
"nginx.ingress.kubernetes.io/auth-realm": "test auth", "nginx.ingress.kubernetes.io/auth-realm": "test auth",
}, },
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: host, Host: host,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: "/", Path: "/",
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },
}, },
{ {
Path: pathName, Path: pathName,
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },

View file

@ -27,7 +27,7 @@ import (
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1" policyv1beta1 "k8s.io/api/policy/v1beta1"
rbacv1 "k8s.io/api/rbac/v1" rbacv1 "k8s.io/api/rbac/v1"
k8sErrors "k8s.io/apimachinery/pkg/api/errors" k8sErrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -44,7 +44,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies", func() {
BeforeEach(func() { BeforeEach(func() {
psp := createPodSecurityPolicy() psp := createPodSecurityPolicy()
_, err := f.KubeClientSet.ExtensionsV1beta1().PodSecurityPolicies().Create(psp) _, err := f.KubeClientSet.PolicyV1beta1().PodSecurityPolicies().Create(psp)
if !k8sErrors.IsAlreadyExists(err) { if !k8sErrors.IsAlreadyExists(err) {
Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy") Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy")
} }
@ -92,23 +92,23 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies", func() {
}) })
}) })
func createPodSecurityPolicy() *extensions.PodSecurityPolicy { func createPodSecurityPolicy() *policyv1beta1.PodSecurityPolicy {
trueValue := true trueValue := true
return &extensions.PodSecurityPolicy{ return &policyv1beta1.PodSecurityPolicy{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: ingressControllerPSP, Name: ingressControllerPSP,
}, },
Spec: extensions.PodSecurityPolicySpec{ Spec: policyv1beta1.PodSecurityPolicySpec{
AllowPrivilegeEscalation: &trueValue, AllowPrivilegeEscalation: &trueValue,
RequiredDropCapabilities: []corev1.Capability{"All"}, RequiredDropCapabilities: []corev1.Capability{"All"},
RunAsUser: extensions.RunAsUserStrategyOptions{ RunAsUser: policyv1beta1.RunAsUserStrategyOptions{
Rule: "RunAsAny", Rule: "RunAsAny",
}, },
SELinux: extensions.SELinuxStrategyOptions{ SELinux: policyv1beta1.SELinuxStrategyOptions{
Rule: "RunAsAny", Rule: "RunAsAny",
}, },
FSGroup: extensions.FSGroupStrategyOptions{ FSGroup: policyv1beta1.FSGroupStrategyOptions{
Ranges: []extensions.IDRange{ Ranges: []policyv1beta1.IDRange{
{ {
Min: 1, Min: 1,
Max: 65535, Max: 65535,
@ -116,8 +116,8 @@ func createPodSecurityPolicy() *extensions.PodSecurityPolicy {
}, },
Rule: "MustRunAs", Rule: "MustRunAs",
}, },
SupplementalGroups: extensions.SupplementalGroupsStrategyOptions{ SupplementalGroups: policyv1beta1.SupplementalGroupsStrategyOptions{
Ranges: []extensions.IDRange{ Ranges: []policyv1beta1.IDRange{
{ {
Min: 1, Min: 1,
Max: 65535, Max: 65535,

View file

@ -40,7 +40,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies with volumes", fun
It("should be running with a Pod Security Policy", func() { It("should be running with a Pod Security Policy", func() {
psp := createPodSecurityPolicy() psp := createPodSecurityPolicy()
_, err := f.KubeClientSet.ExtensionsV1beta1().PodSecurityPolicies().Create(psp) _, err := f.KubeClientSet.PolicyV1beta1().PodSecurityPolicies().Create(psp)
if !k8sErrors.IsAlreadyExists(err) { if !k8sErrors.IsAlreadyExists(err) {
Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy") Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy")
} }

View file

@ -42,7 +42,7 @@ var _ = framework.IngressNginxDescribe("Proxy host variable", func() {
annotations := map[string]string{ annotations := map[string]string{
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_headers "Custom-Header: $proxy_host"`, "nginx.ingress.kubernetes.io/configuration-snippet": `more_set_headers "Custom-Header: $proxy_host"`,
} }
f.EnsureIngress(framework.NewSingleIngress(test, "/", test, f.Namespace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(test, "/", test, f.Namespace, framework.EchoService, 80, annotations))
f.WaitForNginxConfiguration( f.WaitForNginxConfiguration(
func(server string) bool { func(server string) bool {
@ -68,7 +68,7 @@ var _ = framework.IngressNginxDescribe("Proxy host variable", func() {
"nginx.ingress.kubernetes.io/upstream-vhost": upstreamVHost, "nginx.ingress.kubernetes.io/upstream-vhost": upstreamVHost,
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_headers "Custom-Header: $proxy_host"`, "nginx.ingress.kubernetes.io/configuration-snippet": `more_set_headers "Custom-Header: $proxy_host"`,
} }
f.EnsureIngress(framework.NewSingleIngress(test, "/", test, f.Namespace, framework.EchoService, 80, &annotations)) f.EnsureIngress(framework.NewSingleIngress(test, "/", test, f.Namespace, framework.EchoService, 80, annotations))
f.WaitForNginxConfiguration( f.WaitForNginxConfiguration(
func(server string) bool { func(server string) bool {

View file

@ -21,7 +21,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
extensions "k8s.io/api/extensions/v1beta1" networking "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
@ -53,22 +53,22 @@ var _ = framework.IngressNginxDescribe("Server Tokens", func() {
It("should exists Server header in the response when is enabled", func() { It("should exists Server header in the response when is enabled", func() {
f.UpdateNginxConfigMapData(serverTokens, "true") f.UpdateNginxConfigMapData(serverTokens, "true")
f.EnsureIngress(&extensions.Ingress{ f.EnsureIngress(&networking.Ingress{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: serverTokens, Name: serverTokens,
Namespace: f.Namespace, Namespace: f.Namespace,
Annotations: map[string]string{}, Annotations: map[string]string{},
}, },
Spec: extensions.IngressSpec{ Spec: networking.IngressSpec{
Rules: []extensions.IngressRule{ Rules: []networking.IngressRule{
{ {
Host: serverTokens, Host: serverTokens,
IngressRuleValue: extensions.IngressRuleValue{ IngressRuleValue: networking.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{ HTTP: &networking.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{ Paths: []networking.HTTPIngressPath{
{ {
Path: "/", Path: "/",
Backend: extensions.IngressBackend{ Backend: networking.IngressBackend{
ServiceName: framework.EchoService, ServiceName: framework.EchoService,
ServicePort: intstr.FromInt(80), ServicePort: intstr.FromInt(80),
}, },

View file

@ -87,11 +87,11 @@ var _ = framework.IngressNginxDescribe("Status Update [Status]", func() {
err = cmd.Process.Kill() err = cmd.Process.Kill()
Expect(err).NotTo(HaveOccurred(), "unexpected error terminating kubectl proxy") Expect(err).NotTo(HaveOccurred(), "unexpected error terminating kubectl proxy")
ing, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred(), "unexpected error getting %s/%v Ingress", f.Namespace, host) Expect(err).NotTo(HaveOccurred(), "unexpected error getting %s/%v Ingress", f.Namespace, host)
ing.Status.LoadBalancer.Ingress = []apiv1.LoadBalancerIngress{} ing.Status.LoadBalancer.Ingress = []apiv1.LoadBalancerIngress{}
_, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).UpdateStatus(ing) _, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).UpdateStatus(ing)
Expect(err).NotTo(HaveOccurred(), "unexpected error cleaning Ingress status") Expect(err).NotTo(HaveOccurred(), "unexpected error cleaning Ingress status")
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
@ -110,7 +110,7 @@ var _ = framework.IngressNginxDescribe("Status Update [Status]", func() {
}() }()
err = wait.Poll(10*time.Second, framework.DefaultTimeout, func() (done bool, err error) { err = wait.Poll(10*time.Second, framework.DefaultTimeout, func() (done bool, err error) {
ing, err = f.KubeClientSet.ExtensionsV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{}) ing, err = f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Get(host, metav1.GetOptions{})
if err != nil { if err != nil {
return false, nil return false, nil
} }

0
vendor/k8s.io/code-generator/generate-groups.sh generated vendored Normal file → Executable file
View file

0
vendor/k8s.io/code-generator/generate-internal-groups.sh generated vendored Normal file → Executable file
View file

16
vendor/k8s.io/code-generator/hack/boilerplate.go.txt generated vendored Normal file
View file

@ -0,0 +1,16 @@
/*
Copyright YEAR 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.
*/