mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
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
This commit is contained in:
commit
44dd0c2431
@ -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.
|
|||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user