And because the openstack-dashboard-ubuntu-theme package installs to /usr/share/openstack-dashboard-ubuntu-theme/static/themes/ubuntu/templates, which is outside of /usr/share/openstack-dashboard/openstack_dashboard, then the safe_join() fails with:
django.core.exceptions.SuspiciousFileOperation: The joined path (/usr/share/openstack-dashboard-ubuntu-theme/static/themes/ubuntu/templates) is located outside of the base path component (/usr/share/openstack-dashboard/openstack_dashboard)
9.0.1 introduced a safe_join() call in this change: https:/ /github. com/openstack/ horizon/ commit/ 3c8c403f34aebcc e731dcebbaf23f5 cc672eed7f
And because the openstack- dashboard- ubuntu- theme package installs to /usr/share/ openstack- dashboard- ubuntu- theme/static/ themes/ ubuntu/ templates, which is outside of /usr/share/ openstack- dashboard/ openstack_ dashboard, then the safe_join() fails with:
django. core.exceptions .SuspiciousFile Operation: The joined path (/usr/share/ openstack- dashboard- ubuntu- theme/static/ themes/ ubuntu/ templates) is located outside of the base path component (/usr/share/ openstack- dashboard/ openstack_ dashboard)