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

Port to aarch64 (ARMv8, arm64) #27

Closed
vielmetti opened this issue Mar 24, 2017 · 8 comments
Closed

Port to aarch64 (ARMv8, arm64) #27

vielmetti opened this issue Mar 24, 2017 · 8 comments

Comments

@vielmetti
Copy link

It would be great to get this working on ARMv8.

Expected Behavior

The goal would be to provide a Dockerfile that enables FaaS on ARMv8 machines, specifically getting the watchdog process running.

Current Behavior

The biggest challenge I've identified is finding a compact base container that provides a current version of Go to build and run the worker. The aarch64/ubuntu-golang container is more than a year old, for example. aarch64/ubuntu-golang#4

Possible Solution

Work upstream to get a good aarch64/golang base image, and this becomes nearly trivial.

Context

Looking to port this environment to the Packet 2A 96-core ARM servers.

@alexellis
Copy link
Member

An upstream container would be great - I think you already know @tiannon who manages aarch64.

I have my own set of armhf Dockerfiles in this repo -> docker-arm in the interim I'd be happy to have PRs here to create an ARMv8 version of Dockerfiles.

Did the watchdog / gateway build on Packet?

Steps for porting

There may be more, but I'd start here:

  • Find base image for Alpine
  • Find base image for Golang 1.7.x (or try building with 1.6.4?)
  • Port sample functions as per existing .armhf. extensions
  • Port other build scripts as per existing .armhf. extensions

Other dependency: Docker 1.13 or newer.

@vielmetti
Copy link
Author

The base image for Alpine is easy, that's aarch64/alpine.

The base for Golang 1.7.x or 1.8.x can be aarch64/ubuntu + a Go PPA.

I'll make a link from this issue to http://worksonarm.com/faas and chase dependencies there too.

@vielmetti
Copy link
Author

WIP #52

@vielmetti
Copy link
Author

Someone has a Docker build for 17.04-ce as a binary, I'll find that and use it.

@vielmetti
Copy link
Author

I count 18 files to touch or add from

https://github.com/alexellis/faas/search?utf8=✓&q=armhf&type=

There might be some refactoring to be done.

@rgee0
Copy link
Contributor

rgee0 commented Aug 20, 2017

Arm64v8 on docker hub is showing recent activity.

Golang 1.7.5 to 1.9 appears to be available.

@alexellis
Copy link
Member

Yes, that's good. Docker for ARMv8 is broken for Swarm right now, so this is the blocking piece at the moment. You can do a manual build but if 17.07 is fully working we can move forward with this.

@alexellis
Copy link
Member

Closing - will create new issue when we tackle this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants