Merge pull request #93721 from gitlawr/speedup-reconciler-tests

Speed up master reconciler tests
This commit is contained in:
Kubernetes Prow Robot 2020-08-17 08:38:18 -07:00 committed by GitHub
commit b7d59d37fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@ import (
"net/http"
"reflect"
"strings"
"sync"
"testing"
"time"
@ -412,8 +413,8 @@ func verifyEndpointsWithIPs(servers []*kubeapiservertesting.TestServer, ips []st
}
func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
var leaseServers []*kubeapiservertesting.TestServer
var masterCountServers []*kubeapiservertesting.TestServer
var leaseServers = make([]*kubeapiservertesting.TestServer, leaseCount)
var masterCountServers = make([]*kubeapiservertesting.TestServer, masterCount)
etcd := framework.SharedEtcd()
instanceOptions := &kubeapiservertesting.TestServerInstanceOptions{
@ -423,16 +424,22 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
// cleanup the registry storage
defer registry.CleanupStorage()
wg := sync.WaitGroup{}
// 1. start masterCount api servers
for i := 0; i < masterCount; i++ {
// start master count api server
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, []string{
"--endpoint-reconciler-type", "master-count",
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+1),
"--apiserver-count", fmt.Sprintf("%v", masterCount),
}, etcd)
masterCountServers = append(masterCountServers, server)
wg.Add(1)
go func(i int) {
defer wg.Done()
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, []string{
"--endpoint-reconciler-type", "master-count",
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+1),
"--apiserver-count", fmt.Sprintf("%v", masterCount),
}, etcd)
masterCountServers[i] = server
}(i)
}
wg.Wait()
// 2. verify master count servers have registered
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) {
// 3. start lease api servers
for i := 0; i < leaseCount; i++ {
options := []string{
"--endpoint-reconciler-type", "lease",
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+10),
}
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, options, etcd)
defer server.TearDownFn()
leaseServers = append(leaseServers, server)
wg.Add(1)
go func(i int) {
defer wg.Done()
options := []string{
"--endpoint-reconciler-type", "lease",
"--advertise-address", fmt.Sprintf("10.0.1.%v", i+10),
}
server := kubeapiservertesting.StartTestServerOrDie(t, instanceOptions, options, etcd)
leaseServers[i] = server
}(i)
}
wg.Wait()
defer func() {
for i := 0; i < leaseCount; i++ {
leaseServers[i].TearDownFn()
}
}()
time.Sleep(3 * time.Second)
@ -488,15 +504,15 @@ func testReconcilersMasterLease(t *testing.T, leaseCount int, masterCount int) {
}
func TestReconcilerMasterLeaseCombined(t *testing.T) {
testReconcilersMasterLease(t, 1, 3)
testReconcilersMasterLease(t, 1, 2)
}
func TestReconcilerMasterLeaseMultiMoreMasters(t *testing.T) {
testReconcilersMasterLease(t, 3, 2)
testReconcilersMasterLease(t, 2, 1)
}
func TestReconcilerMasterLeaseMultiCombined(t *testing.T) {
testReconcilersMasterLease(t, 3, 3)
testReconcilersMasterLease(t, 2, 2)
}
func TestMultiMasterNodePortAllocation(t *testing.T) {