-
Notifications
You must be signed in to change notification settings - Fork 7.1k
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
Helm 3.13 is not backward compatible with 3.12 #12460
Comments
The ordering should be: 1. User specified values (e.g CLI) 2. Parent chart values 3. Imported values 4. Sub-chart values This enables parnet charts to import large set of values from a child and then override select values. This change is needed for backwards compatibility. Fixes helm#12460 Signed-off-by: Matt Farina <matt.farina@suse.com>
@mattfarina I think this should make things work like most people would expect again. I'm a little wary about all these precedence changes going on in helm 3.13, but I suppose it's for the better. I also think #11162 deserves some attention since you initially must have had a use-case for the values precedence when you were working on #12162 |
The ordering should be: 1. User specified values (e.g CLI) 2. Parent chart values 3. Imported values 4. Sub-chart values This enables parnet charts to import large set of values from a child and then override select values. This change is needed for backwards compatibility. Fixes #12460 Signed-off-by: Matt Farina <matt.farina@suse.com> (cherry picked from commit 25371e2)
Helm 3.13 was actually compatible with anything below Helm 3.8.1. :( Helm 3.8.2 - 3.12 were the incompatible ones! |
Can we have some comment from the maintainers of Helm whether 3.13 or 3.14 was an error and might be reverted again - right now Flux v2.2.2 is running Helm 3.13 and at least @hedayat here has a use case that prefers the 3.13 (and <3.8.2) behavior. I understand that it has been changed again in 3.14. Flux is not able to upgrade to 3.14 immediately due to some unrelated issues that may be resolved in their own time. I refer to all these issues, I'm not sure if there is any response. But if there is any chance that it will be reverted again, then Flux devs may abandon their efforts to migrate to Helm 3.14. Ref:
Again, I am asking for clarification only because right now there is an incompatibility that I'm not fully briefed on which prevents Flux from upgrading to Helm 3.14.x, if someone from the Helm project can weigh in, it may save us from some waste cycles, or help us better direct our efforts here. Thanks friends |
Hi @kingdonb and @hedayat, appreciate you raising this and asking again. Thanks for your patience and community collaboration. We know there are a handful of people who are trying to reconcile which version of Helm had breaking changes and which ones fix them. Maintainers have replied to questions and comments in issues and PRs, and have discussed these in weekly Helm dev meetings. However, I acknowledge we could be better about communicating where we are at with this, given that it seems to be not fully resolved for all use cases. About the versions. While Helm values handling has worked for the majority of users, for less common use cases there have been several previous bugs for years. We attempted to fix some of these in Helm 3.13, but that introduced breaking changes we missed. We fixed the breaking changes in 3.14, but that seems to have introduced related bugs for other use cases like @hedayat’s. There may be versions or details I missed here, but we can test/document them together. For now, we are working on Helm values handling as a high priority:
Feel free to comment on that Google doc, just bear in mind it is very much a work in progress at present. A good way to help this effort is to document your use cases. This would help us ensure there are automated tests for each, to catch bugs that would impact your use cases before any future PRs are merged. If you have any further questions about this or other ideas on how you can help, the weekly Helm dev meetings are a good place to engage or coordinate with maintainers working on this. |
Thanks for your comprehensive reply. I've added a comment and a use-case to the doc. |
Output of
helm version
:Output of
kubectl version
:Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Not applicable
I have found in a few projects that helm 3.13 is not rendering the same output as 3.12. I've set up a simple minimal reproducible example at https://github.com/zevisert/helm-3-13-rendering-mre
Either way, here's some console output showing what I'm running into:
Here is the side-by-side diff between the two outputs (templated-3.12.yaml vs templated 3.13.yaml)
The text was updated successfully, but these errors were encountered: