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

BREAKING CHANGE: Move instance type filtering from implicit to explicit at defaulting time #2779

Merged
merged 1 commit into from
Nov 2, 2022

Conversation

ellistarn
Copy link
Contributor

@ellistarn ellistarn commented Nov 1, 2022

Fixes #

Description
This change will force a minor version bump as specified in https://karpenter.sh/docs/upgrade-guide/

Instance category defaults are now explicitly persisted in the Provisioner, rather than handled implicitly in memory. By default, Provisioners will limit instance category to c,m,r. If any instance type constraints are applied, it will override this default. If you have created Provisioners in the past with unconstrained instance type, family, or category, Karpenter will now more flexibly use instance types than before. If you would like to apply these constraints, they must be included in the Provisioner CRD.

This also helps to decouple instance type from provisioner, enabling upcoming work.

How was this change tested?

  • make test

Does this change impact docs?

  • Yes, PR includes docs updates
  • Yes, issue opened: #
  • No

Release Note

Instance category defaults are now explicitly persisted in the Provisioner, rather than handled implicitly in memory. By default, Provisioners will limit instance category to c,m,r. If any instance type constraints are applied, it will override this default. If you have created Provisioners in the past with unconstrained instance type, family, or category, Karpenter will now more flexibly use instance types than before. If you would like to apply these constraints, they must be included in the Provisioner CRD.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ellistarn ellistarn requested a review from a team as a code owner November 1, 2022 18:51
@netlify
Copy link

netlify bot commented Nov 1, 2022

Deploy Preview for karpenter-docs-prod canceled.

Name Link
🔨 Latest commit 372e573
🔍 Latest deploy log https://app.netlify.com/sites/karpenter-docs-prod/deploys/6362a36b22bf080009880af7

@ellistarn ellistarn changed the title BREAKING CHANGE: removed instance type filtering and add them at defaulting time BREAKING CHANGE: Move instance type filtering from implicit to explicit at defaulting time Nov 1, 2022
@ellistarn ellistarn force-pushed the defaults branch 5 times, most recently from 83a87f4 to 8f29fb9 Compare November 1, 2022 23:19
pkg/apis/v1alpha5/provisioner.go Outdated Show resolved Hide resolved
bwagner5
bwagner5 previously approved these changes Nov 2, 2022
Copy link
Contributor

@bwagner5 bwagner5 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@bwagner5 bwagner5 left a comment

Choose a reason for hiding this comment

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

LGTM

@ellistarn ellistarn merged commit ed09c80 into aws:main Nov 2, 2022
@ellistarn ellistarn deleted the defaults branch November 2, 2022 17:30
@@ -98,7 +98,8 @@ By adopting this practice we allow our users who are early adopters to test out
# Released Upgrade Notes

## Upgrading to v0.19.0+
* v0.19.0 combines the karpenter webhook and controller containers into a single binary, which requires changes to the helm chart. If your Karpenter installation (helm or otherwise) currently customizes the karpenter webhook, your deployment tooling may require minor changes.
* The karpenter webhook and controller containers are combined into a single binary, which requires changes to the helm chart. If your Karpenter installation (helm or otherwise) currently customizes the karpenter webhook, your deployment tooling may require minor changes.
* Instance category defaults are now explicitly persisted in the Provisioner, rather than handled implicitly in memory. By default, Provisioners will limit instance category to c,m,r. If any instance type constraints are applied, it will override this default. If you have created Provisioners in the past with unconstrained instance type, family, or category, Karpenter will now more flexibly use instance types than before. If you would like to apply these constraints, they must be included in the Provisioner CRD.
Copy link
Contributor

Choose a reason for hiding this comment

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

are arm instances excluded then?
cause those are g

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants