• 参考文档docs.openstack.org Centos7.2 安装devstack S版 安装devstack中遇到的一些问题整理
  • 环境配置
  • 虚拟主机为最小化安装的centos7.7(内存尽量不低于4G),IP地址为:192.168.10.61(尽量不要安装多余的包)
  • 关闭selinux

单节点openstack对接ceph openstack单节点安装_解决方法

单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_02

  • 关闭防火墙
  • 同步时间

单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_03

单节点openstack对接ceph openstack单节点安装_git_04

单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_05

  • 下载etcd包(无法自动完成下载,会卡住)

下载地址需要按照提示更改具体版本,将安装包存放到/PATH/devstack/files目录下

单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_06

  • 添加openstack运行用户并分配权限

单节点openstack对接ceph openstack单节点安装_解决方法_07

useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
  • 为用户家目录赋予权限
  • 切换所创建的用户(不带环境切换)
  • 下载devstack
git clone https://git.trystack.cn/openstack-dev/devstack --branch stable/ocata
#--branch stable/queens 指定版本为ocata
  • 创建local.conf文件,指定安装时的配置项

单节点openstack对接ceph openstack单节点安装_git_08

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

GIT_BASE=http://git.trystack.cn #使用trystack源
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
HOST_IP=192.168.10.61 #此处为虚拟机IP
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS=http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
KEYSTONE_BRANCH=stable/ocata #指定keystone的版本与devstack版本保持一致
NOVA_BRANCH=stable/ocata #nova同上
NEUTRON_BRANCH=stable/ocata #neutron同上
SWIFT_BRANCH=stable/ocata #swift同上
GLANCE_BRANCH=stable/ocata #glance同上
CINDER_BRANCH=stable/ocata #cinder同上

LOGDAYS=2

SWIFT_REPLICAS=1

SWIFT_DATA_DIR=$DEST/data
  • 为pip指定国内的阿里源

单节点openstack对接ceph openstack单节点安装_自动完成_09

单节点openstack对接ceph openstack单节点安装_解决方法_10

[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com
timeout=6000
  • 执行安装脚本
  • 安装完成
  • 单节点openstack对接ceph openstack单节点安装_解决方法_11

  • 连接图形化界面管理平台
  • 单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_12


  • 单节点openstack对接ceph openstack单节点安装_解决方法_13

  • 使用脚本安装步骤十分简单,但由于网络环境以及python3不能兼容python2等问题会导致安装过程中出现许多安装包的依赖冲突以及无法自动完成下载,总结了一下安装过程中遇到的问题
  • 无法安装libibverbs导致退出
  • 单节点openstack对接ceph openstack单节点安装_自动完成_14


  • 解决方法:手动安装libibverbs
  • 单节点openstack对接ceph openstack单节点安装_解决方法_15


  • 单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_16

  • 出现错误提示pip版本过低
  • 单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_17


  • 解决方法
  • 单节点openstack对接ceph openstack单节点安装_解决方法_18


  • 单节点openstack对接ceph openstack单节点安装_解决方法_19

  • pip无法自动完成下载时手动下载
  • 单节点openstack对接ceph openstack单节点安装_git_20

  • pip无法自动升级
  • 单节点openstack对接ceph openstack单节点安装_解决方法_21

  • enum34自动安装到最新版本时与当前python版本不匹配(类似的冲突有多个包,使用相同的方法解决)

解决方法:手动安装时指定旧版本

单节点openstack对接ceph openstack单节点安装_解决方法_22

  • 自动通过pip卸载再更新时由于依赖无法完成卸载

解决方法:手动更新

单节点openstack对接ceph openstack单节点安装_git_23

相同情况的还有sqlalchemy、virtualenv等(virtualenv在重新开始执行./stack.sh时会经常出现错误,重新执行pip install后直接执行./stack.sh)

单节点openstack对接ceph openstack单节点安装_解决方法_24

单节点openstack对接ceph openstack单节点安装_单节点openstack对接ceph_25

  • 使用浏览器连接时无法连接清空iptables规则

注:客户机防火墙此时处于关闭状态

  • 由于网络问题会导致安装包经常性下载失败,可以尝试重试或手动安装