-
Notifications
You must be signed in to change notification settings - Fork 112
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
Update vendoring to k8s 1.20/1.21 #402
Comments
Here there should be a check like this so that a non-existent machine key is not requeued. Also, please note that at the second link, the |
I think this is related to this issue - #394 |
The above fix partially closes this issue. However, the larger issue of cache inconsistency is yet to be fixed. |
We have observed that the cache get's outdated for different machine CRD objects causing MCM to stop reconciling objects. We need to validate why this happens. |
With help from @rfranzke, it has been identified that the issue is with the Kubernetes version - 1.14.8. Updating to k8s version 1.15 and above seems to fix it. Refer to - kubernetes/client-go#755. For more details. |
Ideally, the client-side should implement the timeout by itself without depending on the server side to close the channel on timeout. This has already been done recently in client-go but not released yet. We should adopt this change as soon as it is released to insulate ourselves from such issues in the future. |
The issue has been fixed on the server side with the K8s version update to 1.15. However, for the client-side fix we could wait for 1.18 client-go. @amshuman-kr - Let's keep this issue open to track the same. And once 1.18 is released we could adopt the changes. |
Logs of MCM:
MCM doesn't reconcile machines anymore. Restarting MCM results in all the machines getting recreated again, after which the issue is resolved.
The text was updated successfully, but these errors were encountered: