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

Bug 2313492: [release-4.14] Remove check of object type & return in enqueueStorageClusterRequest #2811

Open
wants to merge 1 commit into
base: release-4.14
Choose a base branch
from

Conversation

malayparida2000
Copy link
Contributor

@malayparida2000 malayparida2000 commented Sep 19, 2024

The enqueueStorageClusterRequest event handler is used to enqueue a reconcile request for the controller from the watched objects. Although the handle is being used by all the watched objects, but it checks the object type and returns if the object is not of type OCSInitialization. Due to this when any thing happens with the watched objects other than OCSInitialization, the reconcile request is not enqueued and the controller does not reconcile the object.

The watch process on certain resources we had on our codebis broken in 4.14. But the issue was being masked due to the side effect of other problem where we were doing continuous reconcile each second.Recently Nitin fixed that Bug so now unnecessary reconciles don't happen anymore,#2624.

So, Now the issue was noticed as creation of the Virtual Machine CRD was not triggering a reconcile and thus not creating the special Storageclass that it should have. Upon debugging we found the enqueue function we use on 4.14 just returns if the resource is not OCSInitialization, but we are still using that enqueue function for all the watches we have. Hence a reconcile request never gets queued for the Watched Resources.

The issue is not present on 4.15 onwards as I had unintentionally fixed the bug while working on the Separation of ceph toolbox from ocsinitialization as a part of the Multiple Storagecluster Epic in 4.15, #2240.

Hence this bug requires specific fix only in 4.14.z.

The enqueueStorageClusterRequest event handler is used to enqueue a
reconcile request for the controller from the watched objects.
Although the handle is being used by all the watched objects, but
it checks the object type and returns if the object is not of type
OCSInitialization. Due to this when any thing happens with the watched
objects other than OCSInitialization, the reconcile request is not
enqueued and the controller does not reconcile the object.

Signed-off-by: Malay Kumar Parida <mparida@redhat.com>
@openshift-ci openshift-ci bot added bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Sep 19, 2024
Copy link
Contributor

openshift-ci bot commented Sep 19, 2024

@malayparida2000: This pull request references Bugzilla bug 2313492, which is invalid:

  • expected the bug to target the "ODF 4.14.11" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

Bug 2313492: [release-4.14] Remove check of object type & return in enqueueStorageClusterRequest

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.

Copy link
Contributor

openshift-ci bot commented Sep 19, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: malayparida2000
Once this PR has been reviewed and has the lgtm label, please assign jarrpa for approval. For more information see the Kubernetes Code Review Process.

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

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

Copy link
Contributor

openshift-ci bot commented Sep 19, 2024

@malayparida2000: This pull request references Bugzilla bug 2313492, which is invalid:

  • expected the bug to target the "ODF 4.14.11" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

Bug 2313492: [release-4.14] Remove check of object type & return in enqueueStorageClusterRequest

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.

@malayparida2000
Copy link
Contributor Author

/retest

Copy link
Member

@iamniting iamniting left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me will approve once the BZ is approved

Copy link
Contributor

openshift-ci bot commented Sep 19, 2024

@malayparida2000: 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/ocs-operator-bundle-e2e-aws cacbfcf link true /test ocs-operator-bundle-e2e-aws

Full PR test history. Your PR dashboard.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants