-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
netchecker: update images to 1.2.2 from Mirantis #8074
netchecker: update images to 1.2.2 from Mirantis #8074
Conversation
Hi @cristicalin. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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/test-infra repository. |
4088e85
to
b638418
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.
/ok-to-test
Indeed.. not sure an image from 12/2017 will make a difference compare to 06/2017 but well no harm done in upgrading it
Seems the server is not quite happy:
|
Bit more detail:
This looks like the Mirantis version is trying to create some CRDs using the v1beta1 API which was dropped in kube 1.22. |
I tried a couple of hacks on the Mirantis code to modernize it but it's just to ancient and my golang is to weak to be able to apply a quick and dirty fix. For now, it looks like the v1.0 images from l23networks still work with modern kubernetes. An alternative would be to deploy an etcd cluster and have the netchecker server use etcd instead of CRDs, a solution I don't quite like due to the wasted resources. |
Yup, even if I guess at some point netchecker won't work with newer version, so for now we could shrug that but it'll become an issue in the future 😢 |
…ss ancinet than the l23networks images
b638418
to
a720942
Compare
129efd7
to
1770981
Compare
…re no longer suported by kube 1.22+
1770981
to
95c8798
Compare
While I'm not 100% happy that I had to add a separate sidecar for this to work, I now have a workable solution with an updated version. The main benefit of the v1.2.2 images is that they pack a prometheus exporter which can be used to monitor connectivity in the cluster, so for production clusters this is a big win. The solution was to add an etcd sidecar in the netchecker server pod and make netchecker server talk to the local etcd. The etcd container is not exposed outside the pod so it does make this setup somewhat brittle since we cannot reliably scale up the server deployment. An additional caveat is that the code is so ancient it only has support for etcd v2 API which no longer works properly in our current etcd version (as of this writing this is 3.5.0) and I had to use etcd 3.4.17 for which I had to add a separate version variable to make it work. The good news is that this now works reliably beyond kube 1.22 but the solution is messy. We should consider trying to revive or fork the upstream project as I'm not aware of a similar project that is currently maintained. |
@floryut I think the current solution should be good enough to merge and allow us to not worry about the changes in 1.22 and beyond, even though it's a bit dirty |
Agreed, good job here 👍 |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cristicalin, floryut The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thanks for doing this. /lgtm |
* netchecker: update images to 1.2.2 from Mirantis which is slightly less ancinet than the l23networks images * Netchecker: use local etcd instead of kubernetes v1beta1 crds which are no longer suported by kube 1.22+
* netchecker: update images to 1.2.2 from Mirantis which is slightly less ancinet than the l23networks images * Netchecker: use local etcd instead of kubernetes v1beta1 crds which are no longer suported by kube 1.22+
Update netchecker to a slightly less older version than what we have today in kubespray. We rely on this tool in our CI so it does not hurt to be a bit more up-to-date.
What type of PR is this?
/kind feature
What this PR does / why we need it:
Netchecker, while old and has not seen many changes recently, does have slightly newer versions published by Mirantis. This PR updates our netchecker to the newer version.
Which issue(s) this PR fixes:
Fixes #8075
Special notes for your reviewer:
Does this PR introduce a user-facing change?: