這一步是主要出問題的一步,因為在 Newton 版本下,目錄提供 requirement.txt 是版本是有問題的,直接通過pip工具下載,運行會報錯,至于問題在什么地方,請繼續(xù)往下看。
此外,最新的文檔中提供用tox工具的安裝,配置虛擬環(huán)境,非常簡單,但是,運行newton版本時候還是出錯,這里暫時不深究這個。而,在 Newton 版本下的 tools 目錄下,提供了install_venv.py的腳本工具安裝,同樣非常方便,但是,本人嘗試過,直接運行同樣存在依賴包版本的問題。
sudo a2ensite horizon
sudo service apache2 restart
此處只是簡單提供一個部署步驟,更多配置參考Reference。
Bug記錄
import base模塊出錯
出錯
Mon Nov 13 08:11:22.273662 2017] [:error] [pid 39513:tid 139788644116224] [remote 192.168.0.199:61715] File "/home/XXX/workspace/python/horizon-newton/openstack_dashboard/api/__init__.py", line 34, in <module>
[Mon Nov 13 08:11:22.273672 2017] [:error] [pid 39513:tid 139788644116224] [remote 192.168.0.199:61715] from openstack_dashboard.base import *
[Mon Nov 13 08:11:22.273695 2017] [:error] [pid 39513:tid 139788644116224] [remote 192.168.0.199:61715] ImportError: No module named base
解決方案
# 修改源碼 openstack_dashboard/api/__init__.py
# before,記得將ALL變量也注釋掉
from openstack_dashboard.api import base
from openstack_dashboard.api import ceilometer
from openstack_dashboard.api import cinder
from openstack_dashboard.api import fwaas
from openstack_dashboard.api import glance
from openstack_dashboard.api import heat
from openstack_dashboard.api import keystone
from openstack_dashboard.api import lbaas
from openstack_dashboard.api import network
from openstack_dashboard.api import neutron
from openstack_dashboard.api import nova
from openstack_dashboard.api import swift
from openstack_dashboard.api import vpn
# after
import base
from openstack_dashboard.api.ceilometer import *
from openstack_dashboard.api.cinder import *
from openstack_dashboard.api.fwaas import *
from openstack_dashboard.api.glance import *
from openstack_dashboard.api.heat import *
from openstack_dashboard.api.keystone import *
from openstack_dashboard.api.lbaas import *
from openstack_dashboard.api.network import *
from openstack_dashboard.api.neutron import *
from openstack_dashboard.api.nova import *
from openstack_dashboard.api.swift import *
from openstack_dashboard.api.vpn import *
CommandError: An error occurred during rendering /home/winston/workspace/python/horizon-newton/openstack_dashboard/templates/_stylesheets.html: Couldn't find anything to import: /horizon/lib/roboto_fontface/css/roboto-fontface.scss
Extensions: <NamespaceAdapterExtension>, <DjangoExtension>, <CompassExtension>
Search path:
on line 16 of themes/material/bootstrap/_styles.scss
imported from line 16 of themes/material/_styles.scss
imported from line 1 of u'string:c61b5d22d54bf56c:\n // My Themes\n@import "/themes/material/variables";\n\n// Horizon\n@import "/dashboard/scss/horizon'