因爲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
Root權限下使用:yum install git
cd /opt git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
cd /opt/devstack/tools ./create-stack-user.sh chown -R stack:stack /opt/devstack
配置CentOS的網絡和主機名 1) 網絡配置再也不贅述,和ubuntu下的配置同樣配置好靜態IP便可; 2) 配置主機名 devstack在部署的過程當中會調用hostname –f的shell命令校驗主機名,若是不配置主機名,則會部署中斷報錯。我這裏將主機名配置爲devstack vi /etc/hosts html
安裝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
將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
在etc目錄下建立pip.conf的pip源配置文件 vi /etc/pip.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
切換用戶爲stack進行安裝 su - stack cd /opt/devstack ./stack.sh
部署成功後以下: git
systemctl stop firewalld.service service iptables stop
出現opt/stack/functions 496: invalid path permission; 查看上面日誌,發現stack文件夾的權限爲700,正好報錯。使用root對/opt/stack文件進行權限修改,chmod 755 /opt/stack;