-
Notifications
You must be signed in to change notification settings - Fork 41.9k
etcd: Update etcd to v3.6.5 #134251
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
etcd: Update etcd to v3.6.5 #134251
Conversation
|
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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. |
|
/sig etcd |
|
/test pull-kubernetes-e2e-gce |
|
/retest |
|
/test pull-kubernetes-e2e-gce |
|
/retest |
The promoted image seem to be not correct kubernetes/k8s.io#8530. /hold |
|
The image build process was changed. Should we mention that in the release-note?
cc @neolit123 for kubeadm part. |
Upon inspection the image doesn't have |
not having a shell is security hardening. is a shell required by some users and their use cases? |
|
The kubernetes/cluster/images/etcd/Dockerfile Line 32 in 0e014fc
|
|
I think we also need to
|
|
/cherry-pick release-1.34 |
|
/release-note-edit |
|
This change broke some tests in windows. The previous version had windows flavors regctl manifest get registry.k8s.io/etcd:3.6.4-0
Name: registry.k8s.io/etcd:3.6.4-0
MediaType: application/vnd.docker.distribution.manifest.list.v2+json
Digest: sha256:e36c081683425b5b3bc1425bc508b37e7107bb65dfa9367bf5a80125d431fa19
Manifests:
Name: registry.k8s.io/etcd:3.6.4-0@sha256:71170330936954286be203a7737459f2838dd71cc79f8ffaac91548a9e079b8f
Digest: sha256:71170330936954286be203a7737459f2838dd71cc79f8ffaac91548a9e079b8f
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/amd64
Name: registry.k8s.io/etcd:3.6.4-0@sha256:867ecac79776bf83ce7dee030a3b14eaa4a1cda2898df7e25ed3524a9f809fd8
Digest: sha256:867ecac79776bf83ce7dee030a3b14eaa4a1cda2898df7e25ed3524a9f809fd8
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/arm/v7
Name: registry.k8s.io/etcd:3.6.4-0@sha256:5db83f9e7ee85732a647f5cf5fbdf85652afa8561b66c99f20756080ebd82ea5
Digest: sha256:5db83f9e7ee85732a647f5cf5fbdf85652afa8561b66c99f20756080ebd82ea5
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/arm64
Name: registry.k8s.io/etcd:3.6.4-0@sha256:8fbb16da31eb870d31b541e591b89504125373cc4e5d682bf6214ad08eb376c6
Digest: sha256:8fbb16da31eb870d31b541e591b89504125373cc4e5d682bf6214ad08eb376c6
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/ppc64le
Name: registry.k8s.io/etcd:3.6.4-0@sha256:14a4b7ef3df0910c311b5a89f4c2e4fa6270717a2a6b9271b810e770a26b9ac1
Digest: sha256:14a4b7ef3df0910c311b5a89f4c2e4fa6270717a2a6b9271b810e770a26b9ac1
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/s390x
Name: registry.k8s.io/etcd:3.6.4-0@sha256:7682a4e72f88f7a0546a78befbf848810527a30b93b729936bdda59dc03ef8cc
Digest: sha256:7682a4e72f88f7a0546a78befbf848810527a30b93b729936bdda59dc03ef8cc
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: windows/amd64
OSVersion: 10.0.17763.7558
Name: registry.k8s.io/etcd:3.6.4-0@sha256:314419e0383b72dfb740986b8cea10e8c4e44f5eab528ef1d5d26133b92d5320
Digest: sha256:314419e0383b72dfb740986b8cea10e8c4e44f5eab528ef1d5d26133b92d5320
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: windows/amd64
OSVersion: 10.0.20348.3932The current version does not regctl manifest get registry.k8s.io/etcd:3.6.5-0
Name: registry.k8s.io/etcd:3.6.5-0
MediaType: application/vnd.docker.distribution.manifest.list.v2+json
Digest: sha256:042ef9c02799eb9303abf1aa99b09f09d94b8ee3ba0c2dd3f42dc4e1d3dce534
Manifests:
Name: registry.k8s.io/etcd:3.6.5-0@sha256:28cf8781a30d69c2e3a969764548497a949a363840e1de34e014608162644778
Digest: sha256:28cf8781a30d69c2e3a969764548497a949a363840e1de34e014608162644778
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/amd64
Name: registry.k8s.io/etcd:3.6.5-0@sha256:0f87957e19b97d01b2c70813ee5c4949f8674deac4a65f7167c4cd85f7f2941e
Digest: sha256:0f87957e19b97d01b2c70813ee5c4949f8674deac4a65f7167c4cd85f7f2941e
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/arm64
Name: registry.k8s.io/etcd:3.6.5-0@sha256:2055881a1107b7e1bf7002b48544aed8b7da517d4d8e138c7b3b67abbf73a81d
Digest: sha256:2055881a1107b7e1bf7002b48544aed8b7da517d4d8e138c7b3b67abbf73a81d
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/ppc64le
Name: registry.k8s.io/etcd:3.6.5-0@sha256:dfecf781891d331534930c82444272582feb768fb07b51a0cc1e51d7ebbbc170
Digest: sha256:dfecf781891d331534930c82444272582feb768fb07b51a0cc1e51d7ebbbc170
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/s390xCan we revert this change until we understand how the etcd 3.6.5-0 image was built? |
|
@marosset thanks for reporting. do you know how these etcd images are used on arm64 and amd64 windows exactly? as we know, there is no control plane support on windows yet, but i guess etcd can be used to run as external / distributed on windows machines. also, are these tests failing at k8s testgrid or downstream? @ahrtr @joshjms this has to be reverted. |
|
In the Windows e2e tests we run I'm not familiar with what exactly what that test does but it has been working on Windows and is marked as conformance so we've always been running it
|
|
We have a presubmit job that I think would have caught this (https://testgrid.k8s.io/sig-windows-presubmit#pull-kubernetes-e2e-capz-windows) and I think it should have gotten triggered for this PR :( |
interesting, i never knew this test ran on windows. the test basically setups the simple aggregated apiserver and a local etcd as the backend. and it's part of conformance, which kind of enters the land of supporting a control plane on windows, which we never claimed. i can see a use case where distributed etcd machines can run on windows and be used by a control plane (apiserver) running on linux, though, running the above test as it is, might be a bit of a stretch. |
i recall some discussions in the past about the LinuxOnly tag for some tests. i think this test probably should have been tagged like that. unless, testing the simple apiserver / etcd on Windows was intentional. |
Tests that cannot run on Windows were all marked with |
@neolit123 Let's figure out the correct behaviour first, before reverting. I have doubts that Windows nodes are expected to run as control plane, even less as part of Conformance tests. |
|
Our current release process does not build the images for windows (cc @ivanvc ) for TARGET_ARCH in "amd64" "arm64" "ppc64le" "s390x"; do
log_callout "Building ${TARGET_ARCH} docker image..."
GOOS=linux GOARCH=${TARGET_ARCH} BINARYDIR=release/etcd-${VERSION}-linux-${TARGET_ARCH} BUILDDIR=release ./scripts/build-docker.sh "${VERSION}"
done |
that is puzzling. then why did the old images have the windows binaries? |
|
@neolit123 The old images were not based on released |
|
since it broke windows conformance it has to be reverted before the next test freeze for .35 or the test must be marked as LinuxOnly before then. cc @dims @johnbelamaric from sig arch and conformance changes. |
|
Thanks @marosset for raising the issue. Thanks for all the discussion. Just created an issue etcd-io/etcd#20767, let's continue the discussion there. |
|
Don't some conformance tests already require linux nodes be present? If the etcd portion of the aggregated server test pod is not supported on windows (and it is not, according to the etcd project), shouldn't we add an os selector or test tag to steer those pods to a linux node? That seems like the correct fix to the failing e2e conformance test |
I want to check with @claudiubelu to see if he was aware of anyone running etcd as a Windows container or if we just added the image for test parity. If we just added the image for test parity I think we can steer the etcd pod to a linux node (for the Windows test passes we taint the linux / control-plane node(s) so a toleration + an os selector added to the deployment in the test should suffice). |
as i mentioned somewhere else, that might be hard to determine as the windows binary 'leaked' as a feature of the image and now there could be users. so removing it breaks them. |
I don't think there's any obligation to keep publishing those images. The old images still work. The new images don't include windows binaries, but consumers who want to run etcd on unsupported operating systems can build it themselves and point at custom images, right? |
|
sounds to me like something sig windows and sig etcd can agree on and mention it in a release note. currently, sig etcd don't really want to include the windows binary. |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Which issue(s) this PR is related to:
Ref: etcd-io/etcd#20501
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
/cc @ivanvc @ahrtr