-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Replace etcd init script and bump etcd version #29109
Replace etcd init script and bump etcd version #29109
Conversation
/ci-clustermesh |
c65e8e1
to
37f9e79
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @JamesLaverack!
The overall structure looks good to me. You can find a few comments and suggestions inline.
Commits f9abac2, ecdf98c, 86e0deb do not match "(?m)^Signed-off-by:". Please follow instructions provided in https://docs.cilium.io/en/stable/contributing/development/contributing_guide/#developer-s-certificate-of-origin |
Commits f9abac2, ecdf98c, 86e0deb, 7f5476e do not match "(?m)^Signed-off-by:". Please follow instructions provided in https://docs.cilium.io/en/stable/contributing/development/contributing_guide/#developer-s-certificate-of-origin |
234086c
to
59bd78e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Helm changes look good to me, thanks!
This change replaces the etcd init script that is normally executed in the etcd container when starting clustermesh-apiserver. Instead the etcd binary is bundled into the clustermesh-apiserver container image, and a new command is added in Go that will start the server and init the data directory. This is intended as a direct replacement of the current etcd in clustermesh deployments. Previously, we have been unable to update the etcd image as the script requires sh to be present, which isn't in newer etcd images that have moved to distroless. Signed-off-by: James Laverack <james@isovalent.com>
cf6cb44
to
94ee894
Compare
/test |
Looks like a flake on one of the conformance tests? /test |
FYI, you can restart a single test using the trigger phrase part of the workflow name (e.g., ci-clustermesh). Flakes should also be tracked linking them to an existing issue when present, or creating a new one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me 🚀, thanks @JamesLaverack!
Just a few final nits inline (feel free to ignore them if you don't want to go through a new round of CI testing though).
Removing the ready to merge label, to wait for Tom's review. |
@JamesLaverack @giorio94 sorry for the late review, looks good |
This is a follow on from the review of cilium#29109, and is a collection of minor changes: - Remove unused variables in install/kubernetes Makefile values file - Remove etcd image from check-docker-images.sh script - Remove now-unused external dependencies block from check-docker-images.sh script - Clarify doc comment for ClusterMeshEtcdInit function, to correctly state the purpose of the hasConfig key - defer etcdClient.Close() after creating etcdClient - Use errors.Join to handle errors in defered cleanup code, where the main function may have also returned an error - Correct typo in comment: "it's" to "its" Signed-off-by: James Laverack <james@isovalent.com>
This is a follow on from the review of cilium#29109, and is a collection of minor changes: - Remove unused variables in install/kubernetes Makefile values file - Remove etcd image from check-docker-images.sh script - Remove now-unused external dependencies block from check-docker-images.sh script - Clarify doc comment for ClusterMeshEtcdInit function, to correctly state the purpose of the hasConfig key - defer etcdClient.Close() after creating etcdClient - Use errors.Join to handle errors in defered cleanup code, where the main function may have also returned an error - Correct typo in comment: "it's" to "its" Signed-off-by: James Laverack <james@isovalent.com>
This is a follow on from the review of #29109, and is a collection of minor changes: - Remove unused variables in install/kubernetes Makefile values file - Remove etcd image from check-docker-images.sh script - Remove now-unused external dependencies block from check-docker-images.sh script - Clarify doc comment for ClusterMeshEtcdInit function, to correctly state the purpose of the hasConfig key - defer etcdClient.Close() after creating etcdClient - Use errors.Join to handle errors in defered cleanup code, where the main function may have also returned an error - Correct typo in comment: "it's" to "its" Signed-off-by: James Laverack <james@isovalent.com>
This is a follow on from the review of cilium#29109, and is a collection of minor changes: - Remove unused variables in install/kubernetes Makefile values file - Remove etcd image from check-docker-images.sh script - Remove now-unused external dependencies block from check-docker-images.sh script - Clarify doc comment for ClusterMeshEtcdInit function, to correctly state the purpose of the hasConfig key - defer etcdClient.Close() after creating etcdClient - Use errors.Join to handle errors in defered cleanup code, where the main function may have also returned an error - Correct typo in comment: "it's" to "its" Signed-off-by: James Laverack <james@isovalent.com>
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
Fixes: <commit-id>
tag, thenplease add the commit author[s] as reviewer[s] to this issue.
This is a follow-on PR from #26352, that rebases much of the work and changes the approach.
This change replaces the etcd init script that is normally executed in the etcd container when starting clustermesh-apiserver. Instead the etcd binary is bundled into the clustermesh-apiserver container image, and a new command is added in Go that will start the server and initalise the data directory.
This is intended as a direct replacement of the current etcd in clustermesh deployments.
Previously, we have been unable to update the etcd image as the script requires sh to be present, which isn't in newer etcd images that have moved to distroless.
Fixes: #23770