天天看点

devstack安装初体验(ubuntu)

最近刚上手安装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 模块就好了

继续阅读