OCPEDGE-1485: Add initial version of etcd kill and recovery test
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 withinEventuallyretry 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
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
@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.
@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.
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) |
@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 withinEventuallyretry 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.
@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 withinEventuallyretry 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.
Just a few notes from me. Otherwise looking good!
Giving time to @jaypoulz to complete his review
/hold
@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.
/approve /unhold
[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
- ~~test/extended/two_node/OWNERS~~ [jaypoulz]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
/retest