部署步驟主要參考cloudman:
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=506103742&idx=1&sn=9c0104b8f830f20264924e1a5caee87e&chksm=0d308fa73a4706b17ec8662078fca1da9dd2bd62181c512bfae8e541b939ef2032785604a562&mpshare=1&scene=1&srcid=0203aa63RGt4GCmLsrxfzMz0&pass_ticket=VJhFg0B8KsBXk%2FWZEaBV8SB6b16TA2t8Aq31JpC8MwUckwu2g%2FBvmuw4gadB4rpf#rd
devstack clone:
https://docs.openstack.org/devstack/latest/
主要的困難:
- 源不對,适用國内源
- 網絡太慢,多試幾次
a.有些下不下來,則根據./stack.sh中具體檔案使用國外機器下載下傳
b.執行./unstack.sh,然後./stack.sh
具體碰到的問題:
- pip安裝timeout
雙節點devstack部署openstack-ubuntu16.04系統
執行:
$ pip --default-timeout=100 install -U pip
- 多執行幾次./stack.sh的情況
“pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonh”
THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. I
一般情況下PIP出現ReadTimeoutError都是因為被GFW給牆了,是以一般遇到這種問題,我們可以選擇國内的鏡像來解決問題。
- PIP: “Cannot uninstall ‘ipython’. It is a distutils installed project and thus we cannot accurately determine…”
sudo -H pip install --ignore-installed -U ipython
或者
sudo apt-get remove ipython
- pip更新後又退回低版本的解決:
原因是安裝中會檢查版本,不在規定的範圍内,就會重新安裝,後面又需要最新版導緻無限循環。
vi /home/devstack/tools/cap-pip.txt
注釋或删除“pip!=8,<10 ”
-
/opt/stack/devstack/files/etcd-v3.1.7-linux-amd64.tar.gz: FAILED
原因:網絡下載下傳逾時
$ cd files/
用過國外的機器自己下載下傳,再scp傳過來
- Write failed: Broken pipe,連接配接掉線
保持目前ssh連接配接:
$ ssh -o ServerAliveInterval=60 [email protected]
- error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1
缺少依賴包
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev -y
- 安裝computer節點出現問題:Didn’t find service registered by hostname after 120 seconds
1) ./unstack
2)在local.conf中的ENABLED_SERVICES,加入placement-api,即:
ENABLED_SERVICES=n-cpu,q-agt,neutron,placement-api
3)./stack
- 如果遇到mysql的問題:
+ lib/databases/mysql:recreate_database_mysql:64 : mysql -uroot -psecret -h9.123.154.90 -e 'DROP DATABASE IF EXISTS placement;'
ERROR 2003 (HY000): Can't connect to MySQL server on '9.123.154.90' (111 "Connection refused")
+ lib/databases/mysql:recreate_database_mysql:1 : exit_trap
ENABLED_SERVICES=n-cpu,q-agt,neutron
中加上
mysql
. 是以對于Stein版及以後的版本, 正确的計算節點
local.conf
配置應該是:
ENABLED_SERVICES=n-cpu,q-agt,neutron,mysql,placement-api
Stein版及以後的版本将
placement
從
nova
中分離開來,
placement
的安裝需要先建立
mysql
, 是以
ENABLED_SERVICES
需要添加這兩(注意,有順序之分,
mysql
在前).
- Failed to discover available identity versions when contacting http://xxx/identity.
ervice list --host guomx-ThinkStation-P300 --service nova-compute -c ID -f value
Failed to discover available identity versions when contacting http://9.123.154.90/identity. Attempting to parse version from URL.
Could not find versioned identity endpoints when attempting to authenticate. Please check that your auth_url is correct. Not Found (HTTP 404)
檢查一下
local.conf
檔案裡面的
HOST_IP
和
SERVICE_HOST
是不是寫反了,
SERVICE_HOST
是對方的ip,
HOST_IP
是本機的ip.
- 其他問題:根據安裝過程的具體報錯,針對性地解決即可!
部署參考
- Ubuntu系統上雙節點部署OpenStack
- virtualbox+ubuntu 16.04+devstack+openstack 安裝教程
- devstack部署openstack環境(ubuntu + windows
- 控制節點裝機過程中的問題
- ssh 登入報錯 packet_write_wait: Connection to x.x.x.x port 22: Broken pipe
注意
-
部署完controller,不需要重新開機(重新開機後需要重新跑./stack.sh不然openstack不會啟動),直接部署compute
所有都安裝完成後,不要重新開機虛拟機了,重新開機後openstack不會啟動,而且之前的rejoin。sh的重新開機檔案在ocata新版中沒有了,啟動服務非常麻煩,建議大家弄好快照就一直讓它休眠,不要關閉。