Merge pull request #127909 from richabanker/mvp-cleanup

Reduce IdentityLeaseRenewIntervalPeriod in peer_proxy test
This commit is contained in:
Kubernetes Prow Robot
2024-10-09 13:28:23 +01:00
committed by GitHub
3 changed files with 22 additions and 5 deletions

View File

@@ -199,7 +199,8 @@ func (h *peerProxyHandler) resolveServingLocation(apiservers *sync.Map) (bool, [
apiserverKey := key.(string)
if apiserverKey == h.serverId {
locallyServiceable = true
// stop iteration
// stop iteration and reset any errors encountered so far.
respErr = nil
return false
}

View File

@@ -285,7 +285,10 @@ func TestPeerProxy(t *testing.T) {
}
req.Header.Set(PeerProxiedHeader, tt.peerproxiedHeader)
resp, _ := requestGetter(req)
resp, err := requestGetter(req)
if err != nil {
t.Fatalf("unexpected error trying to get the request: %v", err)
}
// compare response
assert.Equal(t, tt.expectedStatus, resp.StatusCode)

View File

@@ -133,12 +133,13 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
// set lease duration to 1s for serverA to ensure that storageversions for serverA are updated
// once it is shutdown
controlplaneapiserver.IdentityLeaseDurationSeconds = 10
controlplaneapiserver.IdentityLeaseGCPeriod = time.Second
controlplaneapiserver.IdentityLeaseRenewIntervalPeriod = 10 * time.Second
controlplaneapiserver.IdentityLeaseGCPeriod = 2 * time.Second
controlplaneapiserver.IdentityLeaseRenewIntervalPeriod = time.Second
// start serverA with all APIs enabled
// override hostname to ensure unique ips
server.SetHostnameFuncForTests("test-server-a")
t.Log("starting apiserver for ServerA")
serverA := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{}, etcd)
kubeClientSetA, err := kubernetes.NewForConfig(serverA.ClientConfig)
require.NoError(t, err)
@@ -153,6 +154,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
// start serverB with some api disabled
// override hostname to ensure unique ips
server.SetHostnameFuncForTests("test-server-b")
t.Log("starting apiserver for ServerB")
serverB := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{
fmt.Sprintf("--runtime-config=%v", "batch/v1=false")}, etcd)
defer serverB.TearDownFn()
@@ -165,6 +167,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
// start serverC with all APIs enabled
// override hostname to ensure unique ips
server.SetHostnameFuncForTests("test-server-c")
t.Log("starting apiserver for ServerC")
serverC := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{}, etcd)
defer serverC.TearDownFn()
@@ -180,14 +183,24 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
var jobsB *v1.JobList
// list jobs using ServerB which it should proxy to ServerC and get back valid response
err = wait.PollImmediate(1*time.Second, 1*time.Minute, func() (bool, error) {
err = wait.PollUntilContextTimeout(ctx, 1*time.Second, 1*time.Minute, false, func(ctx context.Context) (bool, error) {
select {
case <-ctx.Done():
return false, ctx.Err()
default:
}
t.Log("retrieving jobs from ServerB")
jobsB, err = kubeClientSetB.BatchV1().Jobs("default").List(context.Background(), metav1.ListOptions{})
if err != nil {
t.Logf("error trying to list jobs from ServerB: %v", err)
return false, nil
}
if jobsB != nil {
return true, nil
}
t.Log("retrieved nil jobs from ServerB")
return false, nil
})
klog.Infof("\nServerB has retrieved jobs list of length %v \n\n", len(jobsB.Items))