1.环境配置
virtualbox中安装提前下载好的ubuntu 14.04.5桌面版32位的镜像文件,并配置内存和磁盘大小,这里分别设置为3G以及30G,并把网络设置为NAT的方式,虚拟机eth0默认ip为10.0.2.15,默认网关为10.0.2.2。这样就可以启动安装虚拟机了。
2.devstack安装
在安装好的ubuntu14.04的操作系统中,安装openssh-server,以便xshell可以和其连接,并配置端口转发规则,将虚拟机的22端口映射成本地的9023端口。这样以来,通过ssh即可登录到虚拟机里进行远程操作。为了加快安装的速度,我们把源改成中科大源,并添加豆瓣pypi源。
mkdir /root/.pip
cat >/root/.pip/pip.conf <<EOF
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
EOF
安装git并下载最新版的devstack。
apt-get install git
cd /home
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
在非root用户下创建stack用户并设置密码。
sudo chown –R $USER:$USER /home/devstack
cd /home/devstack/tools/
./create-stack-user.sh
passwd stack
编辑/etc/sudoers, 在root用户下增加stack用户权限。
# User privilege specification
root ALL=(ALL:ALL) ALL
stack ALL=(ALL:ALL) ALL
root用户下修改/home/devstack, /opt/stack权限。
chown –R stack:stack /home/devstack
chown –R stack:stack /opt/stack
切换到stack用户执行。
su stack
创建nova.conf配置文件(非常重要)。
[[local|localrc]]
# 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
#OFFLINE=True
RECLONE=True
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"
HOST_IP=10.0.2.15
# Credentials
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass
HORIZON_BRANCH=stable/mitaka
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka
#keystone
KEYSTONE_TOKEN_FORMAT=UUID
##Heat
HEAT_BRANCH=stable/mitaka
enable_service h-eng h-api h-api-cfn h-api-cw
## Swift
SWIFT_BRANCH=stable/mitaka
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44136573e209e
# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron
## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="10.0.2.0/24"
FIXED_RANGE="192.168.0.0/24"
NETWORK_GATEWAY="192.168.0.1"
Q_FLOATING_ALLOCATION_POOL=start=10.0.2.102,end=10.0.2.200
PUBLIC_NETWORK_GATEWAY="10.0.2.2"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
# #VLAN configuration.
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True
# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs
由于虚拟机的操作系统是32位,因此要把stackrc文件中的所有X86_64改为i386,并把其中的GIT_BASE改为https的方式,以免git失败。最后即可执行stack.sh文件。
./stack.sh
如果运行过程中没有报错,那么恭喜你已经成功了。登录方式为虚拟机的ip地址/dashboard。
注:如果执行中出错,在重新运行stack.sh脚本之前,一定要先运行./unstack.sh。
安装完成后配置/home/devstack/stackrc。
#OFFLINE=$(trueorfalse False OFFLINE)
OFFLINE=True
设备重启后,需要手动再执行./stack.sh;没有设置OFFLINE的话,很多需要从网上下载;./stack.sh 运行后,之前的测试环境不会恢复,重新安装。