Snap refresh over metered connections

I have been taking a look at snapd’s code, and if I understand it correctly we are safe from regressions as far as refresh.metered is not set to hold by default.

But, there is an issue with the current logic: it considers that all network devices are managed by network-manager. When the network-manager snap is installed, it does not manage ethernet connections by default. You need to set the ethernet.enable property to true for this to happen. If it is not set, in a case when you have a modem and an ethernet connection both active, NM will very possibly report org.freedesktop.NetworkManager.Metered is NM_METERED_GUESS_YES, but actually the default route is through the ethernet (which would be managed by systemd-netwrokd). This would cause the system to not update for 60 days when it should.

In most of our IoT devices, ethernet.enable has been set to true, but it is false if you install manually the snap.