Hi, I have encountered a very disturbing issue. After deploying a new release, my device decided to download a different architecture for one of the services.
My docker-compose contains 3 services:
- MQTT broker. Image: eclipse-mosquitto:1.6
- Two internals services. The images have been built before executing ‘balena deploy <my_fleet>’.
After the device has been upgraded, the MQTT broker was not up. (I needed to understand it from the logs of our two services because the UI shows everything is running). I have executed ‘balena inspect <mqtt_image>’ and the architecture is “amd64” and not “arm64” as expected.
- I run the deployment on Linux Ubuntu 20.04.
- My device is RPi4 64bit.
- The fleet is configured as
- Balena CLI version 14.5.0
My docker compose
version: "2"
volumes:
resin-data:
services:
ipc-broker:
image: eclipse-mosquitto:1.6
ports:
- 1883:1883
restart: always
service01:
image: url-to-service01
volumes:
- 'resin-data:/data'
ports:
- 8080:8080
depends_on:
- ipc-broker
restart: always
labels:
io.balena.features.supervisor-api: '1'
environment:
- RELEASE_VERSION=1.0.15
- SCHEMA_VERSION=1.0.9
service02:
image: url-to-service02
environment:
- 'DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket'
- 'DISPLAY=:0'
- 'BROKER_ADDRESS=mqtt://0.0.0.0:1883'
labels:
io.balena.features.dbus: '1'
restart: always
privileged: true
network_mode: host
depends_on:
- ipc-broker
I have a couple of issues:
- Why there isn’t a way to see the architecture of the image from your UI. Searched on the release page and device page.
- Why the UI of the devices is showing “Running” when the service is failing to start in the beginning.