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 cannot be upgraded from a previous version from operatorhub.io #297

Closed
yersan opened this issue Mar 7, 2024 · 0 comments · Fixed by #300
Closed

Operator cannot be upgraded from a previous version from operatorhub.io #297

yersan opened this issue Mar 7, 2024 · 0 comments · Fixed by #300

Comments

@yersan
Copy link
Collaborator

yersan commented Mar 7, 2024

We have been using the leader-for-life strategy to configure the leader election. With the latest Operator SDK upgrade, this strategy has become problematic when the Operator is being upgraded to a new version. The new release has to become the leader, however, the old version is not removed until the new one is available. That leads to the situation of a deadlock where the lock is never released waiting for the new version.

We have been using this strategy from the beginning, but it seems we have hit the problem only now after the SDK upgrade to 1.22.

The default strategy used by the Operator SDK is Leader with lease, so we could use such a strategy instead. This strategy could lead to a split-brain situation, so it must be evaluated more carefully before proceeding. Meanwhile, we can update the lock name so the leader election can succeed in the middle of an upgrade.

See k8s-operatorhub/community-operators#3934 as reference

yersan added a commit to yersan/wildfly-operator that referenced this issue Mar 7, 2024
yersan added a commit to yersan/wildfly-operator that referenced this issue Mar 7, 2024
yersan added a commit to yersan/wildfly-operator that referenced this issue Mar 7, 2024
yersan added a commit that referenced this issue Mar 7, 2024
[#297] Upgrade leader eleccion lock name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant