一、DevStack介绍
Devstack目前是支持Ubuntu 14.04和CentOS 7,不过全球的OpenStack开发者,大部分都在用Ubuntu 14.04。所以为了减少麻烦,还是建议你使用Ubuntu 14.04。
默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。
二、DevStack的安装
1、环境准备
我使用的操作系统为Ubuntu 14.04的版本,默认的软件包源是国外的,速度相对来说比较慢,所以我们修改文件/etc/apt/sources.list,更改为如下内容。
deb trusty main restricted universe multiverse
deb trusty-security main restricted universe multiverse
deb trusty-updates main restricted universe multiverse
deb trusty-proposed main restricted universe multiverse
deb trusty-backports main restricted universe multiverse
或者使用如下命令:
1 sed -i 's/us.archive/cn.archive/g' /etc/apt/sources.list
更新一下。
1 apt-get update
2、下载devstack
安装devstack痛苦的其中一个原因,是OpenStack代码,都需要从github下载,这样由于网络的原因,经常导致各种错误,简直让人崩溃,各种错误,目前国内已经提供了完整的OpenStack的github的mirror:,这样Devstack成功概率会大大提高。
另外devstack还会下载image,下载的过程也是非常缓慢。trystack也提供大家常用的image下载:。
目前官方github上面保留着三个稳定的版本,我们这边安装Ocata版。
apt-get install git
git clone -b stable/ocata
3、创建stack用户
目前Devstack脚本已经不支持直接使用root身份运行,你需要创建stack用户运行。
1
2 cd devstack/tools/
./create-stack-user.sh
修改devstack目录权限,让stack用户可以运行。
cd ..
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
4、配置pip源
OpenStack很多组件需要从pip源下载,默认是国外的源,我们需要设置为国内的源,以便可以快速的进行配置,在root和stack的加目录下面都配置一下。
首先分别在家目录下面都创建.pip的目录,然后在目录下面创建文件pip.conf,内容如下:
mkdir .pip
cat >> .pip/pip.conf <<EOF
[global]
trusted-host = pypi.douban.com
index-url =
EOF
5、配置文件
su - stack
cd devstack
cp samples/local.conf .
对文件local.conf进行简单修改,如下内容:
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
6、安装
中途可能会出现多次错误,大部分都是因为网络的原因,重复运行命令即可。
./stack.sh
三、验证
经过长时间的等待之后,根据网络状态,大约1个小时的时间,出现下面的界面即可是安装完成。
然后我们进行登录查看。
可以看到登录成功,服务都运行正常。