Verified 1.1ubuntu1.18.04.7~16.04.2 on Xenial.

$ dpkg -l unattended-upgrades | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version                    Architecture Description
+++-===================-==========================-============-===========================================
ii  unattended-upgrades 1.1ubuntu1.18.04.7~16.04.2 all          automatic 
installation of security upgrades
$ sudo unattended-upgrade --dry-run --debug --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=xenial, o=Ubuntu,a=xenial-security, 
o=UbuntuESM,a=xenial
...
wireshark-common
wireshark-gtk
wireshark-qt
System is on metered connection, stopping
$ nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed 
-r 's/.*dev (\S*).*/\1/g'`
GENERAL.DEVICE:ens3
GENERAL.METERED:yes
$ sudo nmcli connection modify 'Wired connection 1' connection.metered no
$  nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed 
-r 's/.*dev (\S*).*/\1/g'`
GENERAL.DEVICE:ens3
GENERAL.METERED:no
$ sudo unattended-upgrade --dry-run --debug --verbose

$ sudo unattended-upgrade --dry-run --debug --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=xenial, o=Ubuntu,a=xenial-security, 
o=UbuntuESM,a=xenial
Using 
(^linux-image-[0-9]+\.[0-9\.]+-.*|^linux-headers-[0-9]+\.[0-9\.]+-.*|^linux-image-extra-[0-9]+\.[0-9\.]+-.*|^linux-modules-[0-9]+\.[0-9\.]+-.*|^linux-modules-extra-[0-9]+\.[0-9\.]+-.*|^linux-signed-image-[0-9]+\.[0-9\.]+-.*|^kfreebsd-image-[0-9]+\.[0-9\.]+-.*|^kfreebsd-headers-[0-9]+\.[0-9\.]+-.*|^gnumach-image-[0-9]+\.[0-9\.]+-.*|^.*-modules-[0-9]+\.[0-9\.]+-.*|^.*-kernel-[0-9]+\.[0-9\.]+-.*|^linux-backports-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-tools-[0-9]+\.[0-9\.]+-.*|^linux-cloud-tools-[0-9]+\.[0-9\.]+-.*)
 regexp to find kernel packages
Using 
(^linux-image-4\.15\.0\-39\-generic$|^linux-headers-4\.15\.0\-39\-generic$|^linux-image-extra-4\.15\.0\-39\-generic$|^linux-modules-4\.15\.0\-39\-generic$|^linux-modules-extra-4\.15\.0\-39\-generic$|^linux-signed-image-4\.15\.0\-39\-generic$|^kfreebsd-image-4\.15\.0\-39\-generic$|^kfreebsd-headers-4\.15\.0\-39\-generic$|^gnumach-image-4\.15\.0\-39\-generic$|^.*-modules-4\.15\.0\-39\-generic$|^.*-kernel-4\.15\.0\-39\-generic$|^linux-backports-modules-.*-4\.15\.0\-39\-generic$|^linux-modules-.*-4\.15\.0\-39\-generic$|^linux-tools-4\.15\.0\-39\-generic$|^linux-cloud-tools-4\.15\.0\-39\-generic$)
 regexp to find running kernel packages
Checking: apt ([<Origin component:'main' archive:'xenial-updates' 
origin:'Ubuntu' label:'Ubuntu' site:'be.archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: apt=1.2.29ubuntu0.1
...
No conffiles in deb 
/var/cache/apt/archives/wireshark_2.6.6-1~ubuntu16.04.0_amd64.deb (There is no 
member named 'conffiles')
blacklist: []
whitelist: []
Configured to install on shutdown, so exiting now
$
$ sudo nmcli connection modify 'Wired connection 1' connection.metered yes
ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$  nmcli -t -f 
GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed -r 's/.*dev 
(\S*).*/\1/g'`
GENERAL.DEVICE:ens3
GENERAL.METERED:yes
$ echo ' Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";' | 
sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-metered
 Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";
$ sudo eatmydata unattended-upgrade --dry-run --debug --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=xenial, o=Ubuntu,a=xenial-security, 
o=UbuntuESM,a=xenial
...
check_conffile_prompt(/var/cache/apt/archives/wireshark_2.6.6-1~ubuntu16.04.0_amd64.deb)
found pkg: wireshark
No conffiles in deb 
/var/cache/apt/archives/wireshark_2.6.6-1~ubuntu16.04.0_amd64.deb (There is no 
member named 'conffiles')
blacklist: []
whitelist: []
Configured to install on shutdown, so exiting now


** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unattended-upgrades in
Ubuntu.
https://bugs.launchpad.net/bugs/1781183

Title:
  Skip updates on metered connections

Status in unattended-upgrades package in Ubuntu:
  Fix Released
Status in unattended-upgrades source package in Xenial:
  Fix Committed
Status in unattended-upgrades source package in Bionic:
  Fix Released
Status in unattended-upgrades package in Debian:
  Fix Released

Bug description:
  [Impact]

   * Systems running unattended-upgrades may download updates over
  metered connections causing excessive data usage possibly making users
  being charged for the downloads.

   * Avoiding users being unexpectedly charged due to unattended-
  upgrades' activity warrants an SRU, IMO.

   * The fix uses
  NetworkMonitor.get_network_metered(NetworkMonitor.get_default()) for
  deciding if the connection is metered and skips or gracefully stops
  updates.

  [Test Case]

   * Run "unattended-upgrades --dry-run --verbose" on metered connection
     - The unfixed versions should provide the following output with default 
configuration:
  $ sudo unattended-upgrade --dry-run --verbose 
  Initial blacklisted packages: 
  Initial whitelisted packages: 
  Starting unattended upgrades script
  Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, 
o=UbuntuESM,a=bionic
  No packages found that can be upgraded unattended and no pending auto-removals

     - The fixed versions should provide the following output with default 
configuration:
  Initial blacklisted packages: 
  Initial whitelisted packages: 
  Starting unattended upgrades script
  Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, 
o=UbuntuESM,a=bionic
  System is on metered connection, stopping
   
    - You can check if the default route is on metered connection by running:
  nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed 
-r 's/.*dev (\S*).*/\1/g'`

    - Also run fixed u-u on not metered connection to check if it still works. 
U-u in lxc for example does not detect the connection to be metered.
    - Check if the following configuration can enable updates even on metered 
connections:
  $ cat /etc/apt/apt.conf.d/51unattended-upgrades-metered 
  Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";

  [Regression Potential]

   * Unattended-upgrades may skip updates even on not metered connections or 
crash, but those are not likely.
   * U-u also adds two new dependencies with the fix which can be seen as a 
regression, but those packages exist on most Ubuntu installations already. (The 
packages are: gir1.2-glib-2.0 and python3-gi)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1781183/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to