etcd: 3.5 release next steps: Code freeze Monday 5/17

etcd 3.5 has seen a tremendous amount of new features bug fixes and performance and stability improvements. At this time I would like to thank everyone for the hard work and dedication. As per the community meeting on May 6th we have outlined Monday, May 17th as code freeze for the 3.5 release. Below are the proposed series of events for input.

Steps:

  • cut release-3.5 branch from master (now main). All future merges to main will be 3.6 moving forward (Monday AM 5/17).
  • cut new v3.5.0-beta.3
  • cut new modularized release v3.5.0-beta.3 (Monday AM 5/17).
  • begin correctness and performance/stress testing (ideas, ownership?)

After testing and validation of the beta, we can consider a sequential beta release or move towards a v3.5 release candidate.

Your input is greatly appreciated.

cc @xiang90 @wenjiaswe @ptabor @gyuho @jingyih @lilic @jpbetz @spzala

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 12
  • Comments: 73 (73 by maintainers)

Most upvoted comments

Congratulations to everyone for an amazing team effort. etcd team proudly announces GA for v3.5.0

Here’s the blog announcement: https://etcd.io/blog/2021/announcing-etcd-3.5/ Congratulations everyone!

v3.5.0-beta.4 is now live.

branch is pushed we will begin in the process of new beta release.

@serathius is driving k8s integration/scalability (https://github.com/kubernetes/kubernetes/pull/102062) tests and internal tests. So far so good.

@gyuho yes, nothing blocking at this point shooting for 6PM EDT.

etcd v3.5.0-rc.0 is now available for testing.

Zap has communicated they will try to cut 1.17 today. This aligns with our goals of an rc release possibly by EOW.

@hexfusion sorry for my late response, I reviewed and merged #12979 😃

Hi team it is 1:00 EDT as promised I am about to create a new branch for release-3.5 do we have anything blocking this action? I will take any blocking input until quarter past (1:15 PM EDT) at which point the branch will be pushed.

cc @xiang90 @wenjiaswe @ptabor @gyuho @jingyih @lilic @jpbetz @spzala

I still have some hope to merge #12971 into. But this requires your approval.

complete

Standing by. I can merge the announcement PR (https://github.com/etcd-io/website/pull/379) when you approve it @hexfusion, or when I see v3.5.0 on the Releases page.

Kubernetes has been using v3.5.0-rc.0 in their CI for last 24h without any issues reported.

@hexfusion Any outstanding item to close out? The target date is June 15, 2021.

https://github.com/etcd-io/etcd/pull/13095 is up once merged I can cut rc.1 tonight. Then pending any issues from k8s move towards a formal release.

@lilic @hexfusion

Should we replace the alpha to latest beta in all the go.mod files? Example:

Can we also update bbolt to v1.3.6?

Both changes and also zap to 1.17.0 waiting in:

To clarify I will wait until EOD today for backports to clear will cut the release (v3.5.0-beta.4) at approx 9PM ET.

had some issues with the new modular release going to give a few more tries then will follow up in AM.

once those are available I’ll update https://github.com/kubernetes/kubernetes/pull/100488

Backport merged we are back on track as beta.0[1] was a no-op, the release will be beta.1. I will continue the process tonight.

[1] https://github.com/etcd-io/etcd/commit/cf54fab42f072d167a98f2e9ee6168a44f2d191e

Thank you very much @hexfusion !

begin correctness and performance/stress testing (ideas, ownership?)

Would you mind putting together a “gift registry” so we could plan and start pick up?

I found these TODOs in the default branch, that might be worth to be cleaned up before release:

./server/mvcc/metrics_txn.go:   rangeCounterDebug.Add(ranges) // TODO: remove in 3.5 release
./tests/e2e/v3_curl_test.go:// TODO: remove /v3beta tests in 3.5 release
./tests/e2e/v3_curl_lease_test.go:// TODO remove /kv/lease/timetolive, /kv/lease/revoke, /kv/lease/leases tests in 3.5 release

We can do that – to be clear: blog release June 15, 6PM EDT

Also, I have an open PR for renaming the next folder to v3.5: https://github.com/etcd-io/website/pull/363

Both fixes have been backported to 3.5 branch, we should be ready to cut another beta release.

Hi @hexfusion et all: I know that y’all are busy with getting the 3.5 release out, but as I mention in #12923 the text that accompanies the releases needs updating – in particular, there shouldn’t be links into the website repo (that’s an artifact of the days when the docs were in the etcd repo).

If you’d like to see the reworked text, see https://github.com/etcd-io/etcd/issues/12923#issuecomment-843641587.

@hexfusion Tags looks correct to me. The rules are described here: https://golang.org/ref/mod#vcs-version

If a module is defined in a subdirectory within the repository, that is, the module subdirectory portion of the module path is not empty, then each tag name must be prefixed with the module subdirectory, followed by a slash. For example, the module golang.org/x/tools/gopls is defined in the gopls subdirectory of the repository with root path golang.org/x/tools. The version v0.4.0 of that module must have the tag named gopls/v0.4.0 in that repository.

When beta is out we can ask k8s to incorporate kubernetes/kubernetes#100488 (Jordan Liggitt ). This will allow us to get CI feedback from k8s.

I can help with that

I think we can branch ‘release-3.5’ today. On our end it will unblock onsite automation that understands 3.5 to be coming soon.

If we make a call to backport some changes from ‘main’ to ‘release-3.5’ and we consider it too toilish using github PR per change, we can do it in a single PR.

@ptabor We are proposing to delay the branch cut until 1:00 EDT to allow the West coast teams final input and a last review of the above. WDYT?

Functional tests are a little flaky (not more than release-3.4), but if that’s the main signal, someone should dig in

If no one is looking into this, I can have a look end of this week. @ptabor do you have a list of these? Otherwise I can have a look at previous CI runs.

I’ve seen them on CI, but unfortunately I didn’t collected the links and its not easy to search by ‘jobs’ currently. Running in a forloop locally mightbe an option as well.