project-chip / certification-tool

A test harness and tooling designed to simplify development, testing, and certification for devices, guided by the Connectivity Standards Alliance.
https://csa-iot.org/
Apache License 2.0
26 stars 13 forks source link

[Bug] ! backend The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) #265

Closed GHCRajan closed 1 month ago

GHCRajan commented 1 month ago

Describe the bug

Trying to get the test harness running on Ubuntu VM without RPi4. With some difficulty, able to build the SDK image. However, while starting the TH, backend could not start with the above error.

The document mentions "you’ll need to substitute backend, frontend and [the SDK’s docker image] ... in order for it to work properly." Procedure to update the SDK docker image is documented well. Unable to locate the similar change needed on backend, frontend.

Console log hcr@th:~/certification-tool$ ./scripts/start.sh [+] Running 7/7 ✔ Network chip-default Created 0.1s ✔ Network certification-tool_traefik-public Created 0.1s ✔ Container certification-tool-db-1 Started 0.8s ✔ Container certification-tool-frontend-1 Started 0.8s ✔ Container certification-tool-proxy-1 Started 1.4s ✔ Container certification-tool-backend-1 Started 1.5s ! backend The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested 0.0s Waiting for frontend to start..... done Waiting for backend to startservice "backend" is not running .service "backend" is not running

Steps to reproduce the behavior

  1. Follow the instructions at https://github.com/project-chip/certification-tool/blob/main/docs/Matter_TH_User_Guide/Matter_TH_User_Guide.adoc#th-installation-without-a-raspberry-pi

  2. Use "v2.10+spring2024" tag for the tool

  3. Run :~/certification-tool$ ./scripts/start.sh

Expected behavior

Both frontend and backend should start properly.

Log files

Test harnes

PICS file

No response

Screenshots

No response

Environment

Additional Information

No response

antonio-amjr commented 1 month ago

Hi @GHCRajan,

I see what you mean. Since the backend is not available, the auto-install.sh script happens to grab the image for the wrong platform.

Please, try to locally build the backend with the steps:

$ cd ~/certification-tool
$ ./backend/scripts/build-docker-image.sh

Let me know if that works.

Obs: We'll try to add soon the necessary steps in the User Guide. Also, new versions of the scripts coming will alert for those errors in the future.

GHCRajan commented 1 month ago

Hello @antonio-amjr,

Thank you for your attention and confirmation. This could be closed as I am able to run TH on my Ubuntu VM.

Couple of days ago, noticed the following URL https://github.com/orgs/project-chip/packages/container/package/csa-certification-tool-backend

This docker image has been published for multiple architectures in the past like arm64 and amd64. amd64 edition seems to be missing recently.

Building locally as you mentioned helps.

Needed to modify the Dockerfile to install Ninja and Meson using PIP. Otherwise, deploying the built binaries failed.

Thanks again,