Skip to content

Conversation

@openshift-cherrypick-robot

This is an automated cherry-pick of #1788

/assign donpenney

donpenney added 3 commits May 31, 2023 16:08
The allowlist reconciler was being triggered every time any configmap in
any namespace changes, which effectively means the reconciler was
repeatedly running thousands of times per hour. In addition to the CPU
hit, the first thing done by the reconciler is a configmap GET request
for the allowlist configmap, regardless of the triggering configmap,
creating the allowlist configmap if it doesn't exist. This results in
thousands of avoidable configmap API requests per hour.

This commit updates the allowlist watcher to to use a configmap informer
for a specific namespace, rather than triggering the reconciler whenever
any configmap in any namespace changes. In addition, custom predicates
filter requests for configmaps other than the allowlist or default
allowlist. As a result, the allowlist reconciler is now only called if
the allowlist configmap changes.

Signed-off-by: Don Penney <dpenney@redhat.com>
An earlier update added additional watchers to the operconfig
reconciler, watching for configmap and node changes, with a request
transformer that sets the network operator namespace along with network
name. However, because the network object isn't namespaced, the
reconciler is effectively called with two different request objects,
returning a RequeueAfter on every call. This results in two separate
recurring reconcilers running every 3 minutes, rather than one.

This update modifies the reconcileOperConfig request transformer to
leave the namespace field unset, matching the network object reconcile
request. This ensures there is only one recurring reconciler running.

Signed-off-by: Don Penney <dpenney@redhat.com>
Removed the now-redundant namespace check from the allowlist controller
reconciler, as it is now triggered by a configmap informer that is
watching only the specific namespace that was being checked, per review
request.

Additionally, changed a log from previous to klog to be consistent with
allowlist controller, also per review request.

Signed-off-by: Don Penney <dpenney@redhat.com>
@openshift-ci-robot
Copy link
Contributor

@openshift-cherrypick-robot: Jira Issue OCPBUGS-11565 has been cloned as Jira Issue OCPBUGS-14367. Will retitle bug to link to clone.
/retitle [release-4.13] OCPBUGS-14367: High API requests due to allowlist and operconfig reconcilers running too often

Details

In response to this:

This is an automated cherry-pick of #1788

/assign donpenney

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/test-infra repository.

@openshift-ci openshift-ci bot changed the title [release-4.13] OCPBUGS-11565: High API requests due to allowlist and operconfig reconcilers running too often [release-4.13] OCPBUGS-14367: High API requests due to allowlist and operconfig reconcilers running too often May 31, 2023
@openshift-ci-robot openshift-ci-robot added jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 31, 2023
@openshift-ci-robot
Copy link
Contributor

@openshift-cherrypick-robot: This pull request references Jira Issue OCPBUGS-14367, which is valid. The bug has been moved to the POST state.

6 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.13.z) matches configured target version for branch (4.13.z)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • dependent bug Jira Issue OCPBUGS-11565 is in the state Verified, which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE))
  • dependent Jira Issue OCPBUGS-11565 targets the "4.14.0" version, which is one of the valid target versions: 4.14.0
  • bug has dependents

Requesting review from QA contact:
/cc @anuragthehatter

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

This is an automated cherry-pick of #1788

/assign donpenney

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/test-infra repository.

@donpenney
Copy link
Member

/retest

@donpenney
Copy link
Member

/cc @mlguerrero12

@openshift-ci openshift-ci bot requested a review from mlguerrero12 May 31, 2023 19:04
@donpenney
Copy link
Member

/retest

@mlguerrero12
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 1, 2023
@donpenney
Copy link
Member

/retest

@dougbtv
Copy link
Contributor

dougbtv commented Jun 1, 2023

/approve

@dougbtv
Copy link
Contributor

dougbtv commented Jun 1, 2023

/label backport-risk-assessed

@openshift-ci openshift-ci bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Jun 1, 2023
@dougbtv
Copy link
Contributor

dougbtv commented Jun 1, 2023

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 1, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dougbtv, mlguerrero12, openshift-cherrypick-robot

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 1, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 1, 2023

@openshift-cherrypick-robot: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-vsphere-ovn 67ee7af link false /test e2e-vsphere-ovn

Full PR test history. Your PR dashboard.

Details

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/test-infra repository. I understand the commands that are listed here.

@anuragthehatter
Copy link

/label cherry-pick-approved

@openshift-ci openshift-ci bot added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Jun 1, 2023
@openshift-merge-robot openshift-merge-robot merged commit 924fd3c into openshift:release-4.13 Jun 1, 2023
@openshift-ci-robot
Copy link
Contributor

@openshift-cherrypick-robot: Jira Issue OCPBUGS-14367: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-14367 has been moved to the MODIFIED state.

Details

In response to this:

This is an automated cherry-pick of #1788

/assign donpenney

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/test-infra repository.

@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.13.0-0.nightly-2023-06-02-132339

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.