OCPBUGS-74389: fix: create separate config client to resolve APIServer TLS update conflicts#3753
Merged
openshift-merge-bot[bot] merged 1 commit intooperator-framework:masterfrom Jan 26, 2026
Conversation
…nflicts Problem: The olm-operator fails to receive subsequent APIServer TLS configuration updates after the initial sync. This is because two SharedInformerFactory instances were being created from the same client, causing watch conflicts: 1. APIServer TLS factory (created in SetupAPIServerTLSConfig) 2. Proxy factory (created inside the OLM operator) Both factories watch config.openshift.io resources but don't share watch state, leading to one factory not receiving all update events. Solution: Create a separate configclientset.Interface instance for the operator's proxy syncer. This ensures each SharedInformerFactory has its own client, preventing watch conflicts.
Contributor
|
/lgtm |
Member
Author
|
Created openshift/operator-framework-olm#1204 to test out fix in cluster. Test confirms fix works: |
camilamacedo86
approved these changes
Jan 26, 2026
Contributor
|
/approve Since @camilamacedo86 approved it, along with me |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: camilamacedo86, tmshort The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
3e24482
into
operator-framework:master
14 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the change:
Create a separate configclientset.Interface instance for the operator's proxy syncer. This ensures each SharedInformerFactory has its own client, preventing watch conflicts.
Motivation for the change:
The olm-operator fails to receive subsequent APIServer TLS configuration updates after the initial sync. This is because two SharedInformerFactory instances were being created from the same client, causing watch conflicts:
Both factories watch config.openshift.io resources but don't share watch state, leading to one factory not receiving all update events.
Architectural changes:
Testing remarks:
Reviewer Checklist
/doc[FLAKE]are truly flaky and have an issue