Skip to content
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

cluster/images/hyperkube: hyperkube symlinks should be fixed or re-enabled #28702

Closed
peebs opened this issue Jul 8, 2016 · 5 comments · Fixed by #29591
Closed

cluster/images/hyperkube: hyperkube symlinks should be fixed or re-enabled #28702

peebs opened this issue Jul 8, 2016 · 5 comments · Fixed by #29591

Comments

@peebs
Copy link

peebs commented Jul 8, 2016

The hyperkube --make-symlink command was removed from the dockerfile in this PR: #25693

This addition was originally proposed here: #24510

I'd like to fix the problem or re-enable the creation of symlinks if none exists. Currently there is not enough information from the PR that removed them to know what the problem is. I've tested the symlink command and successfully have built hyperkube images with it enabled. Calling the kubelet symlink doesn't panic for me.

@luxas Do you know how to reproduce this issue?

@luxas
Copy link
Member

luxas commented Jul 8, 2016

You're right, the panic I observed when giving no arguments is gone with v1.3.0
It doesn't work when cross-building
Qemu doesn't play very well with Go binaries
Can't we just ln -s hyperkube kubelet for all binaries in the hyperkube image?
I can make a patch with that if you like

@peebs
Copy link
Author

peebs commented Jul 8, 2016

It was discussed in #24510 that the idea with the --make-symlink command was there to obviate the need to maintain all the ln -s commands in the dockerfile since the hyperkube binary already knows all the registered servers.

Do you have more information about why this doesn't work with cross-building? I don't quite understand why Go binaries not playing nicely with qemu matter, since, at some point hyperkube is full of a bunch of go binaries that have to play nicely with arm.

@mikedanese @thockin

@luxas
Copy link
Member

luxas commented Jul 8, 2016

Qemu can't run Go binaries, that's the problem.
We can use --make-symlinks virtually anywhere else
Until Qemu releases a version that's compatible with Go, we can't run Go binaries when cross-building

@peebs
Copy link
Author

peebs commented Jul 8, 2016

Ooh I understand now, basically any use of go during cross building will not work. Do you happen to know if this more a Go issue or qemu issue? Which upstream project needs to make a fix?

@luxas
Copy link
Member

luxas commented Jul 8, 2016

It's a qemu issue, talked to the golang folks
Some qemu maintainer said they've improved stuff at HEAD, but haven't tested it
Anyway, we have to wait until the next qemu release.
If we want it now, we initially have to go with ln -s

k8s-github-robot pushed a commit that referenced this issue Aug 2, 2016
Automatic merge from submit-queue

cluster/images/hyperkube: re-add hyperkube busybox style symlinks

Originally symlinks were added with a `--make-symlinks` command discussed in #24510 and implemented in #24511.

It was backed out in #25693 because go binaries don't run in qemu and this breaks cross-building the Dockerfile for arm. In this case, due to running `hyperkube --make-symlinks`.

Lets just add the symlinks manually until the upstream bug is fixed (qemu).

fixes #28702

@mikedanese @thockin @yifan-gu @euank
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants