-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
kubernetes: 1.15.4 -> 1.16.3 #70905
kubernetes: 1.15.4 -> 1.16.3 #70905
Conversation
@GrahamcOfBorg build kubernetes |
@johanot this is my first time nix(os) kubernetes update, do you know if I have to adapt something else? I would not expect any breaking change from the current deployment (last famous words). |
1852732
to
8484b08
Compare
@saschagrunert Thank you! Looks like this breaks something in the CNI components:
Maybe it's just related to the empty version string, but at least we know that this is not a drop-in PR. You can run the tests yourself with |
8484b08
to
1f210a0
Compare
Yes, flannel had issues recently with missing CNI versions in the configuration, I added it as a default to the kubelet, let's see if the tests are passing now. 🤞 |
@GrahamcOfBorg build kubernetes |
@GrahamcOfBorg test kubernetes |
@saschagrunert The tests definitely won't run on ofborg, unfortunately. :) They're too memory-hungry. |
Ah okay thanks for the hint :) |
On my machine it looks like that the error is gone, can someone verify (or not) this please? 🙃 |
I'll give it a spin tomorrow! :) |
The specific error is gone, but it looks like the tests are still broken. Did you successfully run them, or did you only look into the version string? :) |
Looks like something changed with respect to how the kubelet looks itself up -- it now tries to look up the unqualified hostname which fails, because the nodename is FQDN. Maybe we changed something in the hostname infrastructure in NixOS. Investigating. |
I only checked if the error message disappeared, since I was not sure how long the tests should run on my machine... It might be that we have to override the host names on the Kubelet and the proxy. |
That works, but let's find out why the error happened first. Looks to me
like it's not a NixOS change, but the k8s changelog also doesn't mention
it. Bisect in progress.
|
OK, I think what's going on is this: So, the previous behaviour appears to have been to fallback to listen on 127.0.0.1 when the node cannot be looked up in the API by hostname. Now, our mismatch between short/fqdn hostname (in the proxy/apiserver sides respectively) will cause the proxy to fail to start. This is a misconfiguration in our test suite -- the proxy should be set up to query for the fqdn of the node instead of the shortname, since that's how our kubelets are set up to register. |
I would generally add this hostname option to the kube-proxy, since I think this can also fail in other usage scenarios. WDYT? I added it on top of another commit that I can easily revert it. |
It might be possible that this: nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix Lines 304 to 305 in da20b8a
has to be |
I think
I think this may be the best way to go right now, though I'm sad about adding yet another ad-hoc option as needs arise. We really should generalize all those command lines in time, so that module updates aren't as necessary again. Also something to keep in mind. 😄 @johanot care to weigh in on that addition? |
With these changes and appropriate reconfiguration of the test suite, I think we're almost there. The coredns deployment needs to be updated to take into account the deprecated beta APIs, but it still doesn't come up. |
Disregard that. When I spell "apps/v1" correctly, it does come up. 😊 |
ed4ac65
to
ba2d4da
Compare
Yes, I updated it to 1.16.2 and squashed my commits together. |
Can someone please assist me and give it another test run? I'm not sure how to run these tests on my AWS nix machine :-/ |
Yes, absolutely. Sorry I've been busy. Will report back on the test in a
few hours. :)
…On Thu, Nov 7, 2019, 17:49 Sascha Grunert ***@***.***> wrote:
Can someone please assist me and give it another test run? I'm not sure
how to run these tests on my AWS nix machine :-/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#70905?email_source=notifications&email_token=AABVRYWSEU7SEXVB2LQ3MGTQSRBLHA5CNFSM4I7LQGH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDNB4JI#issuecomment-551165477>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABVRYXH4KGTBF3MOLIED23QSRBLHANCNFSM4I7LQGHQ>
.
|
So the problem with the node name mismatch is still there -- the test case will need something like I think everything else looks okay. You should be able to run the test commands I gave you on any non-virtualized Linux with Nix where you have access to virtualization. Let me know if you need help with that. For virtualized Linuxen, I suspect you don't have the necessary hardware access. |
ed6c315
to
93556ce
Compare
Got the tests to run locally and both (rbac, dns) succeeded. PTAL :) |
93556ce
to
180c140
Compare
I'm OK with this now. Since we're just adding an option I think we don't need to add any release notes currently, and hopefully we'll have some more to report on the kubernetes module come 20.03 anyway. :) |
(Just running the tests a final time, then merging) |
Oops, I just realized the commit message is out of date. Would you mind fixing it? And while you're at it, I prefer splitting the module and test change into a separate commit prefixed "nixos/kubernetes: ..." Last step, promise! 😁 |
180c140
to
803b756
Compare
Hm, like this? 🙃 |
Sorry, no, I meant keep the package stuff as separate as possible from any module/test stuff. :) Like so: |
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
803b756
to
7f358a5
Compare
Sure, I changed it as suggested. 👍 |
Reran the tests for good measure, all looks good, thank you for sticking with this. :) |
Motivation for this change
Updating kubernetes to the latest release.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @johanot