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

DFBUGS-1696: mgr: Wait for builtin mgr pool to exist before enabling stretch #839

Merged

Conversation

travisn
Copy link

@travisn travisn commented Feb 27, 2025

There is a race condition in ceph v19 at startup of a stretch cluster where if the .mgr pool is created by the mgr pod after stretch mode is entered, the devicehealth mgr module will crash and cause a ceph HEALTH_ERR. The error then causes rook reconcile of all CRs to be skipped because Rook is assuming admin intervention is needed to continue. The fix is to wait until the .mgr pool is created by the mgr pod before entering stretch mode.

At the same time, we suppress mgr module health errors during reconcile. Some ceph health errors should not block the reconcile of the cluster. Mgr modules do not have cause to block the reconcile, as the cluster can usually work even if a module is failing.

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next minor release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

Some ceph health errors should not block the reconcile
of the cluster. Mgr modules do not have cause to block
the reconcile, as the cluster can usually work even
if a module is failing.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 3bd5881)
(cherry picked from commit 2ada876)
There is a race condition in ceph v19 at startup of a
stretch cluster where if the .mgr pool is created by
the mgr pod after stretch mode is entered, the
devicehealth mgr module will crash and cause a
ceph HEALTH_ERR. The error then causes rook reconcile
of all CRs to be skipped because Rook is assuming
admin intervention is needed to continue. The fix
is to wait until the .mgr pool is created by the mgr
pod before entering stretch mode.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 8429aff)
(cherry picked from commit 13ac962)
@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference labels Feb 27, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 27, 2025

@travisn: This pull request references [Jira Issue DFBUGS-1696](https://issues.redhat.com//browse/DFBUGS-1696), which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (odf-4.18) matches configured target version for branch (odf-4.18)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @nehaberry

In response to this:

There is a race condition in ceph v19 at startup of a stretch cluster where if the .mgr pool is created by the mgr pod after stretch mode is entered, the devicehealth mgr module will crash and cause a ceph HEALTH_ERR. The error then causes rook reconcile of all CRs to be skipped because Rook is assuming admin intervention is needed to continue. The fix is to wait until the .mgr pool is created by the mgr pod before entering stretch mode.

At the same time, we suppress mgr module health errors during reconcile. Some ceph health errors should not block the reconcile of the cluster. Mgr modules do not have cause to block the reconcile, as the cluster can usually work even if a module is failing.

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next minor release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

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.

Copy link

openshift-ci bot commented Feb 27, 2025

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: nehaberry.

Note that only red-hat-storage members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

@travisn: This pull request references [Jira Issue DFBUGS-1696](https://issues.redhat.com//browse/DFBUGS-1696), which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (odf-4.18) matches configured target version for branch (odf-4.18)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @nehaberry

In response to this:

There is a race condition in ceph v19 at startup of a stretch cluster where if the .mgr pool is created by the mgr pod after stretch mode is entered, the devicehealth mgr module will crash and cause a ceph HEALTH_ERR. The error then causes rook reconcile of all CRs to be skipped because Rook is assuming admin intervention is needed to continue. The fix is to wait until the .mgr pool is created by the mgr pod before entering stretch mode.

At the same time, we suppress mgr module health errors during reconcile. Some ceph health errors should not block the reconcile of the cluster. Mgr modules do not have cause to block the reconcile, as the cluster can usually work even if a module is failing.

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next minor release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

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.

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.

@travisn travisn requested a review from BlaineEXE February 27, 2025 17:26
jhoblitt and others added 2 commits February 27, 2025 10:32
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit f52f48c)
To follow up from rook#829, the csv needs to be updated
with the new permissions in the provisioners for
watch and list.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 27, 2025
Copy link

openshift-ci bot commented Feb 27, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: BlaineEXE, travisn

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

@travisn travisn merged commit 555802e into red-hat-storage:release-4.18 Feb 27, 2025
51 of 52 checks passed
@travisn travisn deleted the backport-stretch-mgr-pool branch February 27, 2025 19:16
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 27, 2025

@travisn: [Jira Issue DFBUGS-1696](https://issues.redhat.com//browse/DFBUGS-1696): All pull requests linked via external trackers have merged:

[Jira Issue DFBUGS-1696](https://issues.redhat.com//browse/DFBUGS-1696) has been moved to the MODIFIED state.

In response to this:

There is a race condition in ceph v19 at startup of a stretch cluster where if the .mgr pool is created by the mgr pod after stretch mode is entered, the devicehealth mgr module will crash and cause a ceph HEALTH_ERR. The error then causes rook reconcile of all CRs to be skipped because Rook is assuming admin intervention is needed to continue. The fix is to wait until the .mgr pool is created by the mgr pod before entering stretch mode.

At the same time, we suppress mgr module health errors during reconcile. Some ceph health errors should not block the reconcile of the cluster. Mgr modules do not have cause to block the reconcile, as the cluster can usually work even if a module is failing.

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next minor release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-bug jira/valid-reference lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants