-
Notifications
You must be signed in to change notification settings - Fork 352
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
Camel K 2.x upgrade 1.x strategy #4179
Comments
It is interesting how syndesis upgraded to new versions. It migrates the old custom resources to new one. This way the apis can be upgrade from v1alpha -> v1beta -> v1 -> ... |
Thanks for the link, was not aware of that in Syndesis. I'm right now looking to solve this problem as it finally we'll need to upgrade the |
I'm trying to follow the tutorial here https://book.kubebuilder.io/multiversion-tutorial/conversion.html However, we have some problem because the |
I'm thinking that in our case we may take care to convert them on the fly, during a the first reconciliation loop. Basically, when a |
I think that must be an opt in settings and I would be really careful to do it by default as i.e. in a gitops scenario like with argocd, if the kameletbinding get translated to binding, then argocd would probably detect a drift and re-apply the kameletbinding resulting in a ping-pong scenario |
Yes, my main concern is to avoid such kind of situations as we don't know how exactly those resources are deployed to the cluster. Right now, with no conversion in place, what it happens in an upgrade scenario is that a KameletBinding is no longer reconciled when we move to Camel K V2. The resource will sit there with nobody reconciling it. Another possibility is to delegate such a conversion on the |
Do you think it would help if both |
I think that if we leave the KameltBinding CR we also must reconcile it so yeah they must co-exist. How technically that's done that's something for which I don't have any strong opinion. |
Okey, that was something I did not take in consideration. I see your point, but this is adding some complexity. Friday afternoon is not very good for designing things... I'll have some thought next week :) |
I'm working to maintain EDIT: it seems this mechanism is already provided ootb by kubernetes, so, we should be okey to use v1alpha1. I am now testing the upgrade scenarios to ensure all is good to go. |
Upgrade strategy defined in https://camel.apache.org/camel-k/next/contributing/upgrade.html |
Originally posted by @squakez in #4156 (comment)
As we are moving to a new version (which may have its own sets of API) which may require breaking change from V1, I wonder if it makes sense and how should be an upgrade process. I think the main problem would be any running Integration, how should we make this transition happens correctly?
The text was updated successfully, but these errors were encountered: