Skip to content

Commit fe21843

Browse files
authored
Merge pull request kubernetes#127974 from jpbetz/mvp-test-cleanup
peerproxy flake: Use t.Cleanup instead of defer to shut down servers
2 parents 582dcc2 + 875d163 commit fe21843

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

test/integration/apiserver/peerproxy/peer_proxy_test.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ func TestPeerProxiedRequest(t *testing.T) {
5252

5353
ktesting.SetDefaultVerbosity(1)
5454
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
55-
t.Cleanup(cancel)
55+
defer func() {
56+
t.Cleanup(cancel) // register context cancellation last so it is cleaned up before servers
57+
}()
5658

5759
// ensure to stop cert reloading after shutdown
5860
transport.DialerStopCh = ctx.Done()
@@ -76,7 +78,7 @@ func TestPeerProxiedRequest(t *testing.T) {
7678
EnableCertAuth: true,
7779
ProxyCA: &proxyCA},
7880
[]string{}, etcd)
79-
defer serverA.TearDownFn()
81+
t.Cleanup(serverA.TearDownFn)
8082

8183
// start another test server with some api disabled
8284
// override hostname to ensure unique ips
@@ -85,7 +87,7 @@ func TestPeerProxiedRequest(t *testing.T) {
8587
EnableCertAuth: true,
8688
ProxyCA: &proxyCA},
8789
[]string{fmt.Sprintf("--runtime-config=%s", "batch/v1=false")}, etcd)
88-
defer serverB.TearDownFn()
90+
t.Cleanup(serverB.TearDownFn)
8991

9092
kubeClientSetA, err := kubernetes.NewForConfig(serverA.ClientConfig)
9193
require.NoError(t, err)
@@ -113,7 +115,9 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
113115

114116
ktesting.SetDefaultVerbosity(1)
115117
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
116-
t.Cleanup(cancel)
118+
defer func() {
119+
t.Cleanup(cancel) // register context cancellation last so it is cleaned up before servers
120+
}()
117121

118122
// ensure to stop cert reloading after shutdown
119123
transport.DialerStopCh = ctx.Done()
@@ -157,7 +161,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
157161
t.Log("starting apiserver for ServerB")
158162
serverB := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{
159163
fmt.Sprintf("--runtime-config=%v", "batch/v1=false")}, etcd)
160-
defer serverB.TearDownFn()
164+
t.Cleanup(serverB.TearDownFn)
161165
kubeClientSetB, err := kubernetes.NewForConfig(serverB.ClientConfig)
162166
require.NoError(t, err)
163167
// ensure storageversion garbage collector ctlr is set up
@@ -169,7 +173,7 @@ func TestPeerProxiedRequestToThirdServerAfterFirstDies(t *testing.T) {
169173
server.SetHostnameFuncForTests("test-server-c")
170174
t.Log("starting apiserver for ServerC")
171175
serverC := kastesting.StartTestServerOrDie(t, &kastesting.TestServerInstanceOptions{EnableCertAuth: true, ProxyCA: &proxyCA}, []string{}, etcd)
172-
defer serverC.TearDownFn()
176+
t.Cleanup(serverC.TearDownFn)
173177

174178
// create jobs resource using serverA
175179
job := createJobResource()

0 commit comments

Comments
 (0)