[Bug 1960065] Re: cloud archive: apt upgrade from rocky to stein keeps back some ceph packages

Chris Johnston 1960065 at bugs.launchpad.net
Wed Feb 16 02:04:30 UTC 2022


Going from focal distro to uca-wallaby does not require a dist-upgrade
to complete:

ubuntu at distro-wallaby:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
ubuntu at distro-wallaby:~$ dpkg -l | grep ceph
ii  ceph-common                          15.2.14-0ubuntu0.20.04.2              amd64        common utilities to mount and interact with a ceph storage cluster
ii  libcephfs2                           15.2.14-0ubuntu0.20.04.2              amd64        Ceph distributed file system client library
ii  python3-ceph-argparse                15.2.14-0ubuntu0.20.04.2              amd64        Python 3 utility libraries for Ceph CLI
ii  python3-ceph-common                  15.2.14-0ubuntu0.20.04.2              all          Python 3 utility libraries for Ceph
ii  python3-cephfs                       15.2.14-0ubuntu0.20.04.2              amd64        Python 3 libraries for the Ceph libcephfs library
ubuntu at distro-wallaby:~$ sudo add-apt-repository cloud-archive:wallaby
 Ubuntu Cloud Archive for OpenStack Wallaby
 More info: https://wiki.ubuntu.com/OpenStack/CloudArchive
Press [ENTER] to continue or Ctrl-c to cancel adding it.
...
ubuntu at distro-wallaby:~$ sudo apt update && sudo apt upgrade
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://ubuntu-cloud.archive.canonical.com/ubuntu focal-updates/wallaby InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
44 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libboost-context1.71.0 libboost-iostreams1.71.0 libboost-program-options1.71.0 libboost-thread1.71.0 libfreetype6
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  liblua5.3-0 libpmem1
The following packages will be upgraded:
  bsdutils ceph-common cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run fdisk initramfs-tools initramfs-tools-bin initramfs-tools-core libblkid1 libcephfs2 libcryptsetup12 libdrm-common libdrm2
  libfdisk1 libmount1 librados2 libradosstriper1 librbd1 libsmartcols1 libuuid1 mount open-vm-tools python-apt-common python3-apt python3-ceph-argparse python3-ceph-common python3-cephfs python3-cryptography
  python3-distupgrade python3-httplib2 python3-importlib-metadata python3-openssl python3-rados python3-rbd python3-requests python3-six python3-urllib3 snapd ubuntu-advantage-tools ubuntu-release-upgrader-core
  util-linux uuid-runtime
44 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
15 standard security updates
Need to get 68.7 MB of archives.
After this operation, 30.0 MB of additional disk space will be used.
Do you want to continue? [Y/n]

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/1960065

Title:
  cloud archive: apt upgrade from rocky to stein keeps back some ceph
  packages

Status in ceph package in Ubuntu:
  Won't Fix

Bug description:
  The ceph python2 packages have been dropped between rocky and stein.
  (in Disco, from 13.2.1+dfsg1-0ubuntu3 to 13.2.2+dfsg1-0ubuntu1 [1]).

  The packages python-{cephfs,rados,rbd} have no upgrades, but have
  exact versioned dependencies on packages that have upgrades.

  So, during `apt upgrade` the former block the latter from being
  upgraded, which in turn block  other ceph packages from being upgraded
  (e.g., ceph-{common,mon,osd,mgr}).

  Note this isn't a problem on `apt full-upgrade` or `apt dist-upgrade`
  as these allow package removals (`apt upgrade` does not), then `apt`
  just decides to remove those 3 packages.

  It's possible to fix this with dummy transitional packages that remove
  the exact versioned dependency (patch provided/tested in comment #5).

  [1] https://launchpad.net/ubuntu/+source/ceph/13.2.2+dfsg1-0ubuntu1

  Steps to Reproduce:
  ---

  Setup Bionic container:

  $ lxc launch ubuntu:bionic bionic-uca
  $ lxc exec bionic-uca -- su - ubuntu

  $ sudo apt --yes purge unattended-upgrades
  $ sudo apt update

  Install ceph from Bionic (Queens):

  $ sudo apt --yes install ceph

  $ dpkg -s ceph | grep Version
  Version: 12.2.13-0ubuntu0.18.04.10

  Upgrade to UCA Rocky:

  $ sudo add-apt-repository --yes cloud-archive:rocky

  $ sudo apt --dry-run upgrade
  ...
  The following packages will be upgraded:
    ceph ceph-base ceph-common ceph-mgr ceph-mon ceph-osd libcephfs2 librados2 libradosstriper1 librbd1 python-cephfs python-pecan python-rados python-rbd
    python-webob python3-jsonpatch
  ...

  $ sudo apt --yes upgrade

  $ dpkg -s ceph | grep Version
  Version: 13.2.8-0ubuntu0.18.10.1~cloud0

  Upgrade to UCA Stein:

  $ sudo add-apt-repository --yes cloud-archive:stein

  $ sudo apt --dry-run upgrade
  ...
  The following packages have been kept back:
    ceph ceph-base ceph-common ceph-mgr ceph-mon ceph-osd libcephfs2 librados2 libradosstriper1 librbd1
  ...

  Issue above.

  Check:
  ---

  $ sudo apt -o Debug::pkgProblemResolver=1 --dry-run upgrade
   ...
   Entering ResolveByKeep 10%

     Dependencies are not satisfied for python-cephfs:amd64 < 13.2.8-0ubuntu0.18.10.1~cloud0 @ii mK Ib >
   Keeping package python-cephfs:amd64
     Dependencies are not satisfied for python-cephfs:amd64 < 13.2.8-0ubuntu0.18.10.1~cloud0 @ii mK Ib >
   Package python-cephfs:amd64 python-cephfs:amd64 Depends on libcephfs2:amd64 < 13.2.8-0ubuntu0.18.10.1~cloud0 -> 13.2.9-0ubuntu0.19.04.1~cloud3 @ii umU > (= 13.2
   .8-0ubuntu0.18.10.1~cloud0)
     Keeping Package libcephfs2:amd64 due to Depends

  ...

  Details:
  -------

  python-cephfs at version 13.2.__8__ has exact version dep on
  libcephfs2, which is being upgraded to 13.2.__9__.

  Why isn't python-cephfs being upgraded to 13.2.__9__ too?

  AH, there's no 13.2.__9__ version for python-cephfs, only for libcephfs2.
  So, it stopped on 13.2.__8__ in UCA Rocky, there's no 13.2.__9__ in UCA Stein, as there's for libcephfs2.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1960065/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list