openstack-packstack是一个all in one安装openstack的工具,安装步骤很简单,几个步骤就可以:
yum install -y http://rdo.Fedorapeople.org/rdo-release.rpm yum install -y openstack-packstack packstack --allinone然而我在安装过程中出现了python依赖的报错,如下:
Requires: python(abi) = 2.7 Installed: python-2.6.6-64.el6.x86_64 python(abi) = 2.6显示需要的是python2.7,安装的却是2.6。我的centos6系统自带了python2.6,升级到python2.7后,由于/usr/bin/yum 必须用python2.6执行,所以保留了python2.6没有卸载。起初我以为是yum对本地python的检测出了问题,折腾了好久没有头绪,后来发现stackflow上有很多人在安装其它软件时也出现类似问题,评论说可能是repo的版本不对,是centos7而非centos6的。于是我打开/etc/yum.repo.d/rdo-release.repo 看了一下(yum install -y http://rdo.Fedorapeople.org/rdo-release.rpm 这个指令会在/etc/yum.repo.d/ 目录下下载几个rdo的repo),果然base_url是指向一个包含centos/7/ 的地址。 我们可以看一下repos.fedorapeople.org里openstack各个版本的库,https://repos.fedorapeople.org/repos/openstack/ ,可以发现icehouse版本之后(openstack的版本名称首字母是按照a,b,c的字母顺序排下来的)就没有区分epel6和epel7了,也就是都是centos7的源了。 于是我们可以自己yum.repo.d目录下新建一个openstack.repo,文本内容如下:
[openstack] baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6 gpgcheck=0然后
yum update yum makecache就可以执行yum install openstack-packstack 了!