@@ -24,6 +24,7 @@ import (
24
24
"net/http"
25
25
"reflect"
26
26
"strings"
27
+ "sync"
27
28
"testing"
28
29
"time"
29
30
@@ -412,8 +413,8 @@ func verifyEndpointsWithIPs(servers []*kubeapiservertesting.TestServer, ips []st
412
413
}
413
414
414
415
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 )
417
418
etcd := framework .SharedEtcd ()
418
419
419
420
instanceOptions := & kubeapiservertesting.TestServerInstanceOptions {
@@ -423,16 +424,22 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
423
424
// cleanup the registry storage
424
425
defer registry .CleanupStorage ()
425
426
427
+ wg := sync.WaitGroup {}
426
428
// 1. start masterCount api servers
427
429
for i := 0 ; i < masterCount ; i ++ {
428
430
// 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 ()
436
443
437
444
// 2. verify master count servers have registered
438
445
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) {
453
460
454
461
// 3. start lease api servers
455
462
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 ()
459
478
}
460
- server := kubeapiservertesting .StartTestServerOrDie (t , instanceOptions , options , etcd )
461
- defer server .TearDownFn ()
462
- leaseServers = append (leaseServers , server )
463
- }
479
+ }()
464
480
465
481
time .Sleep (3 * time .Second )
466
482
@@ -488,15 +504,15 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
488
504
}
489
505
490
506
func TestReconcilerMasterLeaseCombined (t * testing.T ) {
491
- testReconcilersMasterLease (t , 1 , 3 )
507
+ testReconcilersMasterLease (t , 1 , 2 )
492
508
}
493
509
494
510
func TestReconcilerMasterLeaseMultiMoreMasters (t * testing.T ) {
495
- testReconcilersMasterLease (t , 3 , 2 )
511
+ testReconcilersMasterLease (t , 2 , 1 )
496
512
}
497
513
498
514
func TestReconcilerMasterLeaseMultiCombined (t * testing.T ) {
499
- testReconcilersMasterLease (t , 3 , 3 )
515
+ testReconcilersMasterLease (t , 2 , 2 )
500
516
}
501
517
502
518
func TestMultiMasterNodePortAllocation (t * testing.T ) {
0 commit comments