The problem with Getting-Started

Hello,

I’m trying to go through “getting started” guide (https://www.balena.io/os/docs/raspberrypi3/getting-started/) and got this message on the deploy stage:

The supervisor version on this remote device does not support multicontainer local mode. Please update your device to balenaOS v2.20.0 or greater from the dashboard.

Additional information may be available by setting a DEBUG=1 environment
variable: “set DEBUG=1” on a Windows command prompt, or “export DEBUG=1”
on Linux or macOS.

If you need help, don’t hesitate in contacting our support forums at
https://forums.balena.io

For bug reports or feature requests, have a look at the GitHub issues or
create a new one at: Issues · balena-io/balena-cli · GitHub

But the OS version is BalenaOS 2.43.0+rev1 Dev (i have double-checked this)

Alex

Hey @letrich would be good if you could help with a bit more info to try to triage the issue.

  • Is your device on balenaCloud, or is it standalone?
  • what version of the balena CLI are you using? (can check with balena version)
  • what command/state is when you run into the issue exactly?

My hunch is that on that page the getting started might be a bit out of date (regarding local push, at least) and there can be some information we haven’t updated yet / missed to incldue.

Hi @imrehg

My device is not in the belanaCloud, I want to test standalone.
I have downloaded balena dev image from balena os page
Balena CLI version is 11.17.0 (standalone linux binnary from github)
I can successfully ssh to my device with “balena ssh mydevice.local
Next, I git clone this repo: GitHub - balena-io-examples/multicontainer-getting-started: Get up and running quickly with a multicontainer setup on balena
After that, in cloned repo:
balena push mydevice.local

[debug] original argv0=“balena” argv=[/home/letrich/balena-cli/balena,/snapshot/versioned-source/bin/balena,push,mydevice.local] length=4
[debug] Using . as build source
[Debug] Checking we can access device
[Debug] Sending request to http://mydevice.local:48484/ping
The supervisor version on this remote device does not support multicontainer local mode. Please update your device to balenaOS v2.20.0 or greater from the dashboard.

If you need help, don’t hesitate in contacting our support forums at
https://forums.balena.io

For bug reports or feature requests, have a look at the GitHub issues or
create a new one at: Issues · balena-io/balena-cli · GitHub

Hi @letrich that is very strange. When you are ssh’d into the device can you run balena-engine ps -a and see what version of the supervisor is running. Also if you could pull the logs from the supervisor using journalctl -u resin-supervisor --no-pager that would be helpful as well.

Hi @shaunmulligan,
balena-engine ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0946313fcce hello-world “/hello” 5 seconds ago Up Less than a second romantic_austin
354c4bd5ea67 balena/armv7hf-supervisor:v10.2.2 “./entry.sh” 3 days ago Up 9 minutes (healthy) resin_supervisor

journalctl -u resin-supervisor --no-pager

– Logs begin at Thu 2019-08-08 09:59:55 UTC, end at Mon 2019-10-28 03:29:09 UTC. –
Oct 28 03:18:47 mydevice systemd[1]: Starting Resin supervisor…
Oct 28 03:18:47 mydevice resin-supervisor[1226]: resin_supervisor
Oct 28 03:18:47 mydevice resin-supervisor[1234]: active
Oct 28 03:18:47 mydevice systemd[1]: Started Resin supervisor.
Oct 28 03:18:54 mydevice resin-supervisor[1235]: Container config has not changed
Oct 28 03:18:58 mydevice resin-supervisor[1235]: Starting system message bus: dbus.
Oct 28 03:18:58 mydevice resin-supervisor[1235]: * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
Oct 28 03:18:58 mydevice resin-supervisor[1235]: …done.
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [info] Supervisor v10.2.2 starting up…
Oct 28 03:19:09 mydevice resin-supervisor[1235]: (node:1) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [debug] Starting event tracker
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [debug] Starting api binder
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [debug] Unmanaged mode is set, skipping API client initialization
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [debug] Starting logging infrastructure
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [event] Event: Supervisor start {}
Oct 28 03:19:09 mydevice resin-supervisor[1235]: [debug] Performing database cleanup for container log timestamps
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Starting up in unmanaged mode, activating local mode
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Switching logging backend to LocalLogBackend
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Storing engine snapshot in the database. Timestamp: 2019-10-28T03:19:10.098Z
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Connectivity check enabled: true
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] No API endpoint specified, skipping connectivity check
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Starting periodic check for IP addresses
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Reporting initial state, supervisor version and API info
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Handling of local mode switch is completed
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Attempting to load preloaded apps…
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Starting API server
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Applying target state
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [info] Unmanaged mode is set, skipping API binder initialization
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Supervisor API listening on all interfaces
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [debug] Finished applying target state
Oct 28 03:19:10 mydevice resin-supervisor[1235]: [success] Device state apply success
Oct 28 03:23:59 mydevice resin-supervisor[1235]: [api] GET /v1/healthy 200 - 42.060 ms
Oct 28 03:29:01 mydevice resin-supervisor[1235]: [api] GET /v1/healthy 200 - 18.739 ms
Oct 28 03:29:09 mydevice resin-supervisor[1235]: [debug] Attempting container log timestamp flush…
Oct 28 03:29:09 mydevice resin-supervisor[1235]: [debug] Container log timestamp flush complete

One additional string appeard after i tried to push app again:

Oct 28 03:30:53 mydevice resin-supervisor[1235]: [api] GET /ping 200 - 19.629 ms

Hi, can you check that you don’t have more than one device named mydevice.local on the local network? You can check this by running sudo balena scan command.

Could not find any balenaOS devices in the local network

Additional information may be available by setting a DEBUG=1 environment
variable: “set DEBUG=1” on a Windows command prompt, or “export DEBUG=1”
on Linux or macOS.

If you need help, don’t hesitate in contacting our support forums at
https://forums.balena.io

For bug reports or feature requests, have a look at the GitHub issues or
create a new one at: Issues · balena-io/balena-cli · GitHub

It is very strange, I still can ssh to mydevice.local.
I’m using balena-cli inside windows wsl2. Could it be the reason?

UPD: I have installed balena-cli on windows 10. The same behaviour - can SSH, but no devices with “balena scan”

Alex

hi there! A balena scan requires privileged access to network interfaces. Can you confirm you re issuing that command in privileged mode?

hi,
Yes, I use it with sudo in wsl and admin mode for powershell.
For non-priveleged mode i getting another message about priveleges.
Can anyone from balena team just repeat instructions in getting-started guide to ensuresure that problem at my side?

Hello,
We didn’t manage to reproduce your issue on our side.
Might there be another balena device named mydevice.local on the same network?
Could you please try balena push <DEVICE_IP_ADDRESS> ?

Hi @zvin,
“balena push <DEVICE_IP_ADDRESS>” works for me! Thank you!
Alex

Hi,

I’m having the same issue.
The image is the production version.
My device is not connected to the balenaCloud.
I can connect with the command balena ssh <device_name>.local
Pushing directly to the device IP address didn’t work.

Computer

user@mac$ balena version -a
balena-cli version “11.30.17”
Node.js version “10.16.0”

user@mac$ sudo balena scan
Reporting scan results
Could not find any balenaOS devices in the local network.

Raspberry

root@rpi# cat /etc/os-release
ID=“balena-os”
NAME=“balenaOS”
VERSION=“2.47.0+rev1”
VERSION_ID=“2.47.0+rev1”
PRETTY_NAME=“balenaOS 2.47.0+rev1”
MACHINE=“raspberrypi3”
VARIANT=“Production”
VARIANT_ID=“prod”
META_BALENA_VERSION=“2.47.0”
RESIN_BOARD_REV=“a08e3d7”
META_RESIN_REV=“8b48eee”
SLUG=“raspberrypi3”

root@rpi# balena-engine version
Client:
Version: 18.09.10-dev
API version: 1.39
Go version: go1.10.8
Git commit: 7cb464a406748016f2df0c31a9851d20456a3d31
Built: Fri Jan 31 09:22:38 2020
OS/Arch: linux/arm
Experimental: false

Server:
Engine:
Version: 18.09.10-dev
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 7cb464a406748016f2df0c31a9851d20456a3d31
Built: Fri Jan 31 09:22:38 2020
OS/Arch: linux/arm
Experimental: true

root@rpi# balena-engine ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f7648bb2993 balena/armv7hf-supervisor:v10.6.27 “./entry.sh” 2 months ago Up 2 months (healthy) resin_supervisor

Hi Ricardo, just to clarify, the original users on this thread were having difficulty pushing Applications to devices using the name of the device (devicename.local) but were successful when attempting to push a container with an IP Address. In your situation, you seem to be able to SSH to the device name successfully, but, that is not the same as pushing an App of course. However, you cannot push to the IP Address? Is that correct? If so, it is opposite of what the original user reported, strange.

And if so, since you clearly have console access to the Pi, can you verify the entry for ‘eth0’ contains the correct IP when running ‘ifconfig -a’ (assuming you are connected via ethernet…wlan0 if you are on wifi).

Thanks!

Hi David,

Thanks for your response; the IP seems to be right…
I get the same error trying to push to the .local or directly to the ip address…

user@mac$ balena push 192.168.1.102
The supervisor version on this remote device does not support multicontainer local mode. Please update your device to balenaOS v2.20.0 or greater from the dashboard.

Additional information may be available by setting a DEBUG=1 environment
variable: "set DEBUG=1" on a Windows command prompt, "$env:DEBUG = 1" on
powershell, or "export DEBUG=1" on Linux or macOS.

If you need help, don't hesitate in contacting our support forums at
https://forums.balena.io

For CLI bug reports or feature requests, have a look at the GitHub issues or
create a new one at: https://github.com/balena-io/balena-cli/issues/

Computer

user@mac$ ping <hostname>.local
PING <hostname>.local (192.168.1.102): 56 data bytes
64 bytes from 192.168.1.102: icmp_seq=0 ttl=64 time=107.015 ms
64 bytes from 192.168.1.102: icmp_seq=1 ttl=64 time=8.451 ms
64 bytes from 192.168.1.102: icmp_seq=2 ttl=64 time=7.914 ms

Raspberry

**root@rpi**# ifconfig -a
...
wlan0     Link encap:Ethernet  HWaddr B8:27:EB:E4:A2:9F
          inet addr:192.168.1.102  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::7c36:28d8:2d0a:9c6e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:115 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18351 (17.9 KiB)  TX bytes:20559 (20.0 KiB)

Hello can you provide some extra info about this, what device are you using, what balenaOS version is it running. Also if you do export DEBUG=1 and then re-run balena push 192.168.1.102 this will probably reveal the exact reason of why this command is failing.