CentOS7上经过devstack搭建openstack开发环境

  1. 安装CentOS 7.0的操做系统
因为devstack在部署的过程当中会检查操做系统版本,以前在CentOS 6.5上部署时会报错,须要7.0的环境。
1)	CentOS 7.0 ISO下载地址:
http://101.110.118.38/isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
进去以后选择一个源下载便可。
2)	CentOS 7.0具体安装教程参见以下连接:
http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html
  1. 安装GIT
Root权限下使用:yum install git
  1. 下载devstack
cd /opt
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
  1. 目前Devstack脚本已经不支持直接使用root身份运行,须要建立stack用户运行
cd /opt/devstack/tools
./create-stack-user.sh
chown -R stack:stack /opt/devstack
  1. 配置CentOS的网络和主机名 1) 网络配置再也不赘述,和ubuntu下的配置同样配置好静态IP便可; 2) 配置主机名 devstack在部署的过程当中会调用hostname –f的shell命令校验主机名,若是不配置主机名,则会部署中断报错。我这里将主机名配置为devstack vi /etc/hosts 输入图片说明html

  2. 安装PIPhtml5

devstack在安装openstack的时候,若是不提早安装PIP就会遇到 generate-subunit: command not found的问题。
解决方案:
sudo yum -y install epel-release
yum install python-pip
pip install --upgrade pip
pip install -U os-testr
  1. 修改CentOS的yum源
将CentOS自带的yum源更换为国内163的源,可以大大提升部署过程当中下载须要的软件的速度。
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
  1. 修改PIP的更新源
在etc目录下建立pip.conf的pip源配置文件
vi /etc/pip.conf

输入图片说明

  1. 建立配置文件 在/opt/devstack目录下建立local.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=192.168.7.120


# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=admin
RABBIT_PASSWORD=admin

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

## Ceilometer
enable_plugin ceilometer http://git.trystack.cn/openstack/ceilometer stable/mitaka

# 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="192.168.7.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.7.121,end=192.168.7.126
PUBLIC_NETWORK_GATEWAY="192.168.7.1"
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

输入图片说明 注意这里须要确认下neutron的IP和网卡配置,我安装的CentOS的网卡名称不是常见的eth0而是ens32,配置文件里面要作相应的修改 输入图片说明python

  1. 开始部署
切换用户为stack进行安装
su - stack
cd /opt/devstack
./stack.sh

部署成功后以下: 输入图片说明git

  1. 界面访问 使用部署成功后的horizon访问地址进行界面访问,须要注意的是,若是是在笔记本本地用浏览器进行访问,会提示页面超时,访问失败,缘由是由于CentOS的防火墙过滤掉了访问请求,这里关闭CentOS的防火墙就能够在本地进行访问。
systemctl stop firewalld.service
service iptables stop

输入图片说明

  1. 安装错误记录
出现opt/stack/functions 496: invalid path permission; 
查看上面日志,发现stack文件夹的权限为700,正好报错。使用root对/opt/stack文件进行权限修改,chmod 755 /opt/stack;
相关文章
相关标签/搜索