Merge pull request #4925 from maelvls/fix-another-flakiness

Retry on conflict for the end-to-end test "CA Injector for api services should update data when the certificate changes"
This commit is contained in:
jetstack-bot 2022-03-16 14:12:35 +00:00 committed by GitHub
commit be9f2aeafa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 3 deletions

View File

@ -19,6 +19,7 @@ go_library(
"@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
"@io_k8s_apimachinery//pkg/runtime:go_default_library",
"@io_k8s_apimachinery//pkg/types:go_default_library",
"@io_k8s_client_go//util/retry:go_default_library",
"@io_k8s_kube_aggregator//pkg/apis/apiregistration/v1:go_default_library",
"@io_k8s_sigs_controller_runtime//pkg/client:go_default_library",
],

View File

@ -29,6 +29,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/util/retry"
apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
certmanager "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
@ -152,9 +153,20 @@ var _ = framework.CertManagerDescribe("CA Injector", func() {
injectable, cert := generalSetup(test.makeInjectable("changed"))
By("changing the name of the corresponding secret in the cert")
cert = cert.DeepCopy() // DeepCopy before updating
cert.Spec.DNSNames = append(cert.Spec.DNSNames, "something.com")
Expect(f.CRClient.Update(context.Background(), cert)).To(Succeed())
retry.RetryOnConflict(retry.DefaultRetry, func() error {
err := f.CRClient.Get(context.Background(), types.NamespacedName{Name: cert.Name, Namespace: cert.Namespace}, cert)
if err != nil {
return err
}
cert.Spec.DNSNames = append(cert.Spec.DNSNames, "something.com")
err = f.CRClient.Update(context.Background(), cert)
if err != nil {
return err
}
return nil
})
cert, err := f.Helper().WaitForCertificateReadyAndDoneIssuing(cert, time.Second*30)
Expect(err).NotTo(HaveOccurred(), "failed to wait for Certificate to become updated")