mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 19:23:40 +00:00
add e2e test for switching ingress mode between NEG and IG
This commit is contained in:
parent
a324248287
commit
59e0fca5a5
@ -22,7 +22,9 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
|
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
|
|
||||||
@ -199,6 +201,42 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
|
|||||||
Expect(usingNeg).To(BeTrue())
|
Expect(usingNeg).To(BeTrue())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("should be able to switch between IG and NEG modes", func() {
|
||||||
|
var err error
|
||||||
|
By("Create a basic HTTP ingress using NEG")
|
||||||
|
jig.CreateIngress(filepath.Join(framework.IngressManifestPath, "neg"), ns, map[string]string{}, map[string]string{})
|
||||||
|
jig.WaitForIngress(true)
|
||||||
|
usingNEG, err := gceController.BackendServiceUsingNEG(jig.GetIngressNodePorts(false))
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
Expect(usingNEG).To(BeTrue())
|
||||||
|
|
||||||
|
By("Switch backend service to use IG")
|
||||||
|
svcList, err := f.ClientSet.CoreV1().Services(ns).List(metav1.ListOptions{})
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
for _, svc := range svcList.Items {
|
||||||
|
svc.Annotations[NEGAnnotation] = "false"
|
||||||
|
_, err = f.ClientSet.CoreV1().Services(ns).Update(&svc)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
}
|
||||||
|
wait.Poll(5*time.Second, framework.LoadBalancerPollTimeout, func() (bool, error) {
|
||||||
|
return gceController.BackendServiceUsingIG(jig.GetIngressNodePorts(true))
|
||||||
|
})
|
||||||
|
jig.WaitForIngress(true)
|
||||||
|
|
||||||
|
By("Switch backend service to use NEG")
|
||||||
|
svcList, err = f.ClientSet.CoreV1().Services(ns).List(metav1.ListOptions{})
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
for _, svc := range svcList.Items {
|
||||||
|
svc.Annotations[NEGAnnotation] = "true"
|
||||||
|
_, err = f.ClientSet.CoreV1().Services(ns).Update(&svc)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
}
|
||||||
|
wait.Poll(5*time.Second, framework.LoadBalancerPollTimeout, func() (bool, error) {
|
||||||
|
return gceController.BackendServiceUsingNEG(jig.GetIngressNodePorts(false))
|
||||||
|
})
|
||||||
|
jig.WaitForIngress(true)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// Time: borderline 5m, slow by design
|
// Time: borderline 5m, slow by design
|
||||||
|
Loading…
Reference in New Issue
Block a user