diff --git a/test/e2e/network.go b/test/e2e/network.go index 2d778d912eb..b2115f3bbc0 100644 --- a/test/e2e/network.go +++ b/test/e2e/network.go @@ -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) diff --git a/test/e2e/util.go b/test/e2e/util.go index 03baac6ba44..07befd14dcf 100644 --- a/test/e2e/util.go +++ b/test/e2e/util.go @@ -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) +}