apache / openwhisk-apigateway

Apache OpenWhisk API Gateway service for exposing actions as REST interfaces.
https://openwhisk.apache.org/
Apache License 2.0
64 stars 45 forks source link

Support Multi-architecture Images #271

Open jonpspri opened 6 years ago

jonpspri commented 6 years ago

We've added capabilities to build the apigateway images on multiple architectures, with s390x as our first candidate.

While reviewing https://github.com/apache/incubator-openwhisk/pull/3133 , @csantanapr noted that, we should manage apigateway images directly to support s390x.

I propose we build and ship the images as a single "fat manifest" or "multi-architecture manifest" from Docker. This would likely be best implemented as part of the travis build but will likely require some reconfiguration and parameterization of the Makefile. I'm opening this issue to track comments and concerns on the approach.

Open question: How tied is apigateway to Make as the build/test engine? Most of the rest of the incubator-openwhisk projects appear to be using Gradle for build/test, travis for CI/publication, and ansible for deploy. We may also want to take advantage of the multi-architecture build capabilities offered by DockerHub.

P.S. I'm willing to do the work on this issue -- I'm not usually one to drop an issue without a PR, but this one seems to warrant some discussion.

jonpspri commented 6 years ago

I'm going to leave this here for now:

https://github.com/openresty/lua-nginx-module/issues/1152

Apparently LuaJIT as it's used in OpenRESTy has some challenges in how it uses some of the legacy pointer capabilities on the ARM64 architectures. Disabling the JIT may be an option, but the 'lua-resty-cjose' module requires LuaJIT. So, in the absence of use cases, etc., I'm left scratching my head as to where to go next. This is related to https://github.com/apache/incubator-openwhisk/issues/3172 .