昨天根據網上其他人的資料,通過本機的虛擬機在ubuntu14.04的環境中搭建DevStack,選擇了mitaka的版本。最終在Eclipse的部署環節,由於主機藍屏,導致失敗。桑心。。。
今天重整旗鼓,再次搭建這個環境,本人對於Ubuntu實在不熟悉,很多操作都要去查資料。今天嘗試比較熟悉的centos系統,應該操作更簡單一些。由於需要安裝開發工具(Eclipse),所以安裝操作系統時選擇安裝桌面。蒼天保佑,今天能安裝成功。。。
Centos7 安裝了KDE圖形的界面,完成後如下
首先要設置網絡和主機名,這個可以根據自己的情況來,我的虛擬機使用vmware workstation,用nat模式的網絡,主機名設置為devstack
我的網絡配置
由於安裝devstack需要聯網,需要保證虛擬機能夠訪問互聯網,這個地址也是後面配置的需要用到的,不建議使用dhcp分配。
修改主機名
好吧,請忽略那些錯誤的命令,我實在記不住,試了幾次終於對了,是
hostnamectl set-hostname 主機名
重啟一次吧,這樣這些修改就更新了。
重啟後可以看到主機名更新了,地址也改了
終於可以用終端軟件來登錄了,我用XShell
再修改一下host文件吧
vim /etc/hosts
使用終端軟件的字體果然漂亮多了
之後要更新源,用yum update,這個過程很漫長,要等......
中間輸入Y
終於更新完成
現在,正式開始安裝devstack。首先安裝Git
yum install git -y
安裝完成
接下來下載devstack,我選擇下載到/tmp/devstack,這個目錄最後會給stack用戶使用,所以放在哪個目錄都無所謂。
下載devstack,使用以下命令
git clone -b stable/mitaka https://git.openstack.org/openstack-dev/devstack
下載完成後,進入devstack目錄的tools中,執行
create-stack-user.sh
腳本,創建一個stack用戶,devstack需要使用該用戶進行操作。
創建用戶完成後,執行
su - stack
進入到stack用戶,把devstack目錄拷貝到stack的用戶目錄
修改一下devstack目錄的屬組
chown -R stack:stack devstack
正式安裝之前,可以手工把源碼下載回來,縮短安裝的時間,我沒比較過,對此有所懷疑。
可以在打開多個窗口,分別執行一下的命令
git clone -b stable/mitaka git://git.openstack.org/openstack/horizon.git /opt/stack/horizon
git clone -b stable/mitaka git://git.openstack.org/openstack/keystone.git /opt/stack/keystone
git clone -b stable/mitaka git://git.openstack.org/openstack/nova.git /opt/stack/nova
git clone -b stable/mitaka git://git.openstack.org/openstack/neutron.git /opt/stack/neutron
git clone -b stable/mitaka git://git.openstack.org/openstack/glance.git /opt/stack/glance
git clone -b stable/mitaka git://git.openstack.org/openstack/cinder
需要注意的是,每個終端都要su到stack用後再執行
就像這樣
每個窗口執行一條git clone.
所有終端都clone完成後,開始進入對配置文件的配置,這裡是devstack安裝比較關鍵的部分,配置文件決定了安裝的組件內容和網絡設置等。這裡我用了Mr_扛扛的配置,鏈接如下:http://blog.csdn.net/u011521019/article/details/51114681,請大家參考。
[[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
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
# Credentials
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass
#FLAT_INTERFACE=eth0
HOST_IP=192.168.88.180
SERVICE_HOST=192.168.88.180
MYSQL_HOST=192.168.88.180
RABBIT_HOST=192.168.88.180
GLANCE_HOSTPORT=192.168.88.180:9292
# Database BackendMySQL
enable_service mysql
# RPC Backend RabbitMQ
enable_service rabbit
# Enable Keystone - OpenStack Identity Service
enable_service key
# Horizon - OpenStack Dashboard Service
enable_service horizon
# Enable Glance - OpenStack Image service
enable_service g-api g-reg
# Enable Cinder - Block Storage service for OpenStack
VOLUME_GROUP="cinder-volumes"
enable_service cinder c-api c-vol c-sch c-bak
# Enable Heat (orchestration) Service
enable_service heat h-api h-api-cfn h-api-cw h-eng
# Enable Tempest - The OpenStack Integration Test Suite
enable_service tempest
# Enable NoVNC
enable_service n-novnc
# 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.88.0/24"
FIXED_RANGE="10.0.1.0/24"
NETWORK_GATEWAY="10.0.1.254"
Q_FLOATING_ALLOCATION_POOL=start=192.168.88.200,end=192.168.88.210
PUBLIC_NETWORK_GATEWAY="192.168.88.2"
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
# Branches
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka
HEAT_BRANCH=stable/mitaka
HORIZON_BRANCH=stable/mitaka
# Select Keystone's token format
# Choose from 'UUID', 'PKI', or 'PKIZ'
# INSERT THIS LINE...
KEYSTONE_TOKEN_FORMAT=${KEYSTONE_TOKEN_FORMAT:-UUID}
KEYSTONE_TOKEN_FORMAT=$(echo ${KEYSTONE_TOKEN_FORMAT} | tr '[:upper:]' '[:lower:]')
# Work offline
#OFFLINE=True
# Reclone each time
RECLONE=yes
# Logging
DEST=/home/stack.mitaka
LOGFILE=/home/stack.mitaka/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/home/stack.mitaka/logs
配置中,我只修改了網絡部分,其他沒變。
在devstack目錄下,創建local.conf
vim local.conf
把上面的配置粘進來就可以了
之後,就可以開始安裝了,執行
./stack.sh
安裝開始,又是漫長的等待.......
吃午飯,睡午覺,結果沒太睡著,盯著屏幕看了一會,終於裝完了。
上午9點多開始裝,中午12點40裝完,用時三個半小時,還沒裝開發工具。
這時候就可以用web打開了,要看看是不是把防火牆關了。杯具的是我的防火牆開始沒關,現在裝完了關閉好像也不起作用,在外部無法訪問dashboard,不過在centos系統上可以訪問,界面就是這樣:
admin登錄一下
應該是正常的,只是外部訪問不了。
接下來要裝eclipse了,先傳jdk
把jdk的tar.gz包解壓到/usr/lib/Java下。
配置文件/etc/profile
最後增加JAVA_HOME
exprot JAVA_HOME=/usr/lib/java/jdk目錄
編輯後執行
source /etc/profile
執行命令
java -version
確認jdk能夠被使用
然後上傳eclipse。我在官網發現最新的eclipse沒有tar.gz的版本,都是installer,只能通過install去下載,不知道是否有完整的tar.gz的可以下載,我現在只能使用install安裝了
解壓eclipse installer
tar -xzvf eclipse-inst-linux64.tar.gz
然後進入centos的圖形界面,啟動安裝
進入安裝選項
我選擇了第一個
選擇安裝路徑,默認就好
開始安裝,還是等...
中間彈出的license確認,同意即可。
安裝完成了
啟動eclipse,配置工作目錄為/opt/stack
安裝pydev,浏覽器打開以下地址
https://marketplace.eclipse.org/content/pydev-Python-ide-eclipse
點著install,拖到eclipse裡,開始安裝
選中安裝,點擊confirm,開始安裝
安裝完成後,會提示重啟eclipse,點擊重啟。
啟動後,點擊windows->prefrences,找到python選項
點擊“Quick Auto-Config”
再點“OK”
點擊“File”,選擇“Import...”
選擇Projects from Git
選擇已經存在的庫
選擇一個組件,點finish
這裡可以選擇Import as general project
這樣就完成了,可以看到keystone的源碼已經導入,可以編輯修改了。其他的組件也可以這樣導入。到這裡devstack開發環境的搭建基本就完成了,有了代碼我們就可以哪裡有問題改哪裡,媽媽再也不用擔心openstack問題無法解決了。
最後,那個外部不能訪問的問題也解決了。原因是,我使用了systemctl stop firewalld 命令關閉防火牆,而實際上iptables仍然起作用,所以我又關了iptables,結果訪問就正常了,不知道centos的防火牆到底是幾個,暈了。
http://xxxxxx/Linuxjc/1137395.html TechArticle