You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by al...@apache.org on 2023/04/10 10:02:13 UTC
[apisix-ingress-controller] branch master updated: e2e: ingress annotations does not need to use v2beta3 (#1503)
This is an automated email from the ASF dual-hosted git repository.
alinsran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git
The following commit(s) were added to refs/heads/master by this push:
new aad3ef6f e2e: ingress annotations does not need to use v2beta3 (#1503)
aad3ef6f is described below
commit aad3ef6fdd7866c096b96eaa3d19fed9f8fc3335
Author: Xin Rong <al...@gmail.com>
AuthorDate: Mon Apr 10 18:02:06 2023 +0800
e2e: ingress annotations does not need to use v2beta3 (#1503)
---
test/e2e/suite-annotations/svc_namespace.go | 389 ++--------------------------
1 file changed, 26 insertions(+), 363 deletions(-)
diff --git a/test/e2e/suite-annotations/svc_namespace.go b/test/e2e/suite-annotations/svc_namespace.go
index f2797ed6..910c20c1 100644
--- a/test/e2e/suite-annotations/svc_namespace.go
+++ b/test/e2e/suite-annotations/svc_namespace.go
@@ -27,11 +27,10 @@ import (
"github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
)
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
+var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations reference service in the same namespace", func() {
+ s := scaffold.NewDefaultScaffold()
- s := scaffold.NewDefaultV2beta3Scaffold()
-
- ginkgo.It("same namespace in ingress networking/v1", func() {
+ ginkgo.It("networking/v1", func() {
backendSvc, backendPort := s.DefaultHTTPBackend()
ing := fmt.Sprintf(`
apiVersion: networking.k8s.io/v1
@@ -39,6 +38,7 @@ kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: apisix
+ k8s.apisix.apache.org/svc-namespace: "%s"
name: ingress-v1
spec:
rules:
@@ -52,7 +52,7 @@ spec:
name: %s
port:
number: %d
-`, backendSvc, backendPort[0])
+`, s.Namespace(), backendSvc, backendPort[0])
err := s.CreateResourceFromString(ing)
if err != nil {
assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
@@ -68,81 +68,17 @@ spec:
Body().
Raw()
})
-})
-
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
- s := scaffold.NewDefaultV2beta3Scaffold()
- createNamespace := func(namespace string, watch string) {
- k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
- &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()},
- metav1.ObjectMeta{Name: namespace, Labels: map[string]string{
- "apisix.ingress.watch": watch,
- }})
- }
-
- deleteNamespace := func(namespace string) {
- _ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
- }
-
- ginkgo.It("different namespace in ingress networking/v1", func() {
- newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
- oldNs := s.Namespace()
- createNamespace(newNs, oldNs)
- defer deleteNamespace(newNs)
-
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- k8s.apisix.apache.org/svc-namespace: %s
- name: ingress-v1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- service:
- name: %s
- port:
- number: %d
-`, oldNs, backendSvc, backendPort[0])
- err := s.CreateResourceFromStringWithNamespace(ing, newNs)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
-
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
-
- s := scaffold.NewDefaultV2beta3Scaffold()
- ginkgo.It("same namespace in ingress networking/v1beta1", func() {
+ ginkgo.It("extensions/v1beta1", func() {
backendSvc, backendPort := s.DefaultHTTPBackend()
ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1beta1
+apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: apisix
- k8s.apisix.apache.org/svc-namespace: ""
- name: ingress-v1beta1
+ k8s.apisix.apache.org/svc-namespace: "%s"
+ name: ingress-extensions-v1beta1
spec:
rules:
- host: httpbin.org
@@ -153,13 +89,11 @@ spec:
backend:
serviceName: %s
servicePort: %d
-`, backendSvc, backendPort[0])
-
+`, s.Namespace(), backendSvc, backendPort[0])
err := s.CreateResourceFromString(ing)
if err != nil {
assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
}
-
time.Sleep(5 * time.Second)
_ = s.NewAPISIXClient().
@@ -170,28 +104,8 @@ spec:
Body().
Raw()
})
-})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
- s := scaffold.NewDefaultV2beta3Scaffold()
- createNamespace := func(namespace string, watch string) {
- k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
- &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()},
- metav1.ObjectMeta{Name: namespace, Labels: map[string]string{
- "apisix.ingress.watch": watch,
- }})
- }
-
- deleteNamespace := func(namespace string) {
- _ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
- }
-
- ginkgo.It("different namespace in ingress networking/v1beta1", func() {
-
- newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
- oldNs := s.Namespace()
- createNamespace(newNs, oldNs)
- defer deleteNamespace(newNs)
+ ginkgo.It("networking/v1beta1", func() {
backendSvc, backendPort := s.DefaultHTTPBackend()
ing := fmt.Sprintf(`
apiVersion: networking.k8s.io/v1beta1
@@ -199,7 +113,7 @@ kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: apisix
- k8s.apisix.apache.org/svc-namespace: %s
+ k8s.apisix.apache.org/svc-namespace: "%s"
name: ingress-v1beta1
spec:
rules:
@@ -211,52 +125,13 @@ spec:
backend:
serviceName: %s
servicePort: %d
-`, oldNs, backendSvc, backendPort[0])
-
- err := s.CreateResourceFromStringWithNamespace(ing, newNs)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
-
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
- s := scaffold.NewDefaultV2beta3Scaffold()
+`, s.Namespace(), backendSvc, backendPort[0])
- ginkgo.It("same namespace in ingress extensions/v1beta1", func() {
-
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- name: ingress-extensions-v1beta1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- serviceName: %s
- servicePort: %d
-`, backendSvc, backendPort[0])
err := s.CreateResourceFromString(ing)
if err != nil {
assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
}
+
time.Sleep(5 * time.Second)
_ = s.NewAPISIXClient().
@@ -269,8 +144,8 @@ spec:
})
})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3", func() {
- s := scaffold.NewDefaultV2beta3Scaffold()
+var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations cross-namespace reference service", func() {
+ s := scaffold.NewDefaultScaffold()
createNamespace := func(namespace string, watch string) {
k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
@@ -284,7 +159,7 @@ var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2beta3",
_ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
}
- ginkgo.It("different namespace in ingress extensions/v1beta1", func() {
+ ginkgo.It("extensions/v1beta1", func() {
newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
oldNs := s.Namespace()
@@ -325,167 +200,8 @@ spec:
Body().
Raw()
})
-})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
-
- s := scaffold.NewDefaultV2Scaffold()
-
- ginkgo.It("same namespace in ingress networking/v1", func() {
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- name: ingress-v1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- service:
- name: %s
- port:
- number: %d
-`, backendSvc, backendPort[0])
- err := s.CreateResourceFromString(ing)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
-
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
- s := scaffold.NewDefaultV2Scaffold()
- createNamespace := func(namespace string, watch string) {
- k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
- &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()},
- metav1.ObjectMeta{Name: namespace, Labels: map[string]string{
- "apisix.ingress.watch": watch,
- }})
- }
-
- deleteNamespace := func(namespace string) {
- _ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
- }
-
- ginkgo.It("different namespace in ingress networking/v1", func() {
- newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
- oldNs := s.Namespace()
- createNamespace(newNs, oldNs)
- defer deleteNamespace(newNs)
-
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- k8s.apisix.apache.org/svc-namespace: %s
- name: ingress-v1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- service:
- name: %s
- port:
- number: %d
-`, oldNs, backendSvc, backendPort[0])
- err := s.CreateResourceFromStringWithNamespace(ing, newNs)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
-
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
-
- s := scaffold.NewDefaultV2Scaffold()
- ginkgo.It("same namespace in ingress networking/v1beta1", func() {
-
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: networking.k8s.io/v1beta1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- k8s.apisix.apache.org/svc-namespace: ""
- name: ingress-v1beta1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- serviceName: %s
- servicePort: %d
-`, backendSvc, backendPort[0])
-
- err := s.CreateResourceFromString(ing)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
-
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
- s := scaffold.NewDefaultV2Scaffold()
- createNamespace := func(namespace string, watch string) {
- k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
- &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()},
- metav1.ObjectMeta{Name: namespace, Labels: map[string]string{
- "apisix.ingress.watch": watch,
- }})
- }
-
- deleteNamespace := func(namespace string) {
- _ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
- }
-
- ginkgo.It("different namespace in ingress networking/v1beta1", func() {
+ ginkgo.It("networking/v1beta1", func() {
newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
oldNs := s.Namespace()
@@ -528,64 +244,8 @@ spec:
Body().
Raw()
})
-})
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
- s := scaffold.NewDefaultV2Scaffold()
-
- ginkgo.It("same namespace in ingress extensions/v1beta1", func() {
-
- backendSvc, backendPort := s.DefaultHTTPBackend()
- ing := fmt.Sprintf(`
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
- annotations:
- kubernetes.io/ingress.class: apisix
- name: ingress-extensions-v1beta1
-spec:
- rules:
- - host: httpbin.org
- http:
- paths:
- - path: /*
- pathType: Prefix
- backend:
- serviceName: %s
- servicePort: %d
-`, backendSvc, backendPort[0])
- err := s.CreateResourceFromString(ing)
- if err != nil {
- assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
- }
- time.Sleep(5 * time.Second)
-
- _ = s.NewAPISIXClient().
- POST("/anything").
- WithHeader("Host", "httpbin.org").
- Expect().
- Status(http.StatusOK).
- Body().
- Raw()
- })
-})
-
-var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func() {
- s := scaffold.NewDefaultV2Scaffold()
-
- createNamespace := func(namespace string, watch string) {
- k8s.CreateNamespaceWithMetadata(ginkgo.GinkgoT(),
- &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()},
- metav1.ObjectMeta{Name: namespace, Labels: map[string]string{
- "apisix.ingress.watch": watch,
- }})
- }
-
- deleteNamespace := func(namespace string) {
- _ = k8s.DeleteNamespaceE(ginkgo.GinkgoT(), &k8s.KubectlOptions{ConfigPath: scaffold.GetKubeconfig()}, namespace)
- }
-
- ginkgo.It("different namespace in ingress extensions/v1beta1", func() {
+ ginkgo.It("networking/v1", func() {
newNs := fmt.Sprintf("second-svc-namespace-%d", time.Now().Nanosecond())
oldNs := s.Namespace()
createNamespace(newNs, oldNs)
@@ -593,13 +253,13 @@ var _ = ginkgo.Describe("suite-annotations: svc-namespace annotations v2", func(
backendSvc, backendPort := s.DefaultHTTPBackend()
ing := fmt.Sprintf(`
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: apisix
k8s.apisix.apache.org/svc-namespace: %s
- name: ingress-extensions-v1beta1
+ name: ingress-v1
spec:
rules:
- host: httpbin.org
@@ -608,13 +268,16 @@ spec:
- path: /*
pathType: Prefix
backend:
- serviceName: %s
- servicePort: %d
+ service:
+ name: %s
+ port:
+ number: %d
`, oldNs, backendSvc, backendPort[0])
err := s.CreateResourceFromStringWithNamespace(ing, newNs)
if err != nil {
assert.Fail(ginkgo.GinkgoT(), err.Error(), "creating ingress")
}
+
time.Sleep(5 * time.Second)
_ = s.NewAPISIXClient().