天天看点

双节点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新版中没有了,启动服务非常麻烦,建议大家弄好快照就一直让它休眠,不要关闭。