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

Operator restart Integrations on upgrade #5491

Closed
squakez opened this issue May 9, 2024 · 1 comment
Closed

Operator restart Integrations on upgrade #5491

squakez opened this issue May 9, 2024 · 1 comment
Assignees
Labels
kind/bug Something isn't working
Milestone

Comments

@squakez
Copy link
Contributor

squakez commented May 9, 2024

Verified when upgrading from Camel version 2.3.0 to 2.3.1. Any existing integration is restarted and even a new Pod is scheduled (see log below). It is very likely because we use the operator version to calculate digest (see #5192) when we really should account for runtime version/provider instead.

NAME   PHASE     RUNTIME PROVIDER   RUNTIME VERSION   KIT                        REPLICAS
# Camel K 2.3.0
test   Building Kit   quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   
test   Deploying      quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   
test   Running        quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   0
test   Running        quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   1
test   Running        quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   1
# Camel K 2.3.1 upgrade
test   Running   quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   1
test   Running   quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   2
test   Running   quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   1
test   Running   quarkus            3.8.1             kit-couff1l2cjmc73fhht0g   1

The rebuild should only be performed manually.

@squakez squakez added the kind/bug Something isn't working label May 9, 2024
@squakez squakez added this to the 2.4.0 milestone May 9, 2024
@squakez squakez self-assigned this May 9, 2024
@squakez squakez modified the milestones: 2.4.0, 2.3.2 May 10, 2024
squakez added a commit to squakez/camel-k that referenced this issue May 10, 2024
* We should use RuntimeVersion and RuntimeProvider instead of Operator version to verify the upgrade process is correct
* We must make sure that no further Pod is started to take over an application automatically during upgrade process

Ref apache#5491
squakez added a commit to squakez/camel-k that referenced this issue May 10, 2024
... in favour of RuntimeProvider/Version
Additionally we  strengthen the calculation of a digest to take in consideration all possible values which should trigger a drift.

Closes apache#5491
squakez added a commit to squakez/camel-k that referenced this issue May 13, 2024
... in favour of RuntimeProvider/Version
Additionally we  strengthen the calculation of a digest to take in consideration all possible values which should trigger a drift.

Closes apache#5491
squakez added a commit to squakez/camel-k that referenced this issue May 14, 2024
squakez added a commit to squakez/camel-k that referenced this issue May 16, 2024
squakez added a commit to squakez/camel-k that referenced this issue May 16, 2024
@squakez
Copy link
Contributor Author

squakez commented May 16, 2024

I had a quick look at the history of the project and talking to historical contributors and it seems that I was making confusion between the concept of a build (which trigger a new Build, IntegrationKit, etc...) and the deploy. The original design was done to make sure the operator don't rebuild until the user would trigger the build manually (kamel rebuild), while keeping the possibility to redeploy the Integration according the new operator specifications (ie, changes in the Deployment). To be noticed that the rollout of the new Pod is done in accordance with this principle and it is not even happening every upgrade, but only when the new operator deployment logic make the changes that are transparently applied to the Integration resources involved.

I will take the opportunity and clarify this aspect adding the proper documentation.

In any case, the general review of the upgrade process is something that could be discussed and redesigned in the wider scope of the multi tenancy work effort that is ongoing as it seems to be a key feature that the new model should be able to provide in a seamless way.

@squakez squakez closed this as not planned Won't fix, can't repro, duplicate, stale May 16, 2024
squakez added a commit to squakez/camel-k that referenced this issue May 16, 2024
squakez added a commit to squakez/camel-k that referenced this issue May 16, 2024
squakez added a commit that referenced this issue May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant