test(kubelet): deflake TestRotateShutsDownConnections

Signed-off-by: knight42 <anonymousknight96@gmail.com>
This commit is contained in:
knight42 2020-09-18 16:47:22 +08:00
parent 8d30a5f136
commit 808867ba2f
No known key found for this signature in database
GPG Key ID: 61C5DB9CE28EED62
2 changed files with 9 additions and 5 deletions

View File

@ -42,6 +42,7 @@ go_test(
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
],

View File

@ -30,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/util/wait"
certificatesclient "k8s.io/client-go/kubernetes/typed/certificates/v1beta1"
"k8s.io/client-go/rest"
)
@ -208,14 +209,16 @@ func TestRotateShutsDownConnections(t *testing.T) {
// its connections to the server.
m.setCurrent(client2CertData.certificate)
for i := 0; i < 5; i++ {
time.Sleep(time.Millisecond * 10)
err = wait.PollImmediate(time.Millisecond*50, wait.ForeverTestTimeout, func() (done bool, err error) {
client.Get().Do(context.TODO())
if firstCertSerial.Cmp(lastSerialNumber()) != 0 {
// The certificate changed!
return
return true, nil
}
t.Logf("Certificate not changed, will retry.")
return false, nil
})
if err != nil {
t.Fatal("certificate rotated but client never reconnected with new cert")
}
t.Errorf("certificate rotated but client never reconnected with new cert")
}