mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Allow network end-to-end test to be run in parallel
This commit is contained in:
parent
2863fa9fe6
commit
85691cba24
@ -21,6 +21,7 @@ import (
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
@ -31,9 +32,12 @@ func TestNetwork(c *client.Client) bool {
|
||||
}
|
||||
|
||||
ns := api.NamespaceDefault
|
||||
svc, err := c.Services(ns).Create(loadObjectOrDie(assetPath(
|
||||
"contrib", "for-tests", "network-tester", "service.json",
|
||||
)).(*api.Service))
|
||||
s := loadObjectOrDie(assetPath("contrib", "for-tests", "network-tester", "service.json")).(*api.Service)
|
||||
// TODO(satnam6502): Replace call of randomSuffix with call to NewUUID when service
|
||||
// names have the same form as pod and replication controller names.
|
||||
s.Name += "-" + randomSuffix()
|
||||
glog.Infof("Creating service with name %s", s.Name)
|
||||
svc, err := c.Services(ns).Create(s)
|
||||
if err != nil {
|
||||
glog.Errorf("unable to create test service: %v", err)
|
||||
return false
|
||||
@ -45,9 +49,9 @@ func TestNetwork(c *client.Client) bool {
|
||||
}
|
||||
}()
|
||||
|
||||
rc, err := c.ReplicationControllers(ns).Create(loadObjectOrDie(assetPath(
|
||||
"contrib", "for-tests", "network-tester", "rc.json",
|
||||
)).(*api.ReplicationController))
|
||||
r := loadObjectOrDie(assetPath("contrib", "for-tests", "network-tester", "rc.json")).(*api.ReplicationController)
|
||||
r.Name += "-" + string(util.NewUUID())
|
||||
rc, err := c.ReplicationControllers(ns).Create(r)
|
||||
if err != nil {
|
||||
glog.Errorf("unable to create test rc: %v", err)
|
||||
return false
|
||||
@ -66,7 +70,7 @@ func TestNetwork(c *client.Client) bool {
|
||||
}()
|
||||
const maxAttempts = 60
|
||||
for i := 0; i < maxAttempts; i++ {
|
||||
time.Sleep(time.Second)
|
||||
time.Sleep(2 * time.Second)
|
||||
body, err := c.Get().Prefix("proxy").Resource("services").Name(svc.Name).Suffix("status").Do().Raw()
|
||||
if err != nil {
|
||||
glog.Infof("Attempt %v/%v: service/pod still starting. (error: '%v')", i, maxAttempts, err)
|
||||
|
@ -18,7 +18,9 @@ package e2e
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
@ -183,3 +185,12 @@ func parseServiceOrDie(json string) *api.Service {
|
||||
}
|
||||
return service
|
||||
}
|
||||
|
||||
// TODO: Allow service names to have the same form as names
|
||||
// for pods and replication controllers so we don't
|
||||
// need to use such a function and can instead
|
||||
// use the UUID utilty function.
|
||||
func randomSuffix() string {
|
||||
r := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
return strconv.Itoa(r.Int() % 10000)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user