Skip to content

Conversation

@dgoodwin
Copy link
Contributor

@dgoodwin dgoodwin commented Oct 22, 2025

Data will be charted and analyzed to help improve the alert thresholds we can ship with which have been elevated too high.

I suspect upstream thresholds are unreasonably low, perhaps an optimal case by their standards, but from our perspective our CI may be proving clusters can operate healthily above those. Goal is to find thresholds we know are safe, and analyze fleet data for the same. Combine both to determine what to do.

Data will be charted and analyzed to help inform the alert thresholds we
should ship with.
@openshift-ci openshift-ci bot requested review from sosiouxme and xueqzhan October 22, 2025 18:48
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 22, 2025
@dgoodwin dgoodwin changed the title gather P50, P95 and P99 for etcd disk metrics from all CI runs OCPBUGS-55755: gather P50, P95 and P99 for etcd disk metrics from all CI runs Oct 22, 2025
@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 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 Oct 22, 2025
@openshift-ci-robot
Copy link
Contributor

@dgoodwin: This pull request references Jira Issue OCPBUGS-55755, which is invalid:

  • expected the bug to target the "4.21.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.

In response to this:

Data will be charted and analyzed to help inform the alert thresholds we
should ship with.

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.

@dgoodwin
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-upgrade-fips

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@dgoodwin
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 23, 2025

@dgoodwin: 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/rehearse/periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-upgrade-fips 7920397 link unknown /pj-rehearse periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-upgrade-fips

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.

@dgoodwin
Copy link
Contributor Author

From https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openshift_release/70577/rehearse-70577-periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn/1981325289988296704/artifacts/e2e-aws-ovn/gather-extra/artifacts/metrics/job_metrics.json

{code}
{"cluster:etcd:disk:wal:fsync:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.0032004775828460043"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.0018727573815073815"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.0006374604756079218"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.011760295546449228"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.006397870175735471"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761228240,"0.0027281595085562878"]}],"analysis":{}}}}
{code}

While I think the p99 0.003 number appears correct across this job run, it is not capturing the fact that this metrics when viewed over a [5m] window was actually above our threshold upstream of 0.01, though never for more than 2 minutes. Highest spike was around 0.04, 4x the documented upstream limit. Cluster was perfectly healthy at the time.

Checking an azure run next.

@dgoodwin
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-release-master-ci-4.21-e2e-azure-ovn
/pj-rehearse periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@dgoodwin: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-operator-framework-olm-release-4.10-e2e-aws-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.9-e2e-aws-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.9-e2e-aws-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.8-e2e-aws-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.8-e2e-aws-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-main-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-main-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-main-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.22-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.22-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.22-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.21-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.21-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.21-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.20-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.20-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.20-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.19-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.19-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.19-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.18-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.18-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.18-e2e-gcp-console-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.17-e2e-gcp-olm openshift/operator-framework-olm presubmit Registry content changed
pull-ci-openshift-operator-framework-olm-release-4.17-e2e-gcp-olm-flaky openshift/operator-framework-olm presubmit Registry content changed

A total of 32626 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: This pull request references Jira Issue OCPBUGS-55755, which is invalid:

  • expected the bug to target the "4.21.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.

In response to this:

Data will be charted and analyzed to help improve the alert thresholds we can ship with which have been elevated too high.

I suspect upstream thresholds are unreasonably low, perhaps an optimal case by their standards, but from our perspective our CI may be proving clusters can operate healthily above those. Goal is to find thresholds we know are safe, and analyze fleet data for the same. Combine both to determine what to do.

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.

@dgoodwin
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-release-master-ci-4.21-e2e-azure-ovn periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@dgoodwin
Copy link
Contributor Author

GCP:

{"cluster:etcd:disk:wal:fsync:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.02449756511788101"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.01322183550013574"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.007574500090639386"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.0032927332968969926"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.05625304038527834"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.025060410235649307"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.015108299809408877"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761318855,"0.006725480614464856"]}],"analysis":{}}}}

AWS:

{"cluster:etcd:disk:wal:fsync:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.01674661936041238"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.007434024577993615"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.003959663722287871"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.0010330281800504338"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.024735130414032695"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.0096521187709367"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.005751622315321968"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761317208,"0.0028169129775825644"]}],"analysis":{}}}}

Azure:

{"cluster:etcd:disk:wal:fsync:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.01600612844215683"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.007858316485663593"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.005254660204091242"]}],"analysis":{}}}}
{"cluster:etcd:disk:wal:fsync:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.0012501126282115477"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p999:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.038104588623568386"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p99:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.014275967409497782"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p95:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.007663357215391363"]}],"analysis":{}}}}
{"cluster:etcd:disk:backend:commit:test:p50:quantile":{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1761316756,"0.0025855484200462513"]}],"analysis":{}}}}

At least on these specific runs, we're nearly passing the upstream recommendation (0.01 for fsync, 0.025 for commit) at P99 across an entire job run, but there are spikes above which depending on how long they last, could alert.

@dgoodwin
Copy link
Contributor Author

/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. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Oct 29, 2025
@openshift-ci-robot
Copy link
Contributor

@dgoodwin: This pull request references Jira Issue OCPBUGS-55755, which is valid.

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

Requesting review from QA contact:
/cc @geliu2016

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested a review from geliu2016 October 29, 2025 11:12
@dgoodwin
Copy link
Contributor Author

/pj-rehearse ack

@openshift-ci-robot
Copy link
Contributor

@dgoodwin: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Oct 29, 2025
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 29, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 29, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dgoodwin, petr-muller

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

The pull request process is described 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

@openshift-merge-bot openshift-merge-bot bot merged commit c774183 into openshift:master Oct 29, 2025
13 checks passed
@openshift-ci-robot
Copy link
Contributor

@dgoodwin: Jira Issue OCPBUGS-55755: Some pull requests linked via external trackers have merged:

The following pull request, linked via external tracker, has not merged:

All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with /jira refresh.

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

In response to this:

Data will be charted and analyzed to help improve the alert thresholds we can ship with which have been elevated too high.

I suspect upstream thresholds are unreasonably low, perhaps an optimal case by their standards, but from our perspective our CI may be proving clusters can operate healthily above those. Goal is to find thresholds we know are safe, and analyze fleet data for the same. Combine both to determine what to do.

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.

@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.21.0-0.nightly-2025-11-03-191704

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. jira/severity-important Referenced Jira bug's severity is important 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. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants