Skip to content

Commit d9c46d8

Browse files
authored
Merge pull request kubernetes#127909 from richabanker/mvp-cleanup
Reduce IdentityLeaseRenewIntervalPeriod in peer_proxy test
2 parents c9ff60d + fe97e41 commit d9c46d8

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

staging/src/k8s.io/apiserver/pkg/util/peerproxy/peerproxy_handler.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,8 @@ func (h *peerProxyHandler) resolveServingLocation(apiservers *sync.Map) (bool, [
199199
apiserverKey := key.(string)
200200
if apiserverKey == h.serverId {
201201
locallyServiceable = true
202-
// stop iteration
202+
// stop iteration and reset any errors encountered so far.
203+
respErr = nil
203204
return false
204205
}
205206

staging/src/k8s.io/apiserver/pkg/util/peerproxy/peerproxy_handler_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,10 @@ func TestPeerProxy(t *testing.T) {
285285
}
286286
req.Header.Set(PeerProxiedHeader, tt.peerproxiedHeader)
287287

288-
resp, _ := requestGetter(req)
288+
resp, err := requestGetter(req)
289+
if err != nil {
290+
t.Fatalf("unexpected error trying to get the request: %v", err)
291+
}
289292

290293
// compare response
291294
assert.Equal(t, tt.expectedStatus, resp.StatusCode)

test/integration/apiserver/peerproxy/peer_proxy_test.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,13 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
133133
// set lease duration to 1s for serverA to ensure that storageversions for serverA are updated
134134
// once it is shutdown
135135
controlplaneapiserver.IdentityLeaseDurationSeconds = 10
136-
controlplaneapiserver.IdentityLeaseGCPeriod = time.Second
137-
controlplaneapiserver.IdentityLeaseRenewIntervalPeriod = 10 * time.Second
136+
controlplaneapiserver.IdentityLeaseGCPeriod = 2 * time.Second
137+
controlplaneapiserver.IdentityLeaseRenewIntervalPeriod = time.Second
138138

139139
// start serverA with all APIs enabled
140140
// override hostname to ensure unique ips
141141
server.SetHostnameFuncForTests("test-server-a")
142+
t.Log("starting apiserver for ServerA")
142143
serverA := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{}, etcd)
143144
kubeClientSetA, err := kubernetes.NewForConfig(serverA.ClientConfig)
144145
require.NoError(t, err)
@@ -153,6 +154,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
153154
// start serverB with some api disabled
154155
// override hostname to ensure unique ips
155156
server.SetHostnameFuncForTests("test-server-b")
157+
t.Log("starting apiserver for ServerB")
156158
serverB := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{
157159
fmt.Sprintf("--runtime-config=%v", "batch/v1=false")}, etcd)
158160
defer serverB.TearDownFn()
@@ -165,6 +167,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
165167
// start serverC with all APIs enabled
166168
// override hostname to ensure unique ips
167169
server.SetHostnameFuncForTests("test-server-c")
170+
t.Log("starting apiserver for ServerC")
168171
serverC := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{}, etcd)
169172
defer serverC.TearDownFn()
170173

@@ -180,14 +183,24 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
180183

181184
var jobsB *v1.JobList
182185
// list jobs using ServerB which it should proxy to ServerC and get back valid response
183-
err = wait.PollImmediate(1*time.Second, 1*time.Minute, func() (bool, error) {
186+
err = wait.PollUntilContextTimeout(ctx, 1*time.Second, 1*time.Minute, false, func(ctx context.Context) (bool, error) {
187+
select {
188+
case <-ctx.Done():
189+
return false, ctx.Err()
190+
default:
191+
}
192+
193+
t.Log("retrieving jobs from ServerB")
184194
jobsB, err = kubeClientSetB.BatchV1().Jobs("default").List(context.Background(), metav1.ListOptions{})
185195
if err != nil {
196+
t.Logf("error trying to list jobs from ServerB: %v", err)
186197
return false, nil
187198
}
199+
188200
if jobsB != nil {
189201
return true, nil
190202
}
203+
t.Log("retrieved nil jobs from ServerB")
191204
return false, nil
192205
})
193206
klog.Infof("\nServerB has retrieved jobs list of length %v \n\n", len(jobsB.Items))

0 commit comments

Comments
 (0)