Unverified Commit 44dd0c24 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #63416 from smarterclayton/retry_approve

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Retry certificate approval on conflict errors We already check preconditions. We were seeing a non-trivial number of conflicts when using the command from automation. Fixes openshift/origin#19430 @mikedanese @mfojtik
parents 835afe68 3b6bd9be
...@@ -20,6 +20,7 @@ import ( ...@@ -20,6 +20,7 @@ import (
"fmt" "fmt"
"io" "io"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
...@@ -220,15 +221,24 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource. ...@@ -220,15 +221,24 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource.
if err != nil { if err != nil {
return err return err
} }
csr := info.Object.(*certificates.CertificateSigningRequest) for i := 0; ; i++ {
csr, hasCondition := modify(csr) csr := info.Object.(*certificates.CertificateSigningRequest)
if !hasCondition || force { csr, hasCondition := modify(csr)
csr, err = clientSet.Certificates(). if !hasCondition || force {
CertificateSigningRequests(). csr, err = clientSet.Certificates().
UpdateApproval(csr) CertificateSigningRequests().
if err != nil { UpdateApproval(csr)
return err if errors.IsConflict(err) && i < 10 {
if err := info.Get(); err != nil {
return err
}
continue
}
if err != nil {
return err
}
} }
break
} }
found++ found++
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment