Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase ACME control loop & order creation back-off #1195

Merged
merged 1 commit into from Jan 11, 2019

Conversation

munnerz
Copy link
Member

@munnerz munnerz commented Jan 10, 2019

What this PR does / why we need it:

  1. Increases our maximum back-off time to 30m for both Order and Challenge resource types, when the control loop returns an error (e.g. an http client error)
  2. Decreases the self-check frequency from every 5s to every 10s
  3. Increases the amount of time between Order attempts if an order fails from 5m to 1h

In future I'd like to make (3) also exponentially back-off as-per the Let's Encrypt client guidelines. This will require us to record more information about how many failures have passed, so I am deferring this for now.

(1) should also help reduce the number of times we re-attempt calls to the ACME server. With a base of 5s and a max of 30m, we will quickly only be re-attempting client calls every 30 minutes in the event they are persistently failing (i.e. due to certain endpoints hitting rate limits)

We are now able to use these higher numbers as a result of refactoring the way we use errors in the ACME orders & challenges process. For normal operation, this should be a non-issue for the majority of users. Only users who have got misconfigured setups will see long wait times.

Release note:

Increase back-off time between ACME order attempts on failure from 5m to 1h

…ff to 1h. Fire Event when Order fails.

Signed-off-by: James Munnelly <james@munnelly.eu>
@jetstack-bot jetstack-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. labels Jan 10, 2019
@munnerz munnerz added the area/acme Indicates a PR directly modifies the ACME Issuer code label Jan 10, 2019
@jetstack-bot jetstack-bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 10, 2019
@munnerz
Copy link
Member Author

munnerz commented Jan 10, 2019

/retest

@munnerz
Copy link
Member Author

munnerz commented Jan 10, 2019

cc @jsha @cpu

@munnerz munnerz added this to the v0.6 milestone Jan 10, 2019
@munnerz munnerz added this to Needs review in v0.6 Jan 10, 2019
Copy link
Contributor

@kragniz kragniz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

v0.6 automation moved this from Needs review to Reviewer approved Jan 11, 2019
@jetstack-bot jetstack-bot added the lgtm Indicates that a PR is ready to be merged. label Jan 11, 2019
@jetstack-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kragniz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jetstack-bot jetstack-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 11, 2019
@jetstack-bot jetstack-bot merged commit 1440e9e into cert-manager:master Jan 11, 2019
v0.6 automation moved this from Reviewer approved to Done Jan 11, 2019
@kragniz
Copy link
Contributor

kragniz commented Jan 11, 2019

In future I'd like to make (3) also exponentially back-off as-per the Let's Encrypt client guidelines. This will require us to record more information about how many failures have passed, so I am deferring this for now.

@munnerz want to open an issue for this?

@munnerz munnerz deleted the increase-acme-backoff branch January 29, 2019 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/acme Indicates a PR directly modifies the ACME Issuer code dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
No open projects
v0.6
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants