对于初学者搭建openstack对于学习openstack环境十分重要。我是借鉴《Openstack设计与实现》中的操作步骤并结合过程中出现的问题总结出安装步骤。
1.Devstack是一套用来给开发人员快速部署OpenStack开发的脚本,它并不适宜于生产环境。
获取devstack源码
git clone git://github.com/openstack-dev/devstack.git
cd devstack
vim localrc
在devstack目录下创建一个名为localrc的文件: (这个localrc示例仅仅设置了一些密码,并开启Ceilometer服务。如果没有这个文件,devstack执行过程中会要求输入相应的密码,并且不会去下载Ceilometer的代码)
#passwords
MYSQL_PASSWORD=stack
ADMIN_PASSWORD=stack
SERVICE_PASSWORD=stack
RABBIT_PASSWORD=stack
SERVICE_TOKEN=stack
#enable_service ceilometer
enable_service ceilometer-acompute
enable_service ceilometer-acentral
enable_service ceilometer-collector
enable_service ceilometer-api
执行./stack.sh
结果出现问题:
+ unset GREP_OPTIONS
+ umask 022
+ PATH=/usr/local/bin:/bin:/usr/bin:/opt/stack/.local/bin:/opt/stack/bin:/usr/local/sbin:/usr/sbin:/sbin
+++ dirname ./stack.sh
++ cd .
++ pwd
+ TOP_DIR=/root/openstack_code/devstack
+ NOUNSET=
+ [[ -n '' ]]
++ date +%s
+ DEVSTACK_START_TIME=1459922148
+ [[ -r /root/openstack_code/devstack/.stackenv ]]
+ FILES=/root/openstack_code/devstack/files
+ '[' '!' -d /root/openstack_code/devstack/files ']'
+ '[' '!' -d /root/openstack_code/devstack/inc ']'
+ '[' '!' -d /root/openstack_code/devstack/lib ']'
+ [[ '' == \y ]]
+ [[ 0 -eq 0 ]]
+ set +o xtrace
DevStack should be run as a user with sudo permissions,
not root.
A "stack" user configured correctly can be created with:
/root/openstack_code/devstack/tools/create-stack-user.sh
解决方法:
运行 /root/openstack_code/devstack/tools/create-stack-user.sh,创建stack user,
然后chown -R stack devstack.
chgrp -R stack devstack.
执行:
sudo -u stack ./stack.sh.