-
Notifications
You must be signed in to change notification settings - Fork 212
OTA-209: Add CVOConfiguration controller #1163
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
OTA-209: Add CVOConfiguration controller #1163
Conversation
Make the CVO aware of a new feature gate called ClusterVersionOperatorConfiguration, which was introduced in [1]. [1]: openshift/api#2044
The controller has an empty reconcile logic as of now. The logic will be implemented later. The goal of this commit is to introduce a new CVO controller, which can optionally (depending on the state of the CVOConfiguration feature gate) create a new informer. The purpose of the `Start` method is to make the creation of a ClusterVersionOperator informer optional, and to make the creation possible later in the CVO logic by restarting the operator informer factory. To decide whether to create the informer, feature gates must be known, which happens normally later in the run when all the other informer factories are already created and inaccessible to the main CVO controller. Related enhancement: [1] [1]: https://github.com/openshift/enhancements/blob/2890cccf20ebcb94fce901f7afb170ca680aa2d9/enhancements/update/cvo-log-level-api.md
HyperShift will not create the ClusterVersionOperator CRD and CR. Thus, the relevant logic does not have to be running. Later, in HyperShift, we will configure the CVO to be configured via a configuration file instead.
|
@DavidHurta: This pull request references OTA-209 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
The PR contains the manifests as of now as well. However, the manifests will be merged in #1161. Right now the PR contains them for testing purposes. I will drop the commits once the PR merges (or I suppose that the GitHub will start to ignore the commits). |
|
@DavidHurta: This pull request references OTA-209 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Testing on a Default feature set:Everything as expected. No errors: Manifests are excluded, go routine is not run: DevPreviewNoUpgrade feature set:Errors are detected: Most of the errors are expected. Otherwise, the controller is running as expected. Syncs are run every |
|
/retest-required |
a002d37 to
d09c388
Compare
|
/test e2e-agnostic-usc-devpreview |
|
/test e2e-agnostic-ovn |
petr-muller
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
I'd be more comfortable if Trevor took a look but I do not want to block this
In case the resource is deleted, enqueue a sync to set default values.
d09c388 to
63878c0
Compare
|
/hold |
|
/unhold |
|
/test ? |
|
@DavidHurta: The following commands are available to trigger required jobs: The following commands are available to trigger optional jobs: Use DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/test e2e-agnostic-operator-devpreview |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: DavidHurta, petr-muller 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 |
|
@DavidHurta: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/label no-qe As per internal discussion, labeling as no-qe. The OTA-209 will be tested via post-merge testing. The card consists of multiple smaller PRs. There is nothing extra to be verified by the QE on the PR. Most of the functionalities are gated and any significant regression should be discoverable via CI. |
|
[ART PR BUILD NOTIFIER] Distgit: cluster-version-operator |
The controller has an empty reconciliation logic as of now.
The logic will be implemented in a follow-up PR. The goal of this PR is to introduce a new CVO controller, which can optionally (depending on the state of the
CVOConfigurationfeature gate) create a new informer.