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

Corey Bryant corey.bryant at canonical.com
Thu Feb 14 19:05:41 UTC 2019


** Description changed:

  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:
+ Looking closer during the upgrade..
+ 
+ After step (1) we have:
+ 
+ $ update-alternatives --display openstack_dashboard
+ juju-45afee-coreycb2-31: Thu Feb 14 19:03:22 2019
+ 
+ update-alternatives: error: no alternatives for openstack_dashboard
+ 
+ $ ls -al /usr/share/openstack-dashboard/
+ total 56
+ drwxr-xr-x   3 root root  4096 Feb 14 18:57 .
+ drwxr-xr-x 127 root root  4096 Feb 14 18:56 ..
+ lrwxrwxrwx   1 root root    41 Nov 27 19:22 horizon -> ../../lib/python2.7/dist-packages/horizon
+ -rwxr-xr-x   1 root root   879 Nov 27 19:22 manage.py
+ -rw-r--r--   1 root root   508 Feb 14 18:57 manage.pyc
+ drwxr-xr-x  19 root root  4096 Feb 14 18:57 openstack_dashboard
+ -rw-r--r--   1 root root 16748 Nov 27 19:22 settings.py
+ -rw-r--r--   1 root root 14252 Feb 14 18:57 settings.pyc
+ 
+ $ ls -al /usr/share/openstack-dashboard/openstack_dashboard/
+ total 228
+ drwxr-xr-x 19 root root  4096 Feb 14 18:57 .
+ drwxr-xr-x  3 root root  4096 Feb 14 18:57 ..
+ -rw-r--r--  1 root root   204 May  8  2018 .eslintrc
+ -rw-r--r--  1 root root     0 May  8  2018 __init__.py
+ -rw-r--r--  1 root root   149 Feb 14 18:57 __init__.pyc
+ drwxr-xr-x  3 root root  4096 Feb 14 18:57 api
+ drwxr-xr-x  4 root root  4096 Feb 14 19:01 conf
+ -rw-r--r--  1 root root  4471 May  8  2018 context_processors.py
+ -rw-r--r--  1 root root  3388 Feb 14 18:57 context_processors.pyc
+ drwxr-xr-x  3 root root  4096 Feb 14 18:57 contrib
+ drwxr-xr-x  6 root root  4096 Feb 14 18:57 dashboards
+ drwxr-xr-x  2 root root  4096 Feb 14 18:57 django_pyscss_fix
+ drwxr-xr-x  2 root root 12288 Feb 14 19:01 enabled
+ -rw-r--r--  1 root root  2084 May  8  2018 exceptions.py
+ -rw-r--r--  1 root root   927 Feb 14 18:57 exceptions.pyc
+ -rw-r--r--  1 root root  1063 May  8  2018 hooks.py
+ -rw-r--r--  1 root root   556 Feb 14 18:57 hooks.pyc
+ -rw-r--r--  1 root root  6794 May  8  2018 karma.conf.js
+ drwxr-xr-x  4 root root  4096 Feb 14 18:57 local
+ drwxr-xr-x 36 root root  4096 Feb 14 18:56 locale
+ drwxr-xr-x  3 root root  4096 Feb 14 18:57 management
+ -rw-r--r--  1 root root  2171 May  8  2018 policy.py
+ -rw-r--r--  1 root root  2034 Feb 14 18:57 policy.pyc
+ -rw-r--r--  1 root root 16748 Nov 27 19:22 settings.py
+ -rw-r--r--  1 root root 16675 Nov 27 19:22 settings.py.orig
+ -rw-r--r--  1 root root 14292 Feb 14 18:57 settings.pyc
+ drwxr-xr-x  7 root root  4096 Feb 14 18:56 static
+ drwxr-xr-x  7 root root  4096 Feb 14 18:56 templates
+ drwxr-xr-x  2 root root  4096 Feb 14 18:57 templatetags
+ drwxr-xr-x 11 root root  4096 Feb 14 18:57 test
+ -rw-r--r--  1 root root  4135 May  8  2018 theme_settings.py
+ -rw-r--r--  1 root root  2130 Feb 14 18:57 theme_settings.pyc
+ drwxr-xr-x  5 root root  4096 Feb 14 18:56 themes
+ -rw-r--r--  1 root root  2335 May  8  2018 urls.py
+ -rw-r--r--  1 root root  1617 Feb 14 18:57 urls.pyc
+ drwxr-xr-x  2 root root  4096 Feb 14 18:57 usage
+ drwxr-xr-x  2 root root  4096 Feb 14 18:57 utils
+ -rw-r--r--  1 root root  4597 May  8  2018 views.py
+ -rw-r--r--  1 root root  4430 Feb 14 18:57 views.pyc
+ drwxr-xr-x  2 root root  4096 Feb 14 18:56 wsgi
+ 
+ $ apt policy python-django-horizon
+ python-django-horizon:
+   Installed: 3:13.0.1-0ubuntu4
+   Candidate: 3:13.0.1-0ubuntu4
+   Version table:
+  *** 3:13.0.1-0ubuntu4 500
+         500 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
+         100 /var/lib/dpkg/status
+ 
+ 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
+   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

** Description changed:

  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..
  
  After step (1) we have:
  
  $ update-alternatives --display openstack_dashboard
  juju-45afee-coreycb2-31: Thu Feb 14 19:03:22 2019
  
  update-alternatives: error: no alternatives for openstack_dashboard
  
  $ ls -al /usr/share/openstack-dashboard/
  total 56
  drwxr-xr-x   3 root root  4096 Feb 14 18:57 .
  drwxr-xr-x 127 root root  4096 Feb 14 18:56 ..
  lrwxrwxrwx   1 root root    41 Nov 27 19:22 horizon -> ../../lib/python2.7/dist-packages/horizon
  -rwxr-xr-x   1 root root   879 Nov 27 19:22 manage.py
  -rw-r--r--   1 root root   508 Feb 14 18:57 manage.pyc
  drwxr-xr-x  19 root root  4096 Feb 14 18:57 openstack_dashboard
  -rw-r--r--   1 root root 16748 Nov 27 19:22 settings.py
  -rw-r--r--   1 root root 14252 Feb 14 18:57 settings.pyc
  
  $ ls -al /usr/share/openstack-dashboard/openstack_dashboard/
  total 228
  drwxr-xr-x 19 root root  4096 Feb 14 18:57 .
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 ..
  -rw-r--r--  1 root root   204 May  8  2018 .eslintrc
  -rw-r--r--  1 root root     0 May  8  2018 __init__.py
  -rw-r--r--  1 root root   149 Feb 14 18:57 __init__.pyc
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 api
  drwxr-xr-x  4 root root  4096 Feb 14 19:01 conf
  -rw-r--r--  1 root root  4471 May  8  2018 context_processors.py
  -rw-r--r--  1 root root  3388 Feb 14 18:57 context_processors.pyc
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 contrib
  drwxr-xr-x  6 root root  4096 Feb 14 18:57 dashboards
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 django_pyscss_fix
  drwxr-xr-x  2 root root 12288 Feb 14 19:01 enabled
  -rw-r--r--  1 root root  2084 May  8  2018 exceptions.py
  -rw-r--r--  1 root root   927 Feb 14 18:57 exceptions.pyc
  -rw-r--r--  1 root root  1063 May  8  2018 hooks.py
  -rw-r--r--  1 root root   556 Feb 14 18:57 hooks.pyc
  -rw-r--r--  1 root root  6794 May  8  2018 karma.conf.js
  drwxr-xr-x  4 root root  4096 Feb 14 18:57 local
  drwxr-xr-x 36 root root  4096 Feb 14 18:56 locale
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 management
  -rw-r--r--  1 root root  2171 May  8  2018 policy.py
  -rw-r--r--  1 root root  2034 Feb 14 18:57 policy.pyc
  -rw-r--r--  1 root root 16748 Nov 27 19:22 settings.py
  -rw-r--r--  1 root root 16675 Nov 27 19:22 settings.py.orig
  -rw-r--r--  1 root root 14292 Feb 14 18:57 settings.pyc
  drwxr-xr-x  7 root root  4096 Feb 14 18:56 static
  drwxr-xr-x  7 root root  4096 Feb 14 18:56 templates
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 templatetags
  drwxr-xr-x 11 root root  4096 Feb 14 18:57 test
  -rw-r--r--  1 root root  4135 May  8  2018 theme_settings.py
  -rw-r--r--  1 root root  2130 Feb 14 18:57 theme_settings.pyc
  drwxr-xr-x  5 root root  4096 Feb 14 18:56 themes
  -rw-r--r--  1 root root  2335 May  8  2018 urls.py
  -rw-r--r--  1 root root  1617 Feb 14 18:57 urls.pyc
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 usage
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 utils
  -rw-r--r--  1 root root  4597 May  8  2018 views.py
  -rw-r--r--  1 root root  4430 Feb 14 18:57 views.pyc
  drwxr-xr-x  2 root root  4096 Feb 14 18:56 wsgi
  
  $ apt policy python-django-horizon
  python-django-horizon:
-   Installed: 3:13.0.1-0ubuntu4
-   Candidate: 3:13.0.1-0ubuntu4
-   Version table:
-  *** 3:13.0.1-0ubuntu4 500
-         500 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
-         100 /var/lib/dpkg/status
+   Installed: 3:13.0.1-0ubuntu4
+   Candidate: 3:13.0.1-0ubuntu4
+   Version table:
+  *** 3:13.0.1-0ubuntu4 500
+         500 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
+         100 /var/lib/dpkg/status
  
  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
  
+ $ ls -al /usr/share/openstack-dashboard/
+ total 36
+ drwxr-xr-x   4 root root  4096 Feb 14 19:06 .
+ drwxr-xr-x 127 root root  4096 Feb 14 18:56 ..
+ drwxr-xr-x   3 root root  4096 Feb 14 19:06 bin
+ -rwxr-xr-x   1 root root   881 Dec  5 16:45 manage.py
+ drwxr-xr-x   4 root root  4096 Feb 14 19:06 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 19:06 .
+ drwxr-xr-x 4 root root  4096 Feb 14 19:06 ..
+ drwxr-xr-x 2 root root  4096 Feb 14 19:06 conf
+ drwxr-xr-x 2 root root 12288 Feb 14 19:06 enabled
+ 
  And after step (3) we have:
+ 
+ $ 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
  
  $ 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

-- 
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..

  After step (1) we have:

  $ update-alternatives --display openstack_dashboard
  juju-45afee-coreycb2-31: Thu Feb 14 19:03:22 2019

  update-alternatives: error: no alternatives for openstack_dashboard

  $ ls -al /usr/share/openstack-dashboard/
  total 56
  drwxr-xr-x   3 root root  4096 Feb 14 18:57 .
  drwxr-xr-x 127 root root  4096 Feb 14 18:56 ..
  lrwxrwxrwx   1 root root    41 Nov 27 19:22 horizon -> ../../lib/python2.7/dist-packages/horizon
  -rwxr-xr-x   1 root root   879 Nov 27 19:22 manage.py
  -rw-r--r--   1 root root   508 Feb 14 18:57 manage.pyc
  drwxr-xr-x  19 root root  4096 Feb 14 18:57 openstack_dashboard
  -rw-r--r--   1 root root 16748 Nov 27 19:22 settings.py
  -rw-r--r--   1 root root 14252 Feb 14 18:57 settings.pyc

  $ ls -al /usr/share/openstack-dashboard/openstack_dashboard/
  total 228
  drwxr-xr-x 19 root root  4096 Feb 14 18:57 .
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 ..
  -rw-r--r--  1 root root   204 May  8  2018 .eslintrc
  -rw-r--r--  1 root root     0 May  8  2018 __init__.py
  -rw-r--r--  1 root root   149 Feb 14 18:57 __init__.pyc
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 api
  drwxr-xr-x  4 root root  4096 Feb 14 19:01 conf
  -rw-r--r--  1 root root  4471 May  8  2018 context_processors.py
  -rw-r--r--  1 root root  3388 Feb 14 18:57 context_processors.pyc
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 contrib
  drwxr-xr-x  6 root root  4096 Feb 14 18:57 dashboards
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 django_pyscss_fix
  drwxr-xr-x  2 root root 12288 Feb 14 19:01 enabled
  -rw-r--r--  1 root root  2084 May  8  2018 exceptions.py
  -rw-r--r--  1 root root   927 Feb 14 18:57 exceptions.pyc
  -rw-r--r--  1 root root  1063 May  8  2018 hooks.py
  -rw-r--r--  1 root root   556 Feb 14 18:57 hooks.pyc
  -rw-r--r--  1 root root  6794 May  8  2018 karma.conf.js
  drwxr-xr-x  4 root root  4096 Feb 14 18:57 local
  drwxr-xr-x 36 root root  4096 Feb 14 18:56 locale
  drwxr-xr-x  3 root root  4096 Feb 14 18:57 management
  -rw-r--r--  1 root root  2171 May  8  2018 policy.py
  -rw-r--r--  1 root root  2034 Feb 14 18:57 policy.pyc
  -rw-r--r--  1 root root 16748 Nov 27 19:22 settings.py
  -rw-r--r--  1 root root 16675 Nov 27 19:22 settings.py.orig
  -rw-r--r--  1 root root 14292 Feb 14 18:57 settings.pyc
  drwxr-xr-x  7 root root  4096 Feb 14 18:56 static
  drwxr-xr-x  7 root root  4096 Feb 14 18:56 templates
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 templatetags
  drwxr-xr-x 11 root root  4096 Feb 14 18:57 test
  -rw-r--r--  1 root root  4135 May  8  2018 theme_settings.py
  -rw-r--r--  1 root root  2130 Feb 14 18:57 theme_settings.pyc
  drwxr-xr-x  5 root root  4096 Feb 14 18:56 themes
  -rw-r--r--  1 root root  2335 May  8  2018 urls.py
  -rw-r--r--  1 root root  1617 Feb 14 18:57 urls.pyc
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 usage
  drwxr-xr-x  2 root root  4096 Feb 14 18:57 utils
  -rw-r--r--  1 root root  4597 May  8  2018 views.py
  -rw-r--r--  1 root root  4430 Feb 14 18:57 views.pyc
  drwxr-xr-x  2 root root  4096 Feb 14 18:56 wsgi

  $ apt policy python-django-horizon
  python-django-horizon:
    Installed: 3:13.0.1-0ubuntu4
    Candidate: 3:13.0.1-0ubuntu4
    Version table:
   *** 3:13.0.1-0ubuntu4 500
          500 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
          100 /var/lib/dpkg/status

  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

  $ ls -al /usr/share/openstack-dashboard/
  total 36
  drwxr-xr-x   4 root root  4096 Feb 14 19:06 .
  drwxr-xr-x 127 root root  4096 Feb 14 18:56 ..
  drwxr-xr-x   3 root root  4096 Feb 14 19:06 bin
  -rwxr-xr-x   1 root root   881 Dec  5 16:45 manage.py
  drwxr-xr-x   4 root root  4096 Feb 14 19:06 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 19:06 .
  drwxr-xr-x 4 root root  4096 Feb 14 19:06 ..
  drwxr-xr-x 2 root root  4096 Feb 14 19:06 conf
  drwxr-xr-x 2 root root 12288 Feb 14 19:06 enabled

  And after step (3) we have:

  $ 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

  $ 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

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