[Bug 1832075] Re: [19.04][Queens -> Rocky] python3-pymysql is not installed before use
Corey Bryant
corey.bryant at canonical.com
Wed Jul 3 14:58:41 UTC 2019
I'll give this a test as well but need to mark as invalid for the
horizon package since horizon doesn't import pymysql.
Side note, in disco we dropped the ubuntu patch to sqlalchemy that
switched the default dialect from mysqldb to pymysql but it has not be
dropped for python-django so I think we should at least drop that patch
to python-django in eoan.
** Changed in: horizon (Ubuntu)
Status: New => Invalid
--
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/1832075
Title:
[19.04][Queens -> Rocky] python3-pymysql is not installed before use
Status in OpenStack openstack-dashboard charm:
Incomplete
Status in horizon package in Ubuntu:
Invalid
Bug description:
Ran an upgrade from bionic-queens to bionic-rocky and encountered the
following:
/var/log/apt/term.log
https://paste.ubuntu.com/p/n6WZJbDy6p/
File "/usr/lib/python3/dist-packages/django/db/backends/mysql/base.py", line 25, in <module>
import pymysql
ModuleNotFoundError: No module named 'pymysql'
dpkg: error processing package openstack-dashboard
The problem is that python3-django only "suggests" that
python3-pymysql is installed and does not depend on it while
root at juju-f2e601-4-lxd-2:~# dpkg -l | grep pymysql
ii python-pymysql 0.8.0-1 all Pure-Python MySQL driver - Python 2.x
root at juju-f2e601-4-lxd-2:~# dpkg -l | grep -P 'python[3]?-django\s'
ii python-django 1:1.11.11-1ubuntu1.3 all High-level Python web development framework (Python 2 version)
ii python3-django 1:1.11.11-1ubuntu1.3 all High-level Python web development framework (Python 3 version)
# python3-django does not depend on pymysql - only suggests it
```
apt-rdepends -f Depends,PreDepends,Suggests python3-django | grep pymysql
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pymysql
python-pymysql-doc
```
While during openstack-dashboard package setup there is a code path
leading to an import of pymysql. See below the following line in the
term.log:
"Setting up openstack-dashboard (3:15.0.0-0ubuntu1~cloud0) ..."
The dashboard charm contains python3-pymysql, however, and apt looks
to be processing packages in the order they are specified (which leads
to openstack-dashboard being set up before python3-pymysql as there is
no direct dependency).
BASE_PACKAGES = [
'haproxy',
'memcached',
'openstack-dashboard',
'openstack-dashboard-ubuntu-theme',
'python-keystoneclient',
'python-memcache',
'python-novaclient',
]
PY3_PACKAGES = [
'python3-django-horizon',
'python3-designate-dashboard',
'python3-heat-dashboard',
'python3-neutron-lbaas-dashboard',
'python3-neutron-fwaas-dashboard',
'python3-keystoneclient',
'python3-novaclient',
'python3-memcache',
'python3-pymysql',
'libapache2-mod-wsgi-py3',
]
BASE_PACKAGES go first, then PY3_PACKAGES:
# ...
def determine_packages():
"""Determine packages to install"""
packages = deepcopy(BASE_PACKAGES)
# ...
if release >= 'rocky':
packages = [p for p in packages if not p.startswith('python-')]
packages.extend(PY3_PACKAGES)
To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-openstack-dashboard/+bug/1832075/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list