origin icon indicating copy to clipboard operation
origin copied to clipboard

OCPEDGE-1485: Add initial version of etcd kill and recovery test

Open fonta-rh opened this issue 3 months ago • 12 comments

Add etcd process crash recovery test for TNF clusters

Add test to validate Two Node with Fencing (TNF) cluster recovery after etcd process crashes.

The test kills the etcd process/container on one node and validates that Pacemaker automatically detects the failure and restarts etcd, with the cluster returning to a healthy state (both nodes as started voting members).

Test approach:

  • Kills etcd using multiple methods (podman kill, pkill, systemctl stop)
  • Retries validation every 2 minutes for up to 6 minutes total
  • Uses GinkgoRecover() to properly handle validation panics within Eventually retry logic
  • Validates both etcd member state and operator health

Related: OCPBUGS-59238 (etcd process crash recovery issue in TNF clusters)

NOTE: This test doesn't work on an un-patched, un-reconfigured TNF cluster at the moment. It's set to be skipped until that point

fonta-rh avatar Sep 30 '25 12:09 fonta-rh

Skipping CI for Draft Pull Request. If you want CI signal for your change, please convert it to an actual PR. You can still manually trigger a test run with /test all

openshift-ci[bot] avatar Sep 30 '25 12:09 openshift-ci[bot]

@fonta-rh: This pull request references OCPEDGE-1485 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

In response to this:

Add test for TNF etcd recovery from fatal failure.

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-robot avatar Oct 02 '25 09:10 openshift-ci-robot

@fonta-rh: This pull request references OCPEDGE-1485 which is a valid jira issue.

In response to this:

Add test for TNF etcd recovery from fatal etcd pod failure.

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-robot avatar Oct 23 '25 10:10 openshift-ci-robot

Job Failure Risk Analysis for sha: 51df2c4b080a0e1e94b07e3c50ec1385be63b667

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-csi IncompleteTests
Tests for this run (18) are below the historical average (1830): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-e2e-gcp-csi IncompleteTests
Tests for this run (19) are below the historical average (1831): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

openshift-trt[bot] avatar Oct 23 '25 12:10 openshift-trt[bot]

@fonta-rh: This pull request references OCPEDGE-1485 which is a valid jira issue.

In response to this:

Add etcd process crash recovery test for TNF clusters

Add test to validate Two Node with Fencing (TNF) cluster recovery after etcd process crashes.

The test kills the etcd process/container on one node and validates that Pacemaker automatically detects the failure and restarts etcd, with the cluster returning to a healthy state (both nodes as started voting members).

Test approach:

  • Kills etcd using multiple methods (podman kill, pkill, systemctl stop)
  • Retries validation every 2 minutes for up to 6 minutes total
  • Uses GinkgoRecover() to properly handle validation panics within Eventually retry logic
  • Validates both etcd member state and operator health

Related: OCPBUGS-59238 (etcd process crash recovery issue in TNF clusters)

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-robot avatar Oct 24 '25 09:10 openshift-ci-robot

@fonta-rh: This pull request references OCPEDGE-1485 which is a valid jira issue.

In response to this:

Add etcd process crash recovery test for TNF clusters

Add test to validate Two Node with Fencing (TNF) cluster recovery after etcd process crashes.

The test kills the etcd process/container on one node and validates that Pacemaker automatically detects the failure and restarts etcd, with the cluster returning to a healthy state (both nodes as started voting members).

Test approach:

  • Kills etcd using multiple methods (podman kill, pkill, systemctl stop)
  • Retries validation every 2 minutes for up to 6 minutes total
  • Uses GinkgoRecover() to properly handle validation panics within Eventually retry logic
  • Validates both etcd member state and operator health

Related: OCPBUGS-59238 (etcd process crash recovery issue in TNF clusters)

NOTE: This test doesn't work on an un-patched, un-reconfigured TNF cluster at the moment. It's set to be skipped until that point

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-robot avatar Oct 24 '25 09:10 openshift-ci-robot

Just a few notes from me. Otherwise looking good!

jaypoulz avatar Nov 10 '25 20:11 jaypoulz

Giving time to @jaypoulz to complete his review

/hold

clobrano avatar Nov 14 '25 09:11 clobrano

@fonta-rh: 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/okd-scos-e2e-aws-ovn 51df2c4b080a0e1e94b07e3c50ec1385be63b667 link false /test okd-scos-e2e-aws-ovn

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.

openshift-ci[bot] avatar Nov 18 '25 13:11 openshift-ci[bot]

/approve /unhold

jaypoulz avatar Dec 04 '25 21:12 jaypoulz

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clobrano, fonta-rh, jaypoulz

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-ci[bot] avatar Dec 04 '25 21:12 openshift-ci[bot]

/retest

fonta-rh avatar Dec 07 '25 23:12 fonta-rh