Merge pull request #4924 from maelvls/fix-flakiness

Retry on conflict for the end-to-end test "added an additional dnsName"
This commit is contained in:
jetstack-bot 2022-03-16 13:36:35 +00:00 committed by GitHub
commit d60a5cf7d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 3 deletions

View File

@ -26,6 +26,8 @@ go_library(
"@io_k8s_api//networking/v1:go_default_library",
"@io_k8s_api//networking/v1beta1:go_default_library",
"@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
"@io_k8s_apimachinery//pkg/types:go_default_library",
"@io_k8s_client_go//util/retry:go_default_library",
],
)

View File

@ -27,6 +27,8 @@ import (
networkingv1 "k8s.io/api/networking/v1"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/util/retry"
"github.com/cert-manager/cert-manager/internal/controller/feature"
cmapi "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
@ -886,11 +888,21 @@ func (s *Suite) Define() {
Expect(err).NotTo(HaveOccurred())
By("Updating the Certificate after having added an additional dnsName")
testCertificate = testCertificate.DeepCopy() // DeepCopy before updating
newDNSName := e2eutil.RandomSubdomain(s.DomainSuffix)
testCertificate.Spec.DNSNames = append(testCertificate.Spec.DNSNames, newDNSName)
retry.RetryOnConflict(retry.DefaultRetry, func() error {
err = f.CRClient.Get(context.Background(), types.NamespacedName{Name: testCertificate.Name, Namespace: testCertificate.Namespace}, testCertificate)
if err != nil {
return err
}
testCertificate.Spec.DNSNames = append(testCertificate.Spec.DNSNames, newDNSName)
err = f.CRClient.Update(context.Background(), testCertificate)
if err != nil {
return err
}
return nil
})
err = f.CRClient.Update(context.TODO(), testCertificate)
Expect(err).NotTo(HaveOccurred())
By("Waiting for the Certificate Ready condition to be updated")