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

WIP: Download arm64 docker binary from Ubuntu repo #2878

Closed
wants to merge 3 commits into from

Conversation

bboreham
Copy link
Contributor

@bboreham bboreham commented Mar 31, 2017

Not finished yet - at the very least I need two more sha checksums.

A bit of refactoring was required so I could extract the binary in two different ways depending on whether we have a .deb package or the Docker tarfile download.

Whilst working on that I noticed the sub-publish rule to make images was only working by accident, so fixed that.

Fixes #2832

@bboreham bboreham self-assigned this Mar 31, 2017
@luxas
Copy link
Contributor

luxas commented Apr 1, 2017

Perfect -- thanks @bboreham, me and @vielmetti were just talking about this.
We're gonna start running e2e tests w/ Weave on arm64 servers and kubeadm soon I think, and it will appear here-ish: https://k8s-testgrid.appspot.com/misc#kubeadm-gce

Required some refactoring because the file is unpacked differently
from a .deb package than from the Docker download.
The sha256sum files are now for the docker binary not for the whole
archive downloaded.
The sub-publish rule is expected to be run three times, passing down
different ARCH settings to a sub-make. It shouldn't run use any
targets that themselves include ARCH.
@bboreham bboreham changed the title WIP: Download arm64 docker binary from Ubuntu repo Download arm64 docker binary from Ubuntu repo Apr 3, 2017
@bboreham
Copy link
Contributor Author

bboreham commented Apr 3, 2017

I got a bit further: seems that binary needs a few libraries:

root@host1:~# docker run -ti --entrypoint=/bin/sh bboreham/weaveexec:git-816cbc44d914
/home/weave # ldd /usr/bin/docker
	/lib/ld-linux-aarch64.so.1 (0xaaaab5797000)
Error loading shared library libapparmor.so.1: No such file or directory (needed by /usr/bin/docker)
	libpthread.so.0 => /lib/ld-linux-aarch64.so.1 (0xaaaab5797000)
Error loading shared library libdevmapper.so.1.02.1: No such file or directory (needed by /usr/bin/docker)
	libc.so.6 => /lib/ld-linux-aarch64.so.1 (0xaaaab5797000)
Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /usr/bin/docker)

@rade
Copy link
Member

rade commented Apr 4, 2017

So this is a dynamically linked binary. Not good. To be fair, this follows established policy by distributions.

It is mighty odd for the docker client to require libdevmapper.

@luxas
Copy link
Contributor

luxas commented Apr 4, 2017

Yeah, this is one of the drawbacks with bundling the client and daemon in the same binary... but they fixed it later so not complaining ;)

@bboreham bboreham changed the title Download arm64 docker binary from Ubuntu repo WIP: Download arm64 docker binary from Ubuntu repo Apr 10, 2017
@luxas
Copy link
Contributor

luxas commented Apr 20, 2017

ping @bboreham I'd love to get this through pretty soon, would make me be able to run Weave on Packet ;)

@bboreham
Copy link
Contributor Author

I thought #2545 would help - the newer docker binary is client only - but it keeps failing tests. Trying to figure that out now.

@bboreham
Copy link
Contributor Author

It occurred to me that weave-kube doesn't actually use the Docker binary at all.
With some re-ordering of container image layers we can dispense with this issue, at least for Kubernetes users.

@vielmetti
Copy link

Hi @bboreham - any progress on this? It looks like Docker is on track for a supported arm64 release some time soon, though I don't know an exact time scale.

@bboreham
Copy link
Contributor Author

@vielmetti Do you need it for Kubernetes or non-kube? The re-ordering I described was done in #2954 so the :latest image should now work for weave-kube.

Otherwise, we can wait for a usable binary or someone can do #2957

@vielmetti
Copy link

Great, this would be for Kubernetes so I think we're good here. @luxas can you take a look, would be happy to see this go.

@bboreham
Copy link
Contributor Author

This was made unnecessary by #3110

@bboreham bboreham closed this Sep 26, 2017
@bboreham bboreham added this to the n/a milestone Oct 5, 2017
@bboreham bboreham deleted the issues/2832-docker-arm64 branch November 16, 2017 10:04
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 this pull request may close these issues.

ARM64 weaveexec image has wrong docker client binary
4 participants