Merge pull request #40798 from wojtek-t/fewer_endpoints_in_load_test

Automatic merge from submit-queue (batch tested with PRs 40798, 40658)

Modify load test to not create too may services/endpoints
pull/6/head
Kubernetes Submit Queue 2017-02-01 07:54:41 -08:00 committed by GitHub
commit 44f22e1394
1 changed files with 10 additions and 3 deletions

View File

@ -168,7 +168,11 @@ var _ = framework.KubeDescribe("Load capacity", func() {
configs, secretConfigs = generateConfigs(totalPods, itArg.image, itArg.command, namespaces, itArg.kind, itArg.secretsPerPod) configs, secretConfigs = generateConfigs(totalPods, itArg.image, itArg.command, namespaces, itArg.kind, itArg.secretsPerPod)
if itArg.services { if itArg.services {
framework.Logf("Creating services") framework.Logf("Creating services")
services := generateServicesForConfigs(configs) // If <totalPods> is large, we generate services only for every second
// config. Since those are sorted by the size, we will have both small,
// medium and large services, but only for half of pods.
onlyHalfServices := totalPods > 60000
services := generateServicesForConfigs(configs, onlyHalfServices)
for _, service := range services { for _, service := range services {
_, err := clientset.Core().Services(service.Namespace).Create(service) _, err := clientset.Core().Services(service.Namespace).Create(service)
framework.ExpectNoError(err) framework.ExpectNoError(err)
@ -418,9 +422,12 @@ func generateConfigsForGroup(
return configs, secretConfigs return configs, secretConfigs
} }
func generateServicesForConfigs(configs []testutils.RunObjectConfig) []*v1.Service { func generateServicesForConfigs(configs []testutils.RunObjectConfig, onlyHalfServices bool) []*v1.Service {
services := make([]*v1.Service, 0, len(configs)) services := make([]*v1.Service, 0, len(configs))
for _, config := range configs { for i, config := range configs {
if onlyHalfServices && i%2 == 1 {
continue
}
serviceName := config.GetName() + "-svc" serviceName := config.GetName() + "-svc"
labels := map[string]string{"name": config.GetName()} labels := map[string]string{"name": config.GetName()}
service := &v1.Service{ service := &v1.Service{