Skip to content

Converts between experimental and non-experimental flags in downgrade & upgrade robustness & e2e test#20001

Merged
ahrtr merged 1 commit intoetcd-io:mainfrom
ahrtr:robustness_test_20250521
May 23, 2025
Merged

Converts between experimental and non-experimental flags in downgrade & upgrade robustness & e2e test#20001
ahrtr merged 1 commit intoetcd-io:mainfrom
ahrtr:robustness_test_20250521

Conversation

@ahrtr
Copy link
Member

@ahrtr ahrtr commented May 21, 2025

@serathius
Copy link
Member

Think this has same issue as #19506 (comment)
It will not work with upgrade/downgrade tests. Flags are rendered just during cluster creation, not during server start.

@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from ef2ab60 to fb314b7 Compare May 21, 2025 14:07
@codecov
Copy link

codecov bot commented May 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 61.08%. Comparing base (6e2be32) to head (8859f41).
Report is 2 commits behind head on main.

Additional details and impacted files

see 155 files with indirect coverage changes

@@            Coverage Diff             @@
##             main   #20001      +/-   ##
==========================================
- Coverage   68.82%   61.08%   -7.74%     
==========================================
  Files         424      410      -14     
  Lines       35762    34603    -1159     
==========================================
- Hits        24612    21137    -3475     
- Misses       9728    11879    +2151     
- Partials     1422     1587     +165     

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6e2be32...8859f41. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ahrtr ahrtr force-pushed the robustness_test_20250521 branch 3 times, most recently from f355334 to fa6dbc9 Compare May 21, 2025 14:46
@ahrtr ahrtr force-pushed the robustness_test_20250521 branch 2 times, most recently from d0cd0ef to 0d2e938 Compare May 22, 2025 13:37
@ahrtr ahrtr force-pushed the robustness_test_20250521 branch 2 times, most recently from 4441c12 to cae3452 Compare May 22, 2025 13:59

// When we downgrade or upgrade a member, we need to re-generate the flags, to convert some non-experimental
// flags to experimental flags, or vice verse.
if err := clus.UpdateProcOptions(memberID, t); err != nil {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will not be called in robustness tests

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is both robustness test and e2e test reuse the same DowngradeUpgradeMembersByID to perform downgrade & upgrade.

If it doesn't, then robustness test will fail.

But the robustness test on older version is periodically test, can't be verified immediately. So I raised kubernetes/test-infra#34834

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ack

@ahrtr ahrtr force-pushed the robustness_test_20250521 branch 2 times, most recently from 4dd1c71 to 7f7a746 Compare May 23, 2025 09:38
@serathius
Copy link
Member

FYI: I'm waiting for CI to pass before reviewing it again.

@ahrtr
Copy link
Member Author

ahrtr commented May 23, 2025

FYI: I'm waiting for CI to pass before reviewing it again.

I will rebase this PR once #20016 gets merged.

Also we can see e2e workflow result in this PR before being rebased.

@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from 7f7a746 to a870bb7 Compare May 23, 2025 10:37
@ahrtr
Copy link
Member Author

ahrtr commented May 23, 2025

ping @serathius It should be working now.

@ahrtr ahrtr changed the title Convert non experimental flags for etcd version older than 3.6 Convert the flags in downgrade & upgrade robustness & e2e test May 23, 2025
return fmt.Sprintf("--%s=%s", name, value)
}

// version < 3.6 and name is experimental
Copy link
Member

@serathius serathius May 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit, those comments are not informative. Recommend to either remove them, or rewrite to answer "why?" instead of "what?". For example "In v3.7 etcd removed experimental prefix from flags (link to issue)"

@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from a870bb7 to dc92de1 Compare May 23, 2025 12:29
@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from dc92de1 to e098bd4 Compare May 23, 2025 12:30
@ahrtr ahrtr changed the title Convert the flags in downgrade & upgrade robustness & e2e test converts between experimental and non-experimental flags in downgrade & upgrade robustness & e2e test May 23, 2025
@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from e098bd4 to f7d7ef2 Compare May 23, 2025 12:42
@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ahrtr, serathius

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

@ahrtr
Copy link
Member Author

ahrtr commented May 23, 2025

Since the kubernetes/test-infra#34834 hasn't been merged, so the robustness test against previous versions can't be verified in this PR. If there is still any issues after merging this PR, we can fix in followup PR(s).

@serathius
Copy link
Member

Since the kubernetes/test-infra#34834 hasn't been merged, so the robustness test against previous versions can't be verified in this PR. If there is still any issues after merging this PR, we can fix in followup PR(s).

Have you run the test locally?

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
@ahrtr ahrtr force-pushed the robustness_test_20250521 branch from f7d7ef2 to 8859f41 Compare May 23, 2025 13:28
@ahrtr
Copy link
Member Author

ahrtr commented May 23, 2025

Have you run the test locally?

3.6 works.

3.5/3.4 have issues, but unrelated to flags.

test-robustness-release-3.5:

        logger.go:146: 2025-05-23T14:25:27.534+0100	ERROR	Failed to trigger failpoint	{"failpoint": "beforeSendWatchResponse=sleep", "error": "goFailpoint beforeSendWatchResponse=sleep setup failed, err:bad status code: 400, err: fail to set failpoint: failpoint: failpoint does not exist\n"}
        main_test.go:144: failed triggering failpoint, err: goFailpoint beforeSendWatchResponse=sleep setup failed, err:bad status code: 400, err: fail to set failpoint: failpoint: failpoint does not exist

So we should be good to merge this PR, and investigate the failure separately.

@ahrtr ahrtr changed the title converts between experimental and non-experimental flags in downgrade & upgrade robustness & e2e test Converts between experimental and non-experimental flags in downgrade & upgrade robustness & e2e test May 23, 2025
@serathius
Copy link
Member

So we should be good to merge this PR, and investigate the failure separately.

SG

@ahrtr
Copy link
Member Author

ahrtr commented May 23, 2025

/retest

@ahrtr ahrtr merged commit 622a010 into etcd-io:main May 23, 2025
30 of 31 checks passed
@ahrtr ahrtr deleted the robustness_test_20250521 branch May 23, 2025 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants