influxdata / sandbox

A sandbox for the full TICK stack
MIT License
486 stars 220 forks source link

cannot run arm64v8 version of the tickstack #71

Closed fdamador closed 4 years ago

fdamador commented 4 years ago

Chronograf and Kapacitor say /entrypoint.sh: line 12: /usr/bin/chronograf: cannot execute binary file: Exec format error

sandbox_documentation is built; however, during execution it says: Cannot start service documentation: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/documentation/documentation\": permission denied"

russorat commented 4 years ago

@fdamador thanks for the issue. I'm not really sure what's going on. both chronograf and kapacitor are built for arm64v8 i believe: https://hub.docker.com/layers/kapacitor/library/kapacitor/latest/images/sha256-dc3f87863789d3b4b2e62ca8ae8d0e08d2d95fdd5b5615cad707e7370e3ae233

https://hub.docker.com/layers/chronograf/library/chronograf/latest/images/sha256-d7e0ea08c5f12b9ae774b5e982b88d7a1a1aa0b045fde9c255d8cddf7a4beeac

Is there any other info you could provide to help us investigate?

fdamador commented 4 years ago

here are the logs for the changed project to point to the arm64v8 images logs.txt

fdamador commented 4 years ago

I had also tried the generic project without any changes and here are the logs. I assumed the my linux/arm64 would pull the required image.

logs2.txt

fdamador commented 4 years ago

any updates on why Chonograf and Kapacitor hang up? chronograf_1 | /entrypoint.sh: line 12: /usr/bin/chronograf: cannot execute binary file: Exec format error chronograf_1 | /entrypoint.sh: line 12: /usr/bin/chronograf: Success kapacitor_1 | /entrypoint.sh: line 11: /usr/bin/kapacitord: cannot execute binary file: Exec format error kapacitor_1 | /entrypoint.sh: line 11: /usr/bin/kapacitord: Success

russorat commented 4 years ago

@fdamador sorry for not following up sooner. I've reached out internally for help here.

fdamador commented 4 years ago

thanks, a bit more info on the hardware: ARM 64 NAS Toolchain(ARM_64) image

8none1 commented 4 years ago

As a means of testing that it's not our ARM binaries that's the problem I installed docker & docker compose on a RasPi 4 running Ubuntu Server 19.10 ARM64. The Pi4 has an ARM Cortex A72 ARM v8 64bit processor.

Everything worked as expected.

My guess is, and it is only a guess, that the specific toolchain for the NAS device has some incompatibles with our build instructions and what you're getting out is not an ARM64 binary.

Please could you run fileon the executables and post the output here?

fdamador commented 4 years ago

I'm trying to see if I can rebuild the alpine arm64 binaries, from the dockerfiles. official docker images

Updates: The alpine arm toolkit is also armhf. I am able to run the arm golang docker image.

I will send you the file on the executables soon.

fdamador commented 4 years ago

As a means of testing that it's not our ARM binaries that's the problem I installed docker & docker compose on a RasPi 4 running Ubuntu Server 19.10 ARM64. The Pi4 has an ARM Cortex A72 ARM v8 64bit processor.

Can you send me your docker-compose and config files? I can run influxdb and telegraf just fine, it's just Chronograf and Kapacitor that are having the issue

fdamador commented 4 years ago

Looks like your team has made progress on this front. I can now see telegraf running just fine on the Arm64v8 latest build.

image

However, It seems what ever you guys did on Telegraf has not transfered to Kapacitor.

image

hzliangbin commented 4 years ago

hi, @fdamador , I've encountered similar problems with kapacitor. something like "exec format error". seems solved in https://github.com/influxdata/kapacitor/pull/2289 version 1.5.6

fdamador commented 4 years ago

Awesome! I'm glad someone has figured this out.