最近刚上手安装devstack,碰到一些问题,纪录下来,失败的主要问题是下载各种源的网络问题,选择合适的源很重要。
关于虚拟机网络,采用桥接,这样宿主机和虚拟机能互通,还要保证虚拟机能访问外网
关于硬件配置,内存4G以上,不然nova服务启动,会报内存分配失败的错误
步骤:
1,首先安装git
sudo apt-get install git
2,获取devstack源代码(liberty版本)
git clone https://git.openstack.org/openstack-dev/devstack -b stable/liberty
3,获取完之后进行一些修改
- 更新ubuntu的源为国内源
重新载入源,文件路径:/etc/apt/sources.list
更改内容为国内源,国外的源由于有限制使用起来经常会失败,提供一下阿里的源
deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb http://mirrors.aliyuncom/ubuntu/ trusty-proposed universe restricted multiverse main
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyuncom/ubuntu/ trusty-proposed universe restricted multiverse main
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
将上述内容写入sources.list然后执行下述命令更新(保险做法将原来的sources.list备份一下,下述命令是清除已安装的东西然后再更新)
sudo rm -fR /var/lib/apt/lists/*
sudo apt-get clean && sudo apt-get update && sudo apt-get upgrade
- 更改get-pip.sh的源路径
将devstack/tools/install_pip.sh 的PIP_GET_PIP_URL的变量路径改为https://coding.net/u/xiaoquqi/p/pip/git/raw/master/contrib/get-pip.py
- 在devstack下增加localrc文件(新版本名字为local.conf,详细用法参考官方文档)
比较重要的文件( 将HOST_IP改成自己的IP)
DEST=/opt/stack
# SCREEN_LOGDIR=$DEST/logs/screen
HOST_IP=200.21.101.203 # controller ip
MULTI_HOST=True
# LOGFILE=$DEST/logs/stack.sh.log
SERVICE_TOKEN=0210
ADMIN_PASSWORD=0210
MYSQL_PASSWORD=0210
RABBIT_PASSWORD=0210
SERVICE_PASSWORD=0210
#LDAP_PASSWORD=0210
LOCK_PATH=/tmp
# To get a clean install everytime
RECLONE=no
# To enable neutron
enable_service n-net
disable_service q-svc
disable_service q-agt
disable_service q-dhcp
disable_service q-l3
disable_service q-meta
disable_service quantum
# Enable the ceilometer services
disable_service ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api
# Enable Heat
disable_service heat h-api h-eng
- 更换pip源
openstack是python项目 好多依赖都要用pip install 当然要换pip源啦
执行以下命令即可
mkdir ~/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
EOF
- 安装用户必须为非root且具有sudo权限的普通用户(新增名为stack的用户)
adduser stack
添加stack的sudo权限
在/etc/sudoers 加上下面一行
stack ALL=(ALL) NOPASSWD: ALL
4,一切准备就绪安装
cd devstack && ./stack.sh
5, 安装完成会出来信息,然后登录danshborad就可以玩耍了
碰到问题:
oslo.config模块导入问题
**keystone-manage pki_setup --keystone-user keystone --keystone-group keystone**
Traceback (most recent call last):
File "/usr/bin/keystone-manage", line 30, in <module>
from keystone import cli
File "/usr/lib/python2.7/site-packages/keystone/cli.py", line 19, in <module>
from oslo.config import cfg
ImportError: No module named oslo.config
安装一下 oslo.config 模块就好了