天天看點

雙節點devstack部署openstack-ubuntu16.04系統

部署步驟主要參考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新版中沒有了,啟動服務非常麻煩,建議大家弄好快照就一直讓它休眠,不要關閉。