Walt Mankowski via plug on 4 Aug 2022 17:41:44 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[PLUG] Phased updates in Ubuntu 22.04


Hi all,

Over the weekend I learned about a new feature in Ubuntu, something called "phased updates". The idea is that with some updates, instead of rolling them out to the entire community all at once, they'll start with a small random subset of users and monitor bug reports and suchlike. If everything is fine they'll gradually expand the list and finish the rollout over the course of 2 days, but if it's not OK then the regression only affects a small number of people.

Phased updates have been part of Ubuntu since at least 2012 and rolled out more widely in Ubuntu 21.04. They sound like a great idea in theory, but the implementation looks like it still needs some work.

I've been running Ubuntu since 2017 and I've installed the updates every 6 months shortly after they were released. Despite that I had no idea phased updates even existed until this weekend when I noticed I had a bunch of packages held for no apparent reason. I started searching to see if anyone else was having this problem and found a thread on the ubuntu-users mailing list discussing it.

My issue isn't so much the idea of phasing so much as it is how it's currently implemented. Here's a quick example from my Linode showing the problem:

% sudo apt update                                                    
Hit:1 http://mirrors.linode.com/ubuntu jammy InRelease
Hit:2 http://mirrors.linode.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.linode.com/ubuntu jammy-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Fetched 110 kB in 1s (212 kB/s)    
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
2 packages can be upgraded. Run 'apt list --upgradable' to see them.

% apt list --upgradable
Listing... Done
python3-distupgrade/jammy-updates,jammy-updates 1:22.04.12 all [upgradable from: 1:22.04.11]
ubuntu-release-upgrader-core/jammy-updates,jammy-updates 1:22.04.12 all [upgradable from: 1:22.04.11]

% sudo apt upgrade                                                   
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  python3-distupgrade ubuntu-release-upgrader-core
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

As you can see, apt says there are 2 packages to be updated, but then it holds them back without telling you why. The only way I know of to find out if they're being phased is by running apt policy:

% apt policy python3-distupgrade ubuntu-release-upgrader-core
python3-distupgrade:
  Installed: 1:22.04.11
  Candidate: 1:22.04.12
  Version table:
     1:22.04.12 500 (phased 0%)
        500 http://mirrors.linode.com/ubuntu jammy-updates/main amd64 Packages
        500 http://mirrors.linode.com/ubuntu jammy-updates/main i386 Packages
*** 1:22.04.11 100
        100 /var/lib/dpkg/status
     1:22.04.10 500
        500 http://mirrors.linode.com/ubuntu jammy/main amd64 Packages
        500 http://mirrors.linode.com/ubuntu jammy/main i386 Packages
ubuntu-release-upgrader-core:
  Installed: 1:22.04.11
  Candidate: 1:22.04.12
  Version table:
     1:22.04.12 500 (phased 0%)
        500 http://mirrors.linode.com/ubuntu jammy-updates/main amd64 Packages
        500 http://mirrors.linode.com/ubuntu jammy-updates/main i386 Packages
*** 1:22.04.11 100
        100 /var/lib/dpkg/status
     1:22.04.10 500
        500 http://mirrors.linode.com/ubuntu jammy/main amd64 Packages
        500 http://mirrors.linode.com/ubuntu jammy/main i386 Packages

As far as I know you need to list each package separately.

Hopefully this will get better over time, but I'm posting it here so you won't be surprised like I was if this happens to you. Also, if anyone knows of a better way to check on phasing holds than what I've shown here, please let me know.

Walt
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug