其实如果仅仅只是说安装步骤的话,那就相当之简单了,但是如果说安装途中遇到的坑,我觉得一篇博客好像远远不够哇。
我的环境centos7,首先安装最基本的git,yum安装就可以了,这里就不讲如何更换源(前提源不好用时才更换)
1:下载devstack,下载到/home文件夹下面,原因是目前安装还不支持root权限安装,需要创建新的用户,如果放在别的目录下的话,安装时会提示权限问题,下面说如何创建新的安装用户(stack)
git clone https://github.com/openstack-dev/devstack.git
2: 下载完成之后进入devstack/tools执行
./create-stack-user.sh
创建stack用户,修改devstack的目录权限
chown -R stack:stack /home/devstack
3:切换用户su stack,按照常理是执行./stcak.sh就给可以结束我们的安装,但是问题往往就出现了,首先因为安装的过程中会有很多依赖包,所以当第一遍执行./stack的时候默认的下载文件是保存在/opt/stack里面,进入这个目录找到requirements这个文件夹,
看到文件夹里面的各个文件,建议手动安装依赖包,
pip install -r global-requirements.txt
pip install -r requirements.txt
pip install -r upper-constraints.txt
pip install -r upper-constraints-xfails.txt
如果不确定里面是什么依赖包,可以打开每个txt文件查看一下,一般就可以确定是不是依赖文件,如果在安装依赖包的过程中遇到了安装问题,认真查看提示,如果可以手动安装解决的,最好手动下载源码安装,如果不可以的话,先不要安装,就留在这里,接着去安装下一个以来文件就好
3:当这些依赖文件安装完成之后,去执行./stack.sh,在执行的过程中如果你很幸运,那会最终安装成功,当然我们漏掉了,配置文件,在devstack的目录下创建localrc,这个文件可以去谷歌,还有就是也可以不创建这个文件,直接安装./stack.sh,因为创建的时候也不知道里面的属性是做什么的,等安装多次的时候就大致知道里面的属性的用处。
4:安装遇到的问题:
(1):版本不匹配,这个问题比较常见,就是依赖包里面给出的版本号,可能跟当前你安装的openstack里面用到的版本发生变化,手动下载手动解决,并且去requirements这个文件夹,查找依赖文件(主要是txt文件,比如upper-constrains.txt)找到这个依赖包并把这个依赖包注释掉,或者修改版本
eg: 安装过程中提示 python-neutronclient 安装的是6.2.0版本和需要的python-neutronclient-6.3.0的冲突,那就手动安装这个包,并把upper-constrains.txt等包含这个安装包的以来文件里面的这个库注释掉,或者修改版本当前需要的
(2):安装过程中会不停的去主分支上面git clone 代码,如果下载不成功可重复运行./stack.sh, 或者去 cd /opt/stack 目录下自己手动git clone
(3):如果当代码都git 完毕并且没有冲突的时候,报错的可能是
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/lib/nova:812 nova-api did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/functions-common:2448 Neutron did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
报这样的错误前面一般都在执行curl -g -k --noproxy '*' -s -o /dev/null -w '%{http_code}' http://*.*.*.*/identity/v3/看返回的状态码,503,000居多,重复运行就ok ,这个时候要去devstack下设置vim localrc
设置自己的ip 就ok
(等想到别的再添加)