Skip to content

Commit c6cdc02

Browse files
authored
Merge pull request kubernetes#94880 from knight42/fix/TestRotateShutsDownConnections
test(kubelet): deflake TestRotateShutsDownConnections
2 parents 467f6f0 + 808867b commit c6cdc02

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

pkg/kubelet/certificate/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ go_test(
4242
"//staging/src/k8s.io/api/core/v1:go_default_library",
4343
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
4444
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
45+
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
4546
"//staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1:go_default_library",
4647
"//staging/src/k8s.io/client-go/rest:go_default_library",
4748
],

pkg/kubelet/certificate/transport_test.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030

3131
"k8s.io/apimachinery/pkg/runtime"
3232
"k8s.io/apimachinery/pkg/runtime/serializer"
33+
"k8s.io/apimachinery/pkg/util/wait"
3334
certificatesclient "k8s.io/client-go/kubernetes/typed/certificates/v1beta1"
3435
"k8s.io/client-go/rest"
3536
)
@@ -208,14 +209,16 @@ func TestRotateShutsDownConnections(t *testing.T) {
208209
// its connections to the server.
209210
m.setCurrent(client2CertData.certificate)
210211

211-
for i := 0; i < 5; i++ {
212-
time.Sleep(time.Millisecond * 10)
212+
err = wait.PollImmediate(time.Millisecond*50, wait.ForeverTestTimeout, func() (done bool, err error) {
213213
client.Get().Do(context.TODO())
214214
if firstCertSerial.Cmp(lastSerialNumber()) != 0 {
215215
// The certificate changed!
216-
return
216+
return true, nil
217217
}
218+
t.Logf("Certificate not changed, will retry.")
219+
return false, nil
220+
})
221+
if err != nil {
222+
t.Fatal("certificate rotated but client never reconnected with new cert")
218223
}
219-
220-
t.Errorf("certificate rotated but client never reconnected with new cert")
221224
}

0 commit comments

Comments
 (0)