From 0db9bad00c054b552bf62a2e4785b5dc6edd3998 Mon Sep 17 00:00:00 2001 From: Hirotaka Wakabayashi Date: Mon, 23 Mar 2020 05:22:21 +0000 Subject: [PATCH] Calls manager.py by "$PYTHON" instead of "env python" devstack should call manager.py by using $PYTHON variable that devstack uses through openstack installation because manage.py uses python2 unless caller explicitly uses python3 interpreter. Currently devstack fails with the following error message when devstack uses python3:: ++ /opt/stack/trove-dashboard/devstack/plugin.sh:configure_trove_dashboard:14 : ../manage.py compilemessages Traceback (most recent call last): File "../manage.py", line 18, in from django.core.management import execute_from_command_line ImportError: No module named django.core.management + /opt/stack/trove-dashboard/devstack/plugin.sh:configure_trove_dashboard:1 : exit_trap The reason for this error is no django.core.management library exists in python2 site-packages because devstack installs the library as a python3 library. Story: 2007463 Task: 39148 Signed-off-by: Hirotaka Wakabayashi Change-Id: Ia5f87788e117e9bbd9823afb6a8f139eb3ae5870 --- devstack/plugin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 372cc97..6722a10 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -11,7 +11,7 @@ function configure_trove_dashboard { # NOTE: If locale directory does not exist, compilemessages will fail, # so check for an existence of locale directory is required. if [ -d ${TROVE_DASHBOARD_DIR}/trove_dashboard/locale ]; then - (cd ${TROVE_DASHBOARD_DIR}/trove_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages) + (cd ${TROVE_DASHBOARD_DIR}/trove_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings $PYTHON ../manage.py compilemessages) fi }