当前位置: > CentOS > CentOS服务器 > 环境配置 >

CentOS7.0 上搭建DevStack开发环境

时间:2016-06-24 01:49来源:linux.it.net.cn 作者:IT

昨天根据网上其他人的资料,通过本机的虚拟机在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 Backend MySQL
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的防火墙到底是几个,晕了。

 

(责任编辑:IT)
------分隔线----------------------------