One of my units appears with three (!) IP addresses in Balena Dashboard (and in the CLI, the SDK, and in the supervisor API). Only one of them is valid, though. This is a problem, because I’m not able to ping myself using
$HOSTNAME.local, which in turn is a problem because it prevents our ROS application from starting up. (Using
ROS_HOSTNAME is not an option, since this is a distributed application.) At least, I suspect that this is the cause of the problem. (All other units show up with a single IP address, and none of them have network problems.)
Using BalenaOS v2.50.1+rev1, supervisor v11.4.10.
I can pipe
curl -sX GET --header "Content-Type:application/json" "$BALENA_SUPERVISOR_ADDRESS/v1/device?apikey=$BALENA_SUPERVISOR_API_KEY" to a Python snippet that extracts the IP addresses, loops over them, chooses the first one that also appears in
ifconfig -a, and modifies
/etc/hosts with something sensible, but that feels like an enormous hack which I would not like to have in a production system.