Skip to content

Commit b7d59d3

Browse files
authored
Merge pull request kubernetes#93721 from gitlawr/speedup-reconciler-tests
Speed up master reconciler tests
2 parents ebbbc57 + 11b347c commit b7d59d3

File tree

1 file changed

+35
-19
lines changed

1 file changed

+35
-19
lines changed

test/integration/master/kube_apiserver_test.go

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"net/http"
2525
"reflect"
2626
"strings"
27+
"sync"
2728
"testing"
2829
"time"
2930

@@ -412,8 +413,8 @@ func verifyEndpointsWithIPs(servers []*kubeapiservertesting.TestServer, ips []st
412413
}
413414

414415
func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
415-
var leaseServers []*kubeapiservertesting.TestServer
416-
var masterCountServers []*kubeapiservertesting.TestServer
416+
var leaseServers = make([]*kubeapiservertesting.TestServer, leaseCount)
417+
var masterCountServers = make([]*kubeapiservertesting.TestServer, masterCount)
417418
etcd := framework.SharedEtcd()
418419

419420
instanceOptions := &kubeapiservertesting.TestServerInstanceOptions{
@@ -423,16 +424,22 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
423424
// cleanup the registry storage
424425
defer registry.CleanupStorage()
425426

427+
wg := sync.WaitGroup{}
426428
// 1. start masterCount api servers
427429
for i := 0; i < masterCount; i++ {
428430
// start master count api server
429-
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, []string{
430-
"--endpoint-reconciler-type", "master-count",
431-
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+1),
432-
"--apiserver-count", fmt.Sprintf("%v", masterCount),
433-
}, etcd)
434-
masterCountServers = append(masterCountServers, server)
435-
}
431+
wg.Add(1)
432+
go func(i int) {
433+
defer wg.Done()
434+
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, []string{
435+
"--endpoint-reconciler-type", "master-count",
436+
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+1),
437+
"--apiserver-count", fmt.Sprintf("%v", masterCount),
438+
}, etcd)
439+
masterCountServers[i] = server
440+
}(i)
441+
}
442+
wg.Wait()
436443

437444
// 2. verify master count servers have registered
438445
if err := wait.PollImmediate(3*time.Second, 2*time.Minute, func() (bool, error) {
@@ -453,14 +460,23 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
453460

454461
// 3. start lease api servers
455462
for i := 0; i < leaseCount; i++ {
456-
options := []string{
457-
"--endpoint-reconciler-type", "lease",
458-
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+10),
463+
wg.Add(1)
464+
go func(i int) {
465+
defer wg.Done()
466+
options := []string{
467+
"--endpoint-reconciler-type", "lease",
468+
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+10),
469+
}
470+
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, options, etcd)
471+
leaseServers[i] = server
472+
}(i)
473+
}
474+
wg.Wait()
475+
defer func() {
476+
for i := 0; i < leaseCount; i++ {
477+
leaseServers[i].TearDownFn()
459478
}
460-
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, options, etcd)
461-
defer server.TearDownFn()
462-
leaseServers = append(leaseServers, server)
463-
}
479+
}()
464480

465481
time.Sleep(3 * time.Second)
466482

@@ -488,15 +504,15 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
488504
}
489505

490506
func TestReconcilerMasterLeaseCombined(t *testing.T) {
491-
testReconcilersMasterLease(t, 1, 3)
507+
testReconcilersMasterLease(t, 1, 2)
492508
}
493509

494510
func TestReconcilerMasterLeaseMultiMoreMasters(t *testing.T) {
495-
testReconcilersMasterLease(t, 3, 2)
511+
testReconcilersMasterLease(t, 2, 1)
496512
}
497513

498514
func TestReconcilerMasterLeaseMultiCombined(t *testing.T) {
499-
testReconcilersMasterLease(t, 3, 3)
515+
testReconcilersMasterLease(t, 2, 2)
500516
}
501517

502518
func TestMultiMasterNodePortAllocation(t *testing.T) {

0 commit comments

Comments
 (0)