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;
相關文章
相關標籤/搜索