Skip to content

OCPBUGS-6861: Allow TopoLVM initial grace period while service-ca attempts to start#1378

Merged
openshift-merge-robot merged 1 commit intoopenshift:mainfrom
copejon:ocpbugs-6861
Mar 8, 2023
Merged

OCPBUGS-6861: Allow TopoLVM initial grace period while service-ca attempts to start#1378
openshift-merge-robot merged 1 commit intoopenshift:mainfrom
copejon:ocpbugs-6861

Conversation

@copejon
Copy link
Copy Markdown
Contributor

@copejon copejon commented Feb 15, 2023

TopoLVM on MicroShift suffers flakey behavior that stems in part from a race window with the service-ca. This PR pads TopoLVM's startup time to give the service-ca a chance to issue certs. This PR sets the initial startupProbe values to a 5 minute timeout (30 retries at 10 second intervals).

The race window was exposed by flakey behavior with service-ca startup that is being addressed separately. The work there will reduce the scale of the race window, however it will still be present. The window appears during (re)boot because topolvm depends on the service-ca to issue cert. In this scenario, topolvm and service-ca are started concurrently; their boot order is not controlled by microshift. This means that both services' retry loops are initiated at the same time, so the diff between the service-ca issuing a cert and topolvm reaching it's retry max creates this race window. By providing topolvm a startup grace period, we allow the service ca to stabilize and improve the user experience since topolvm will not enter a crashloopbackoff as a result of timing out.

Note that this grace period does not delay topolvm's startup, it only delays the point at which topolvm startup failures are considered true failures.

Which issue(s) this PR addresses:

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 15, 2023
@openshift-ci-robot
Copy link
Copy Markdown

@copejon: This pull request references Jira Issue OCPBUGS-6861, which is invalid:

  • expected the bug to target the "4.13.0" version, but no target version was set

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

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

Details

In response to this:

TopoLVM on MicroShift suffers flakey behavior that stems in part from a race window with the service-ca. This PR pads TopoLVM's startup time to give the service-ca a chance to issue certs. This PR sets the initial startupProbe values to a 5 minute timeout (30 retries at 10 second intervals).

Which issue(s) this PR addresses:

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 openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 15, 2023
@openshift-ci openshift-ci Bot requested review from benluddy and oglok February 15, 2023 21:15
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 15, 2023
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 15, 2023
@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 15, 2023

/pj-rehearse ack

@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 15, 2023

/pj-rehearse

@pacevedom
Copy link
Copy Markdown
Contributor

Do you have some more details on the race condition? In the logs from the bug I see there is some trouble here and there in both pods, but not clear to me.

Comment thread scripts/auto-rebase/rebase.sh Outdated
@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 17, 2023

/pj-rehearse

2 similar comments
@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 17, 2023

/pj-rehearse

@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 20, 2023

/pj-rehearse

@ggiguash
Copy link
Copy Markdown
Contributor

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 22, 2023
@openshift-ci-robot
Copy link
Copy Markdown

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

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

In response to this:

/jira refresh

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.

@copejon copejon changed the title OCPBUGS-6861: Allow TopoLVM initial grace period while service-ca attempts to start Allow TopoLVM initial grace period while service-ca attempts to start Feb 23, 2023
@openshift-ci-robot openshift-ci-robot removed 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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Feb 23, 2023
@openshift-ci-robot
Copy link
Copy Markdown

@copejon: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

TopoLVM on MicroShift suffers flakey behavior that stems in part from a race window with the service-ca. This PR pads TopoLVM's startup time to give the service-ca a chance to issue certs. This PR sets the initial startupProbe values to a 5 minute timeout (30 retries at 10 second intervals).

Which issue(s) this PR addresses:

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.

@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 23, 2023

Hey @pacevedom I've updated the description to provide a bit more context.

I've also remove the jira reference as it's determined that the cause of that bug is not related to this patch.

@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Feb 23, 2023

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown

@copejon: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

/jira refresh

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.

@dhellmann
Copy link
Copy Markdown
Contributor

This looks OK, except for the messy history.

@pmtk and @pacevedom , we could set the merge method to squash to take the changes. Thoughts?

@dhellmann dhellmann changed the title Allow TopoLVM initial grace period while service-ca attempts to start OCPBUGS-6861: Allow TopoLVM initial grace period while service-ca attempts to start Feb 27, 2023
@openshift-ci-robot openshift-ci-robot added 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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Feb 27, 2023
@openshift-ci-robot
Copy link
Copy Markdown

@copejon: This pull request references Jira Issue OCPBUGS-6861, which is valid.

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

In response to this:

TopoLVM on MicroShift suffers flakey behavior that stems in part from a race window with the service-ca. This PR pads TopoLVM's startup time to give the service-ca a chance to issue certs. This PR sets the initial startupProbe values to a 5 minute timeout (30 retries at 10 second intervals).

The race window was exposed by flakey behavior with service-ca startup that is being addressed separately. The work there will reduce the scale of the race window, however it will still be present. The window appears during (re)boot because topolvm depends on the service-ca to issue cert. In this scenario, topolvm and service-ca are started concurrently; their boot order is not controlled by microshift. This means that both services' retry loops are initiated at the same time, so the diff between the service-ca issuing a cert and topolvm reaching it's retry max creates this race window. By providing topolvm a startup grace period, we allow the service ca to stabilize and improve the user experience since topolvm will not enter a crashloopbackoff as a result of timing out.

Note that this grace period does not delay topolvm's startup, it only delays the point at which topolvm startup failures are considered true failures.

Which issue(s) this PR addresses:

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.

@copejon copejon force-pushed the ocpbugs-6861 branch 2 times, most recently from 7f7a0d9 to 1d58125 Compare March 7, 2023 18:47
@dhellmann
Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Mar 7, 2023
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 7, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: copejon, dhellmann

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-robot
Copy link
Copy Markdown

/retest-required

Remaining retests: 0 against base HEAD 3278f55 and 2 for PR HEAD 6d4a374 in total

@openshift-ci-robot
Copy link
Copy Markdown

/retest-required

Remaining retests: 0 against base HEAD 0b6dc3d and 1 for PR HEAD 6d4a374 in total

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 8, 2023

@copejon: all tests passed!

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.

@openshift-merge-robot openshift-merge-robot merged commit 64606e2 into openshift:main Mar 8, 2023
@openshift-ci-robot
Copy link
Copy Markdown

@copejon: Jira Issue OCPBUGS-6861: All pull requests linked via external trackers have merged:

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

Details

In response to this:

TopoLVM on MicroShift suffers flakey behavior that stems in part from a race window with the service-ca. This PR pads TopoLVM's startup time to give the service-ca a chance to issue certs. This PR sets the initial startupProbe values to a 5 minute timeout (30 retries at 10 second intervals).

The race window was exposed by flakey behavior with service-ca startup that is being addressed separately. The work there will reduce the scale of the race window, however it will still be present. The window appears during (re)boot because topolvm depends on the service-ca to issue cert. In this scenario, topolvm and service-ca are started concurrently; their boot order is not controlled by microshift. This means that both services' retry loops are initiated at the same time, so the diff between the service-ca issuing a cert and topolvm reaching it's retry max creates this race window. By providing topolvm a startup grace period, we allow the service ca to stabilize and improve the user experience since topolvm will not enter a crashloopbackoff as a result of timing out.

Note that this grace period does not delay topolvm's startup, it only delays the point at which topolvm startup failures are considered true failures.

Which issue(s) this PR addresses:

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.

@copejon
Copy link
Copy Markdown
Contributor Author

copejon commented Mar 20, 2023

/cherry-pick release-4.13

@openshift-cherrypick-robot
Copy link
Copy Markdown

@copejon: new pull request created: #1537

Details

In response to this:

/cherry-pick release-4.13

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.

@copejon copejon deleted the ocpbugs-6861 branch April 19, 2023 15:22
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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid 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.

8 participants