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

Drift Hash Versioning #957

Closed
engedaam opened this issue Jan 24, 2024 · 1 comment
Closed

Drift Hash Versioning #957

engedaam opened this issue Jan 24, 2024 · 1 comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. v1 Issues requiring resolution by the v1 milestone

Comments

@engedaam
Copy link
Contributor

Description

What problem are you trying to solve?

The current implementation of the hashing mechanism that is utilized for drift does not make any consideration when there are updates to the NodePool CRDs during karpenter upgrades. The problem that is present here is that all nodes on a customers cluster will get drifted without any changes to the node configuration, but when upgrading the Karpenter CRDs.

More generally, Karpenter will need guard against the following cases during a karpenter upgrade:

  1. NodePool adds a default value to existing fields that are included in hash calculations
  2. NodePool field added to the hash calculation with an already-set values
  3. NodePool field, with and without defaults values, is removed from the hash calculations

Without safeguards, users that upgrade to new versions of Karpenter with changes to Drift hashing mechanism will see their whole fleet rolled over and recycled.

This would required to support in solving the following issues: #909, #337, #493, and aws/karpenter-provider-aws#5447

How important is this feature to you?
This will need to be implemented before v1

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
@engedaam engedaam added kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 24, 2024
@njtran njtran added the v1 Issues requiring resolution by the v1 milestone label Jan 25, 2024
@jonathan-innis jonathan-innis removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 26, 2024
@engedaam
Copy link
Contributor Author

This issue has been implemented and will be in the next release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. v1 Issues requiring resolution by the v1 milestone
Projects
None yet
Development

No branches or pull requests

3 participants