其實若是僅僅只是說安裝步驟的話,那就至關之簡單了,可是若是說安裝途中遇到的坑,我以爲一篇博客好像遠遠不夠哇。python
個人環境centos7,首先安裝最基本的git,yum安裝就能夠了,這裏就不講如何更換源(前提源很差用時才更換)git
1:下載devstack,下載到/home文件夾下面,緣由是目前安裝還不支持root權限安裝,須要建立新的用戶,若是放在別的目錄下的話,安裝時會提示權限問題,下面說如何建立新的安裝用戶(stack)github
git clone https://github.com/openstack-dev/devstack.git
2: 下載完成以後進入devstack/tools執行vim
./create-stack-user.sh
建立stack用戶,修改devstack的目錄權限centos
chown -R stack:stack /home/devstack
3:切換用戶su stack,按照常理是執行./stcak.sh就給能夠結束咱們的安裝,可是問題每每就出現了,首先由於安裝的過程當中會有不少依賴包,因此當第一遍執行./stack的時候默認的下載文件是保存在/opt/stack裏面,進入這個目錄找到requirements這個文件夾,api
看到文件夾裏面的各個文件,建議手動安裝依賴包,curl
pip install -r global-requirements.txt pip install -r requirements.txt pip install -r upper-constraints.txt pip install -r upper-constraints-xfails.txt
若是不肯定裏面是什麼依賴包,能夠打開每一個txt文件查看一下,通常就能夠肯定是否是依賴文件,若是在安裝依賴包的過程當中遇到了安裝問題,認真查看提示,若是能夠手動安裝解決的,最好手動下載源碼安裝,若是不能夠的話,先不要安裝,就留在這裏,接着去安裝下一個以來文件就好ide
3:當這些依賴文件安裝完成以後,去執行./stack.sh,在執行的過程當中若是你很幸運,那會最終安裝成功,固然咱們漏掉了,配置文件,在devstack的目錄下建立localrc,這個文件能夠去谷歌,還有就是也能夠不建立這個文件,直接安裝./stack.sh,由於建立的時候也不知道里面的屬性是作什麼的,等安裝屢次的時候就大體知道里面的屬性的用處。ui
4:安裝遇到的問題:url
(1):版本不匹配,這個問題比較常見,就是依賴包裏面給出的版本號,可能跟當前你安裝的openstack裏面用到的版本發生變化,手動下載手動解決,而且去requirements這個文件夾,查找依賴文件(主要是txt文件,好比upper-constrains.txt)找到這個依賴包並把這個依賴包註釋掉,或者修改版本
eg: 安裝過程當中提示 python-neutronclient 安裝的是6.2.0版本和須要的python-neutronclient-6.3.0的衝突,那就手動安裝這個包,並把upper-constrains.txt等包含這個安裝包的以來文件裏面的這個庫註釋掉,或者修改版本當前須要的
(2):安裝過程當中會不停的去主分支上面git clone 代碼,若是下載不成功可重複運行./stack.sh, 或者去 cd /opt/stack 目錄下本身手動git clone
(3):若是當代碼都git 完畢而且沒有衝突的時候,報錯的多是
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/lib/nova:812 nova-api did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
[ERROR] /home/devstack/functions-common:2448 Neutron did not start
[ERROR] /home/devstack/lib/keystone:558 keystone did not start
報這樣的錯誤前面通常都在執行curl -g -k --noproxy '*' -s -o /dev/null -w '%{http_code}' http://*.*.*.*/identity/v3/看返回的狀態碼,503,000居多,重複運行就ok ,這個時候要去devstack下設置vim localrc
設置本身的ip 就ok
(等想到別的再添加)