mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Make service e2e tests run in timestamped namespaces.
Make some service e2e tests run in timestamped namespaces to prevent name collisions.
This commit is contained in:
parent
fd94fdbe2a
commit
a4dde6e2cb
@ -34,11 +34,15 @@ import (
|
|||||||
|
|
||||||
var _ = Describe("Services", func() {
|
var _ = Describe("Services", func() {
|
||||||
var c *client.Client
|
var c *client.Client
|
||||||
|
// Use these in tests. They're unique for each test to prevent name collisions.
|
||||||
|
var namespace0, namespace1 string
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
var err error
|
var err error
|
||||||
c, err = loadClient()
|
c, err = loadClient()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
namespace0 = "e2e-ns-" + dateStamp() + "-0"
|
||||||
|
namespace1 = "e2e-ns-" + dateStamp() + "-1"
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should provide DNS for the cluster", func() {
|
It("should provide DNS for the cluster", func() {
|
||||||
@ -137,7 +141,7 @@ var _ = Describe("Services", func() {
|
|||||||
_, err := c.Get().
|
_, err := c.Get().
|
||||||
Prefix("proxy").
|
Prefix("proxy").
|
||||||
Resource("pods").
|
Resource("pods").
|
||||||
Namespace("default").
|
Namespace(api.NamespaceDefault).
|
||||||
Name(pod.Name).
|
Name(pod.Name).
|
||||||
Suffix("results", name).
|
Suffix("results", name).
|
||||||
Do().Raw()
|
Do().Raw()
|
||||||
@ -162,7 +166,7 @@ var _ = Describe("Services", func() {
|
|||||||
It("should provide RW and RO services", func() {
|
It("should provide RW and RO services", func() {
|
||||||
svc := api.ServiceList{}
|
svc := api.ServiceList{}
|
||||||
err := c.Get().
|
err := c.Get().
|
||||||
Namespace("default").
|
Namespace(api.NamespaceDefault).
|
||||||
AbsPath("/api/v1beta1/proxy/services/kubernetes-ro/api/v1beta1/services").
|
AbsPath("/api/v1beta1/proxy/services/kubernetes-ro/api/v1beta1/services").
|
||||||
Do().
|
Do().
|
||||||
Into(&svc)
|
Into(&svc)
|
||||||
@ -338,8 +342,8 @@ var _ = Describe("Services", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("should correctly serve identically named services in different namespaces on different external IP addresses", func() {
|
It("should correctly serve identically named services in different namespaces on different external IP addresses", func() {
|
||||||
serviceNames := []string{"services-namespace-test0"} // Could add more here, but then it takes longer.
|
serviceNames := []string{"s0"} // Could add more here, but then it takes longer.
|
||||||
namespaces := []string{"namespace0", "namespace1"} // As above.
|
namespaces := []string{namespace0, namespace1} // As above.
|
||||||
labels := map[string]string{
|
labels := map[string]string{
|
||||||
"key0": "value0",
|
"key0": "value0",
|
||||||
"key1": "value1",
|
"key1": "value1",
|
||||||
@ -354,14 +358,6 @@ var _ = Describe("Services", func() {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Always delete any turds from a previous run.
|
|
||||||
for _, namespace := range namespaces {
|
|
||||||
for _, serviceName := range serviceNames {
|
|
||||||
By("cleanup previous service " + serviceName + " in namespace " + namespace)
|
|
||||||
c.Services(namespace).Delete(serviceName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publicIPs := []string{}
|
publicIPs := []string{}
|
||||||
for _, namespace := range namespaces {
|
for _, namespace := range namespaces {
|
||||||
for _, serviceName := range serviceNames {
|
for _, serviceName := range serviceNames {
|
||||||
@ -461,3 +457,10 @@ func addEndpointPodOrFail(c *client.Client, ns, name string, labels map[string]s
|
|||||||
_, err := c.Pods(ns).Create(pod)
|
_, err := c.Pods(ns).Create(pod)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dateStamp returns the current time as a string "YYYY-MM-DDTHHMMSS"
|
||||||
|
// Handy for unique names across test runs
|
||||||
|
func dateStamp() string {
|
||||||
|
now := time.Now()
|
||||||
|
return fmt.Sprintf("%04d-%02d-%02dt%02d%02d%02d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user