Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.5 release next steps: Code freeze Monday 5/17 #12970

Closed
4 tasks done
hexfusion opened this issue May 14, 2021 · 73 comments
Closed
4 tasks done

3.5 release next steps: Code freeze Monday 5/17 #12970

hexfusion opened this issue May 14, 2021 · 73 comments
Assignees

Comments

@hexfusion
Copy link
Contributor

hexfusion commented May 14, 2021

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

@wenjiaswe
Copy link
Contributor

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?

@gyuho
Copy link
Contributor

gyuho commented May 14, 2021

cut release-3.5 branch from master (now main). All future merges to main will be 3.6 moving forward (Monday AM 5/17).

As we discussed, @hexfusion @lilic will take ownership on the release management, right?

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

We have some in-house component that does this, but I believe our continuous functional tests are good enough.

Please chime in if you have better ideas.

@gyuho
Copy link
Contributor

gyuho commented May 14, 2021

@hexfusion Please feel free to email and ping other maintainers via etcd-dev mailing list.

@ptabor ptabor pinned this issue May 15, 2021
@ptabor
Copy link
Contributor

ptabor commented May 15, 2021

@hexfusion
Copy link
Contributor Author

hexfusion commented May 15, 2021

As we discussed, @hexfusion @lilic will take ownership on the release management, right?

correct

@lilic
Copy link
Contributor

lilic commented May 17, 2021

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.

@serathius
Copy link
Member

I would be happy to help

@hexfusion
Copy link
Contributor Author

Red Hat team was preparing to cut the release-3.5 branch at approximately 8:00am EDT. If we have a need to hold this please reach out.

cc @ptabor @gyuho @lilic

@ptabor
Copy link
Contributor

ptabor commented May 17, 2021

@hexfusion: I think we can tag the branch.

@ptabor
Copy link
Contributor

ptabor commented May 17, 2021

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.

@hexfusion
Copy link
Contributor Author

hexfusion commented May 17, 2021

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

complete

@hexfusion
Copy link
Contributor Author

hexfusion commented May 17, 2021

@ptabor thoughts on remaining nice to have[1]?

[1] https://github.com/etcd-io/etcd/pulls?q=is%3Apr+is%3Aopen+label%3Arel%2F3.5-nice-to-have

@lilic
Copy link
Contributor

lilic commented May 17, 2021

There is also #12872. But I am not sure we need to do this with code freeze and it can be done afterwards, correct?

@ptabor
Copy link
Contributor

ptabor commented May 17, 2021

I think we are good.


#12933 server: set multiple concurrentReadTx instances share one txReadBuffer area/performance

  • seems be very impactful, and I wish it could made eventually into 3.5.
  • as it touches very critical logic so we are very demanding with testing coverage.

We might make a call to include this one to beta/beta.2 later.


Small tweaks without public behavior change. We used to incorporate such changes in patch releases.

#12587 backend: fix buffer range bug area/bug lgtm
#12568 backend: set seq flag for each bucket buffer area/performance
#12486 server: make raft read only option configurable


Features: -> probably for 3.6

#10887 etcdserver: add ability to auto-promote learners to voters rel/3.5-nice-to-have
- We didn't help the contributor with reviews. Probably too late to start it now. Afraid 3.6.

@hexfusion
Copy link
Contributor Author

@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?

@ptabor
Copy link
Contributor

ptabor commented May 17, 2021

Cutting a brunch alone is not a 'point of no return'. We can decide to backport some PRs from main to release-3.5 after it happens - just the toil/bar will be a little higher.

Do you assume cutting a brunch is going atomically with releasing/tagging "etcd-3.5.0-beta.0" or this will be a follow up e.g. tomorrow ?

@hexfusion
Copy link
Contributor Author

My initial thoughts were to create a separation of the beta code by branching. The downside with this approach is that we will need to backport changes. So if we feel there is still a reasonable amount of work to do (appears this way) we could consider holding the branch until we are ready for a release candidate? Thus create a beta release from main this morning.

@hexfusion
Copy link
Contributor Author

The downside of the above is a more manual vetting of merges so it's a trade-off I suppose.

@ptabor
Copy link
Contributor

ptabor commented May 17, 2021

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.

@serathius
Copy link
Member

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

@lilic
Copy link
Contributor

lilic commented May 17, 2021

There is also this PR #12979 that seems ready for review and can be merged if we want it.

@hexfusion
Copy link
Contributor Author

@mitake could you possibly take a quick peek at #12979?

@hexfusion
Copy link
Contributor Author

hexfusion commented May 17, 2021

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

@hexfusion
Copy link
Contributor Author

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

@serathius
Copy link
Member

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

@lilic
Copy link
Contributor

lilic commented Jun 3, 2021

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

etcd/go.mod

Lines 23 to 32 in 932d42b

go.etcd.io/etcd/api/v3 v3.5.0-alpha.0
go.etcd.io/etcd/client/pkg/v3 v3.5.0-alpha.0
go.etcd.io/etcd/client/v2 v2.305.0-alpha.0
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0
go.etcd.io/etcd/etcdctl/v3 v3.0.0-00010101000000-000000000000
go.etcd.io/etcd/etcdutl/v3 v3.5.0-alpha.0
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0
go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0
go.etcd.io/etcd/server/v3 v3.5.0-alpha.0
go.etcd.io/etcd/tests/v3 v3.5.0-alpha.0

@hexfusion
Copy link
Contributor Author

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

Catching up from holidays will cut new release today.

@gyuho
Copy link
Contributor

gyuho commented Jun 3, 2021

@hexfusion Can we also update bbolt to v1.3.6?

@hexfusion
Copy link
Contributor Author

yes plans are to bump deps and roll rc.0 will get to that tonight.

@ptabor
Copy link
Contributor

ptabor commented Jun 3, 2021

@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:

@hexfusion
Copy link
Contributor Author

both are now merged, thanks for the assist. now pending rc.0

@hexfusion
Copy link
Contributor Author

hexfusion commented Jun 4, 2021

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

@liggitt
Copy link
Contributor

liggitt commented Jun 4, 2021

kubernetes/kubernetes#100488 updated

@gyuho
Copy link
Contributor

gyuho commented Jun 8, 2021

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

@lilic
Copy link
Contributor

lilic commented Jun 9, 2021

I believe we need a new release candidate that includes some changes since the 3.5.0-rc.0. Before that we also need this #13049 PR to land in release-3.5 branch.

@serathius
Copy link
Member

serathius commented Jun 9, 2021

kubernetes/kubernetes#102062 updated and passing all the tests.

@hexfusion
Copy link
Contributor Author

hexfusion commented Jun 9, 2021

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

#13095 is up once merged I can cut rc.1 tonight. Then pending any issues from k8s move towards a formal release.

@hexfusion
Copy link
Contributor Author

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

cc @liggitt @serathius

@serathius
Copy link
Member

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

@gyuho
Copy link
Contributor

gyuho commented Jun 14, 2021

@hexfusion Are we good with tomorrow release (June 15, 2021)?

@nate-double-u @chalin Can we coordinate with blog posting?

@hexfusion
Copy link
Contributor Author

hexfusion commented Jun 14, 2021

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

@gyuho
Copy link
Contributor

gyuho commented Jun 14, 2021

@chalin @nate-double-u Can we make blog post public, right after

6PM EDT

?

@nate-double-u
Copy link
Contributor

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: etcd-io/website#363

@nate-double-u
Copy link
Contributor

(also, please note that @chalin is out this week)

@mrueg
Copy link
Contributor

mrueg commented Jun 15, 2021

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

@nate-double-u
Copy link
Contributor

nate-double-u commented Jun 15, 2021

Website v3.5 release prep PR: etcd-io/website#379

@nate-double-u
Copy link
Contributor

nate-double-u commented Jun 15, 2021

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

@hexfusion
Copy link
Contributor Author

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

@nate-double-u
Copy link
Contributor

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

@gyuho gyuho unpinned this issue Jun 21, 2021
@hexfusion
Copy link
Contributor Author

/close

@gyuho gyuho closed this as completed Jun 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests