Torizon, python example: manifest not found

Hi there :slight_smile:

after having issues with my torizon image, I reinstalled the newest torizon OS and tried to run the makefile sample project. It did encounter an issue, so I went through the tutorial again to set up the python project.
However, I got stuck with the same error as in the makefile project, although I followed the instructions step by step:

Warning: Permanently added '192.168.178.35' (ED25519) to the list of known hosts.
time="2024-07-24T09:47:25Z" level=warning msg="The \"DOCKER_LOGIN\" variable is not set. Defaulting to a blank string."
 python-test-debug Pulling 
 python-test-debug Warning 
WARNING: Some service image(s) must be built from source by running:
    docker compose build python-test-debug
1 error occurred:
        * Error response from daemon: manifest for 192.168.178.26:5002/python-test-debug:arm64 not found: manifest unknown: manifest unknown

This error did not appear previously - did I screw sth up in the set up?
Hardware:
Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board,
Ixora Carrier Board V1.3A

Kind regards
Ludwig

Greetings @Ludwig,

Just to explain what this error means first. The extension works by building your container image containing your application. It then pushes this container image to a local registry that is running on the same machine you’re running VSCode. This local registry is setup by the IDE extension automatically. The Toradex device then tries to pull the container image from this local registry so it has the container image on it. This error usually means that the container image with the identifier 192.168.178.26:5002/python-test-debug:arm64 could not be found in the registry.

Now typically this whole process should be automated by the extension. So we need to figure out what went wrong here. Let me start by asking some questions.

  • The IP address 192.168.178.26 corresponds to your machine running VSCode correct? And 192.168.178.35 corresponds to the Toradex device correct?
  • On your machine running VSCode is there a container running with the name “registry” or something similar?
  • Could you share the contents of the file /etc/docker/daemon.json from your Toradex device.
  • You said “This error did not appear previously”, does that mean this worked fine in the past?
  • The steps you performed what were they exactly? Did you just create the python project, add your device, then hit F5/debug?

Best Regards,
Jeremias

Hi Jeremias,
thanks for the reply!
I checked the following:

  • 192.168.178.26 is my linux machine running vs code
  • 192.168.178.35 is the local ip of my toradex device
  • there is a container on my linux, called registry, its running (image: registry:2)
  • file content: { "insecure-registries" : ["192.168.178.26:5002"] }
  • yes, this worked fine in the past. The only thing that was changed, was that I removed the old device and added a new one (set as default) with the same name and password

The following steps I did again:

  1. Remove the device in the torizon extension
  2. go to the tab ‘network devices’
  3. select my device, click on connect, and enter user name and password
  4. deviceis shown in connected
  5. set as default
  6. open a new vs code window (close the old one)
  7. click on new torizon project in the explorer, fill out names etc, create project
  8. run target: “python local” => works fine
  9. run target: “torizon armv8” => same error message

the error appears in the step with the following command:

The terminal process "sshpass '-p', '<<my-password>>', 'ssh', '-p', '22', '-o', 'UserKnownHostsFile=/dev/null', '-o', 'StrictHostKeyChecking=no', 'torizon@192.168.178.35', 'LOCAL_REGISTRY=192.168.178.26 TAG=arm64 docker compose pull testpython2-debug'" terminated with exit code: 18.

I tried to reproduce this on my own setup, but it worked fine for me. So it doesn’t seem to be some kind of bug. Let’s see if we can figure out what is going on in your setup then.

The error message not found: manifest unknown: manifest unknown means the container image 192.168.178.26:5002/testpython2-debug:arm64 could not be found in the local registry running on your Linux machine. If the issue was due to network error of some kind then I would expect a different error message.

The extension should have automatically build and placed this container image into the Local registry prior to trying to pull it on the Toradex device. But let’s confirm that the image is indeed in the registry to begin with.

On your Toradex device could you try running docker pull 192.168.178.26:5002/testpython2-debug:arm64. This is assuming your project is still the testpython2 from your last comment. This command will try and pull the container image from the registry running on your Linux machine, try this and see if you get the same error.

Also on your Linux machine do you see a container image via docker images with the name localhost:5002/testpython2-debug:arm64?

Best Regards,
Jeremias

Hi there!
a) docker pull => same error
b) no, the command “docker images” shows no images. However, in docker desktop I see the image localhost:5002/testpython2-debug:arm64 with status unused… :thinking:

no, the command “docker images” shows no images. However, in docker desktop I see the image localhost:5002/testpython2-debug:arm64 with status unused…

That’s very odd. The container images listed by docker images and in the Docker Desktop UI should be the same. This suggests something might be wrong, or strange about your Docker installation on your development PC.

Did you perhaps install both Docker Desktop and the Docker engine at the same time? I know in the past we’ve had other customers somehow install both instead of just one or the other and it resulted in strange behavior.

Maybe it would be prudent, to uninstall everything Docker from your PC and then re-install it just to reset the Docker environment to base. This might be quicker than trying to figure out what is wrong since you’re having strange observations like docker images and Docker Desktop not agreeing on what container images are present on your system.

In our documentation we typically recommend just the docker engine due to licensing differences, but Docker Desktop should work in theory as well: Set up the Torizon IDE Extension Environment | Toradex Developer Center

Best Regards,
Jeremias

Hey there,
checked it out and yes, you were right something was screwed with the docker installation. Uninstalled everything, reinstalled it and it worked directly with ease!
Thanks!

Perfect! That’s good to hear it was just the Docker installation. Glad I was able to assist.

Best Regards,
Jeremias