Merge pull request #1195 from munnerz/increase-acme-backoff

Increase ACME control loop & order creation back-off
This commit is contained in:
jetstack-bot 2019-01-11 10:47:11 +00:00 committed by GitHub
commit 1440e9ed57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 6 deletions

View File

@ -70,8 +70,7 @@ func New(ctx *controllerpkg.Context) *Controller {
ctrl := &Controller{Context: *ctx}
ctrl.syncHandler = ctrl.processNextWorkItem
// exponentially back-off self checks, with a base of 2s and max wait of 20s
ctrl.queue = workqueue.NewNamedRateLimitingQueue(controllerpkg.DefaultItemBasedRateLimiter(), "challenges")
ctrl.queue = workqueue.NewNamedRateLimitingQueue(workqueue.NewItemExponentialFailureRateLimiter(time.Second*5, time.Minute*30), "challenges")
challengeInformer := ctrl.SharedInformerFactory.Certmanager().V1alpha1().Challenges()
challengeInformer.Informer().AddEventHandler(&controllerpkg.QueuingEventHandler{Queue: ctrl.queue})

View File

@ -161,8 +161,8 @@ func (c *Controller) Sync(ctx context.Context, ch *cmapi.Challenge) (err error)
return err
}
// retry after 5s
c.queue.AddAfter(key, time.Second*5)
// retry after 10s
c.queue.AddAfter(key, time.Second*10)
return nil
}

View File

@ -65,7 +65,7 @@ func New(ctx *controllerpkg.Context) *Controller {
ctrl := &Controller{Context: *ctx}
ctrl.syncHandler = ctrl.processNextWorkItem
ctrl.queue = workqueue.NewNamedRateLimitingQueue(controllerpkg.DefaultItemBasedRateLimiter(), "orders")
ctrl.queue = workqueue.NewNamedRateLimitingQueue(workqueue.NewItemExponentialFailureRateLimiter(time.Second*5, time.Minute*30), "orders")
orderInformer := ctrl.SharedInformerFactory.Certmanager().V1alpha1().Orders()
orderInformer.Informer().AddEventHandler(&controllerpkg.QueuingEventHandler{Queue: ctrl.queue})

View File

@ -42,7 +42,7 @@ import (
)
const (
createOrderWaitDuration = time.Minute * 5
createOrderWaitDuration = time.Hour * 1
)
var (
@ -140,6 +140,7 @@ func (a *Acme) Issue(ctx context.Context, crt *v1alpha1.Certificate) (*issuer.Is
if crt.Status.LastFailureTime == nil {
nowTime := metav1.NewTime(a.clock.Now())
crt.Status.LastFailureTime = &nowTime
a.Recorder.Eventf(crt, corev1.EventTypeWarning, "FailedOrder", "Order %q failed. Waiting %s before retrying issuance.", existingOrder.Name, createOrderWaitDuration)
}
if time.Now().Sub(crt.Status.LastFailureTime.Time) < createOrderWaitDuration {