Skip to content

Bump version to 3.7#19961

Merged
ahrtr merged 3 commits intoetcd-io:mainfrom
ahrtr:20250516_37
May 20, 2025
Merged

Bump version to 3.7#19961
ahrtr merged 3 commits intoetcd-io:mainfrom
ahrtr:20250516_37

Conversation

@ahrtr
Copy link
Member

@ahrtr ahrtr commented May 16, 2025

@ahrtr
Copy link
Member Author

ahrtr commented May 16, 2025

Several issues:

  • We need to resolve all test failures. I will take care of this
  • @ivanvc @jmhbnz @joshjms we need to disable the release workflow first. After I finish this PR, we can change the 3.6.99 to 3.7.99 in the release workflow test.

https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/etcd-io_etcd/19961/pull-etcd-release-tests/1923398518836301824

stderr: �[0;31mWrong etcd minor version in api/version/version.go. Expected 3.6 but got 3.7. Aborting.
�[0;31mFAIL: (code:1):
  % '/home/prow/go/src/github.com/etcd-io/etcd/scripts/release.sh' '--no-upload' '--no-docker-push' '--no-gh-release' '--in-place' '3.6.99'
% '/home/prow/go/src/github.com/etcd-io/etcd/scripts/test_images.sh'
  • We need to populate the storageVersion during bootstrap in greenfield installation case. cc @fuweid @serathius

    • Currently, the storageVersion is always read as V3.5, and then migrated to v3.7 later.

      return version.V3_5, nil

    • We can populate the storageVersion with the binary version (version.Version) during bootstrap if it's a fresh storage,

      // TODO(serathius): Implement schema setup in fresh storage
      var snapshot *raftpb.Snapshot
      if haveWAL {
      snapshot, be, err = recoverSnapshot(cfg, st, be, beExist, beHooks, ci, ss)
      if err != nil {
      return nil, err
      }
      }

We can change the above code to something like below,

	if haveWAL {
		if err = fileutil.IsDirWriteable(cfg.WALDir()); err != nil {
			return nil, fmt.Errorf("cannot write to WAL directory: %w", err)
		}
		bwal = bootstrapWALFromSnapshot(cfg, backend.snapshot)
	} else {
		// Initialize the schema
		populate StorageVersion with version.Version
		// anything else
	}

Note that #19959 is also blocked by this one, because the mix version tests failed.

@codecov
Copy link

codecov bot commented May 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.89%. Comparing base (14448c5) to head (0b68c64).
Report is 20 commits behind head on main.

Additional details and impacted files
Files with missing lines Coverage Δ
api/version/version.go 86.66% <ø> (ø)
server/etcdserver/api/capability.go 79.31% <ø> (ø)
server/etcdserver/api/rafthttp/stream.go 81.58% <ø> (ø)
server/storage/schema/schema.go 100.00% <ø> (ø)

... and 24 files with indirect coverage changes

@@            Coverage Diff             @@
##             main   #19961      +/-   ##
==========================================
+ Coverage   68.84%   68.89%   +0.05%     
==========================================
  Files         424      424              
  Lines       35860    35860              
==========================================
+ Hits        24687    24706      +19     
+ Misses       9749     9732      -17     
+ Partials     1424     1422       -2     

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 14448c5...0b68c64. Read the comment docs.

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

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
@serathius
Copy link
Member

LGTM, stil we need to decide how to handle v3.8. We either add new sets of tests for v3.8, or we rewrite them.

@ahrtr
Copy link
Member Author

ahrtr commented May 19, 2025

LGTM, stil we need to decide how to handle v3.8. We either add new sets of tests for v3.8, or we rewrite them.

We are working on 3.7, so I don't think we need to worry about 3.8 for now.

For the test cases, I agree that we should try to make some of them more flexible so that we don't need to update them each time when we cut major or minor release. We can discuss & address it separately.

@serathius
Copy link
Member

We are working on 3.7, so I don't think we need to worry about 3.8 for now.

That's why we should just copy the test for now and tackle the problem if needed. Validation for v3.8 release, might seem irrelevant for now, but also easy to forget later. I think we should prefer safe now, than sorry later.

@ahrtr ahrtr force-pushed the 20250516_37 branch 7 times, most recently from bb5e61f to bfb88a3 Compare May 20, 2025 14:59
@k8s-ci-robot
Copy link

k8s-ci-robot commented May 20, 2025

@ahrtr: 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
pull-etcd-release-tests b6b5478 link true /test pull-etcd-release-tests

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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-sigs/prow repository. I understand the commands that are listed here.

@ahrtr
Copy link
Member Author

ahrtr commented May 20, 2025

/test pull-etcd-grpcproxy-integration-amd64

@ahrtr ahrtr mentioned this pull request May 20, 2025
33 tasks
@ahrtr
Copy link
Member Author

ahrtr commented May 20, 2025

ahrtr added 2 commits May 20, 2025 17:18
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

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

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 ahrtr merged commit f19aca6 into etcd-io:main May 20, 2025
30 checks passed
@ahrtr ahrtr deleted the 20250516_37 branch May 20, 2025 17:43
@ahrtr
Copy link
Member Author

ahrtr commented May 20, 2025

  • @ivanvc @jmhbnz @joshjms we need to disable the release workflow first. After I finish this PR, we can change the 3.6.99 to 3.7.99 in the release workflow test.

I think we can add the release workflow back, and change the 3.6.99 to 3.7.99. thx

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.

4 participants