Can't reconnect to VPN

I’m doing some initial investigation of BalenaCloud and having read through the docs and played with a single app with a single device, I’m confused about the offline/online status and VPN connectivity.

With the device set up with all default Configuration values, in the BalenaCloud dashboard I set the RESIN_SUPERVISOR_VPN_CONTROL to false. The device went ‘offline’ but continued displaying logs from my application container. The RESIN_SUPERVISOR_POLL_INTERVAL is at the default 600000mS. So I was expecting that when I set the VPN control back to true, the device would come back ‘online’ within 10 minutes (it hasn’t)?

Am I misunderstanding something else too; is it expected that my ‘main’ service logs are still shown in the Balena dashboard when VPN is set to false and the device is showing as ‘offline’?

Hey, there was a supervisor issue with re-enabling vpn that was fixed in v10.5.1 which would cause problems with re-enabling the vpn. The easiest way to trigger it to reconnect immediately would be to reboot the device. As for the online/offline in the dashboard that’s dependent on the vpn connectivity status

And the only way I can reboot the device now is physically? If this was a kit in the field that would be fairly problematic!

I’m hoping in the long term we’d have many thousands of devices in disparate locations all with VPN disabled and set to poll relatively infrequently to reduce bandwidth requirements (https://www.balena.io/docs/reference/supervisor/bandwidth-reduction). Then if/when we need to access the devices we could turn on the VPN for a short period. Sounds like that’s possible for Supervisor >= 10.5.1, but slightly flaky with 10.2.2?

You would also be able to still push updates so it would be possible to push an app update that could conditionally trigger a reboot in order to do it, and with delta updates that could be done with minimal bandwidth but obviously it’s far from ideal which is why I would recommend the newer supervisor. Alternatively older supervisors also work but I’m not sure which version the bug was introduced in.

As for those measures they will definitely reduce bandwidth and are fairly common measures, along with the other I’d recommend of making use of delta updates ( https://www.balena.io/docs/learn/deploy/delta/ ) to reduce the size of updates significantly

Cool. Is there a reason I’m not using the latest supervisor? I just followed the ‘Getting Started’ guide for Raspberry Pi and used the development version of BalenaOS (and I can’t do a BalenaOS update for that reason).

@smagness welcome to the forums! The latest supervisor version available in any OS release is currently 10.3.7, included in balenaOS 2.44, but depending on the device you’re using you won’t necessarily be using that version. As you’re on a Raspberry Pi you’re probably running balenaOS 2.43 where the latest supervisor version is 10.2.2 as you’ve found.

You can always find the latest OS versions available for each device here: https://balena-io-playground.github.io/balenaosversions/

Also, you’re able to see what supervisor versions are in each OS version by looking at the changelog here: https://github.com/balena-os/meta-balena/blob/master/CHANGELOG.md#v2450

So, although there are newer versions of the supervisor, they haven’t yet made it into a balenaOS release. I hope this helps clarify things for you.

Just re-posting the other part to my original question too:

is it expected that my ‘main’ service logs are still shown in the Balena dashboard when VPN is set to false and the device is showing as ‘offline’?

@smagness yep that’s normal, as the logs are not sent via the VPN.