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