歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> CentOS7.0 上搭建DevStack開發環境

CentOS7.0 上搭建DevStack開發環境

日期:2017/3/6 9:35:56   编辑:學習Linux

CentOS7.0 上搭建DevStack開發環境


CentOS7.0 上搭建DevStack開發環境


昨天根據網上其他人的資料,通過本機的虛擬機在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

Copyright © Linux教程網 All Rights Reserved