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,16 +221,25 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource. ...@@ -220,16 +221,25 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource.
if err != nil { if err != nil {
return err return err
} }
for i := 0; ; i++ {
csr := info.Object.(*certificates.CertificateSigningRequest) csr := info.Object.(*certificates.CertificateSigningRequest)
csr, hasCondition := modify(csr) csr, hasCondition := modify(csr)
if !hasCondition || force { if !hasCondition || force {
csr, err = clientSet.Certificates(). csr, err = clientSet.Certificates().
CertificateSigningRequests(). CertificateSigningRequests().
UpdateApproval(csr) UpdateApproval(csr)
if errors.IsConflict(err) && i < 10 {
if err := info.Get(); err != nil {
return err
}
continue
}
if err != nil { if err != nil {
return err return err
} }
} }
break
}
found++ found++
return options.PrintObj(cmdutil.AsDefaultVersionedOrOriginal(info.Object, info.Mapping), options.Out) return options.PrintObj(cmdutil.AsDefaultVersionedOrOriginal(info.Object, info.Mapping), options.Out)
......
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