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)
昨天根据网上其他人的资料,通过本机的虚拟机在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 需要注意的是,每个终端都要su到stack用后再执行 就像这样
每个窗口执行一条git clone.
所有终端都clone完成后,开始进入对配置文件的配置,这里是devstack安装比较关键的部分,配置文件决定了安装的组件内容和网络设置等。这里我用了Mr_扛扛的配置,链接如下:http://blog.csdn.net/u011521019/article/details/51114681,请大家参考。
[[local|localrc]] 配置中,我只修改了网络部分,其他没变。 在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的防火墙到底是几个,晕了。 |