jparklab / synology-csi

Container Storage Interface (CSI) for Synology
Apache License 2.0
162 stars 35 forks source link

Multiarch not working on arm64 #30

Open ahuffman opened 4 years ago

ahuffman commented 4 years ago

1.) Found that the csi containers from quay are not multi-arch, building my own so not a big deal at the moment.

2.) The jparklab/synology-csi:v1.0.0-kubernetes-1.18.0 from the k8s v1.18 deployment (node.yml) is only an amd64 build. You also have a jparklab/synology-csi:v1.18.0 tag that seems to have the multi-arch builds. I edited the daemonset to use the 1.18.0 tag, but also getting a standard_init_linux.go:211: exec user process caused "exec format error" on that image. It seems like something not quite right on the build in addition to the deployment having the incorrect tag for multi-arch use.

Let me know if I can help out in anyway on this, happy to assist with debugging/rebuilding etc.

npawelek commented 4 years ago

After removing the default ARG BUILDPLATFORM and ARG TARGETPLATFORM from the Dockerfile, this cleared up when using docker buildx.

# default values
ARG BUILDPLATFORM="linux/amd64"
ARG TARGETPLATFORM="linux/amd64"

I think the problem was that it wasn't compiling across all architectures when those were set. While each of those platforms were being pushed, they were incorrect.