lburgazzoli commented on code in PR #5511:
URL: https://github.com/apache/camel-k/pull/5511#discussion_r1603146363
##########
pkg/controller/integration/monitor.go:
##########
@@ -97,6 +98,26 @@ func (action *monitorAction) Handle(ctx context.Context,
integration *v1.Integra
return changed, nil
}
+ // We must skip the rest of operations if the target operator version
is different
+ // from the expected Integration operator version. This is likely
happening
+ // when the user upgrades from an operator version to another. Given
that the new operator may
+ // introduce changes in the Deployment or other resources we cannot
perform the rest of reconciliation safely.
+ if integration.Status.Version != defaults.Version {
Review Comment:
Not sure if this is what we really want because:
- each time the operator is upgraded, then the user has to perform some
tasks, likely, amending the integration in a way it goes back to the
initialization phase for all the integration it runs which is not what people
are expecting [from a level 3
operator](https://sdk.operatorframework.io/docs/overview/operator-capabilities/)
- it impacts also minor patches to the operator where it is not expected to
have any impact to running integrations
- hides any potential issue with pods as i.e. `monitorPods` is not being
invoked anymore.
I'd advise to find a more sustainable way to handle upgrades.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]