[Bug 1815948] [NEW] Upgrade from rocky python2->python3 packages breaks openstack_dashboard alternative

Corey Bryant corey.bryant at canonical.com
Thu Feb 14 18:46:57 UTC 2019


Public bug reported:

After upgrading from queens->rocky with the openstack charms, /usr/share
/openstack-dashboard/openstack_dashboard is missing files because it is
not a symlink (alternative) to /usr/lib/python3/dist-
packages/openstack_dashboard.

Note that the openstack charms are using py2 packages in queens and py3
packages in rocky. The upgrade process of the packages goes:

(1) py2queens -> (2) py2rocky -> (3) py3rocky

Bad state after upgrade: https://paste.ubuntu.com/p/3GnMTVfZDk/

Also worth noting that the queens packages did not use alternatives for
/usr/share/openstack-dashboard/openstack_dashboard. In that version of
the package the files are copied into /usr/share/openstack-
dashboard/openstack_dashboard during the package build so there are no
symlinks/alternatives involved.

Looking closer during the upgrade, at step (2) we have:

$ apt policy python-django-horizon
python-django-horizon:
  Installed: 3:14.0.1-0ubuntu1~cloud0
  Candidate: 3:14.0.1-0ubuntu1~cloud0
  Version table:
 *** 3:14.0.1-0ubuntu1~cloud0 500
        500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/rocky/main amd64 Packages
        100 /var/lib/dpkg/status

$ update-alternatives --display openstack_dashboard

openstack_dashboard - auto mode
  link best version is /usr/lib/python2.7/dist-packages/openstack_dashboard
  link currently points to /usr/lib/python2.7/dist-packages/openstack_dashboard
  link openstack_dashboard is /usr/share/openstack-dashboard/openstack_dashboard
/usr/lib/python2.7/dist-packages/openstack_dashboard - priority 300

And after step (3) we have:

$ ls -al /usr/share/openstack-dashboard
total 36
drwxr-xr-x   4 root root  4096 Feb 14 18:28 .
drwxr-xr-x 127 root root  4096 Feb 14 17:29 ..
drwxr-xr-x   3 root root  4096 Feb 14 18:28 bin
-rwxr-xr-x   1 root root   881 Dec  5 16:45 manage.py
drwxr-xr-x   4 root root  4096 Feb 14 18:28 openstack_dashboard
-rw-r--r--   1 root root 15713 Dec  5 16:45 settings.py

$ ls -al /usr/share/openstack-dashboard/openstack_dashboard/
total 24
drwxr-xr-x 4 root root  4096 Feb 14 18:28 .
drwxr-xr-x 4 root root  4096 Feb 14 18:28 ..
drwxr-xr-x 2 root root  4096 Feb 14 18:28 conf
drwxr-xr-x 2 root root 12288 Feb 14 18:28 enabled

$ update-alternatives --display openstack_dashboard
openstack_dashboard - auto mode
  link best version is /usr/lib/python3/dist-packages/openstack_dashboard
  link currently points to /usr/lib/python3/dist-packages/openstack_dashboard
  link openstack_dashboard is /usr/share/openstack-dashboard/openstack_dashboard
/usr/lib/python3/dist-packages/openstack_dashboard - priority 200

** Affects: horizon (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  Upgrade from rocky python2->python3 packages breaks
  openstack_dashboard alternative

Status in horizon package in Ubuntu:
  New

Bug description:
  After upgrading from queens->rocky with the openstack charms,
  /usr/share/openstack-dashboard/openstack_dashboard is missing files
  because it is not a symlink (alternative) to /usr/lib/python3/dist-
  packages/openstack_dashboard.

  Note that the openstack charms are using py2 packages in queens and
  py3 packages in rocky. The upgrade process of the packages goes:

  (1) py2queens -> (2) py2rocky -> (3) py3rocky

  Bad state after upgrade: https://paste.ubuntu.com/p/3GnMTVfZDk/

  Also worth noting that the queens packages did not use alternatives
  for /usr/share/openstack-dashboard/openstack_dashboard. In that
  version of the package the files are copied into /usr/share/openstack-
  dashboard/openstack_dashboard during the package build so there are no
  symlinks/alternatives involved.

  Looking closer during the upgrade, at step (2) we have:

  $ apt policy python-django-horizon
  python-django-horizon:
    Installed: 3:14.0.1-0ubuntu1~cloud0
    Candidate: 3:14.0.1-0ubuntu1~cloud0
    Version table:
   *** 3:14.0.1-0ubuntu1~cloud0 500
          500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/rocky/main amd64 Packages
          100 /var/lib/dpkg/status

  $ update-alternatives --display openstack_dashboard

  openstack_dashboard - auto mode
    link best version is /usr/lib/python2.7/dist-packages/openstack_dashboard
    link currently points to /usr/lib/python2.7/dist-packages/openstack_dashboard
    link openstack_dashboard is /usr/share/openstack-dashboard/openstack_dashboard
  /usr/lib/python2.7/dist-packages/openstack_dashboard - priority 300

  And after step (3) we have:

  $ ls -al /usr/share/openstack-dashboard
  total 36
  drwxr-xr-x   4 root root  4096 Feb 14 18:28 .
  drwxr-xr-x 127 root root  4096 Feb 14 17:29 ..
  drwxr-xr-x   3 root root  4096 Feb 14 18:28 bin
  -rwxr-xr-x   1 root root   881 Dec  5 16:45 manage.py
  drwxr-xr-x   4 root root  4096 Feb 14 18:28 openstack_dashboard
  -rw-r--r--   1 root root 15713 Dec  5 16:45 settings.py

  $ ls -al /usr/share/openstack-dashboard/openstack_dashboard/
  total 24
  drwxr-xr-x 4 root root  4096 Feb 14 18:28 .
  drwxr-xr-x 4 root root  4096 Feb 14 18:28 ..
  drwxr-xr-x 2 root root  4096 Feb 14 18:28 conf
  drwxr-xr-x 2 root root 12288 Feb 14 18:28 enabled

  $ update-alternatives --display openstack_dashboard
  openstack_dashboard - auto mode
    link best version is /usr/lib/python3/dist-packages/openstack_dashboard
    link currently points to /usr/lib/python3/dist-packages/openstack_dashboard
    link openstack_dashboard is /usr/share/openstack-dashboard/openstack_dashboard
  /usr/lib/python3/dist-packages/openstack_dashboard - priority 200

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



More information about the Ubuntu-openstack-bugs mailing list