-
Notifications
You must be signed in to change notification settings - Fork 353
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
K0s workers require the mount binary to be in their PATH #3386
Comments
This gets my vote |
Where do we draw the line what to embed and what not? We went quite far to not rely on external executables and libraries like libc, coreutils, iptables. What's different with mount in that regard? |
I'd draw the line on something like: |
Alright, let's be pragmatic. There's probably not a good alternative to shelling out to (Although it'd be cool to be able to run k0s from an empty environment. The mount binary would be the only blocker. All the other binaries are optional/used for corner cases. /cc #271 😄) |
The mount_linux.go also runs |
Fixes k0sproject#3386 Signed-off-by: Jussi Nummelin <jnummelin@mirantis.com>
@ncopa wanted to have a look if the dependency can be replaced upstream |
I think it should be possible with |
The issue is marked as stale since no activity has been recorded in 30 days |
The issue is marked as stale since no activity has been recorded in 30 days |
The issue is marked as stale since no activity has been recorded in 30 days |
Looking at the repo https://github.com/kubernetes/mount-utils where all mount stuff is implemented, replacing |
Oh, wow! Something that we need to keep an eye on and improve our docs and maybe sysprobes. So we're not that zero-dependency, unfortunately... |
I believe this was fixed with 19c800d |
Before creating an issue, make sure you've checked the following:
Platform
Version
main
Sysinfo
`k0s sysinfo`
What happened?
K0s fails to reach node readiness without
mount
being in the PATH. This is an undocumented hard external runtime dependency.Steps to reproduce
Run a k0s worker without the mount binary in its PATH. One possibility: Using the smoke tests, e.g. by applying this blunt patch:
(Yes, it removes the entire PATH, but the culprit is the
mount
executable.)Then run
make check-singlenode
.Expected behavior
Works - k0s is zero dependency 🙈
Actual behavior
The test will fail because the node won't get ready.
Screenshots and logs
The controller logs will contain some typical log lines:
Additional context
The dependency is not with k0s itself, but with kubelet. We need to decide what to do:
The text was updated successfully, but these errors were encountered: