准备使用devstack安装openstack N版,搞一套开发环境出来。一连整了4天,遇到各种问题,各种错误,一直到第4天下午4点多才算完成。

在这个过程中感觉到使用devstack搭建openstack环境还是有难度的,不光对新手来说,对于我手动源码装过很多次的人来说也蛮有难度。或者说是我自己学习能力不够。

个人感觉使用devstack,要想成功率高的话一定要选对linux版本。前三天使用ubuntu1604-desktop各种失败和报错,最后参考一篇博文才成功。

准备:

  1. VMware
  2. ubuntu-1404-server(64位)

网卡配置:

auto eth0      

iface eth0 inet dhcp

auto eth1

iface eth1 inet manual

虚拟机规格: 4G内存 + 40G磁盘(20G不够)

安装过程:

  一、更换镜像源。

  这里使用阿里镜像源,匹配1404的源。编辑/etc/apt/source.list文件,替换内容为如下,然后更新。apt-get update

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multive

  二、安装必要工具。

  使用devstack需要两个工具软件:git 和 pip。准备安装之前下载这两个软件。

apt-get install git
apt-get install python-pip

  

  三、配置pip源。

  推荐使用的pip源是豆瓣的源。

  在/root下创建.pip文件夹,然后创建pip.conf文件,填入豆瓣源。

cd /root
mkdir .pip
vim pip.conf [global]
timeout =
index-url = http://pypi.douban.com/simple/
[install]
trusted-host = pypi.douban.com

  四、从github上拉取openstack  newton版本。首先进入到/home目录下,然后执行git  clone命令。

 cd /home
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/newton

  五、创建stack用户。

  执行上一条命令之后,在/home文件夹下会产生一个devstack的文件夹。以root身份进入/home/devstack/tools/,执行create-stack-user.sh脚本。

  执行脚本之后会创建一个叫stack的用户,并赋予了root权限。

  六、创建配置文件local.conf。

  在/devstack路径下创建一个local.conf的配置文件,该文件包括了要安装的openstack的版本,服务,源码位置,日志位置等信息。

  由于安装过程中要从github上下文件网速不好会下载超时,然后报错,这里使用了九州云的git源。貌似九州云的镜像服务器最近不对,镜像的URL使用了官网的路径。

  

 [[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 #OFFLINE=True
RECLONE=True # Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img" HOST_IP=201.0.0.12(你的虚拟机eth0网卡IP地址) # Credentials
DATABASE_PASSWORD=stack2015
ADMIN_PASSWORD=stack2015
SERVICE_PASSWORD=stack2015
SERVICE_TOKEN=stack2015
RABBIT_PASSWORD=stack2015 HORIZON_BRANCH=stable/newton
KEYSTONE_BRANCH=stable/newton
NOVA_BRANCH=stable/newton
NEUTRON_BRANCH=stable/newton
GLANCE_BRANCH=stable/newton
CINDER_BRANCH=stable/newton #keystone
KEYSTONE_TOKEN_FORMAT=UUID
#安装时依赖报错所以不启动这个服务
disable_service tempest ## Swift
SWIFT_BRANCH=stable/newton
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=
SWIFT_HASH=011688b44136573e209e # 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="201.0.0.0/24"
#FIXED_RANGE="12.0.0.0/24"
#Q_FLOATING_ALLOCATION_POOL=start=201.0.0.30,end=201.0.0.39
#PUBLIC_NETWORK_GATEWAY="201.0.0.1"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth1
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 # Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

七、修改目录权限
    chown -R stack:stack /home/devstack

 chmod -R stack:stack /opt/stack

八 、执行stack.sh脚本。

  首先切换到stack用户,然后进入/home/devstack ,运行./stack.sh。

我在家里是移动50M带宽的wifi,第一次成功是60分钟左右,第二次是45分钟左右。安装过程中顺利的话不会报错,如果报错超过两个以上基本上就很难完成。

安装是一个折磨人的过程,一旦报错就会错误不断,深有体会。所以如果有童鞋按照我的教程配置运行出错请随时留言,避免走弯路。

devstack安装openstack newton版本的更多相关文章

  1. Devstack 安装OpenStack Pike版本(单机环境)

    问题背景 最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstac ...

  2. 使用devstack搭建openstack Newton 版本的坑

    国外源访问速度慢怎么办? 使用国外源,加之带宽紧张,搭建过程是很累的,这里推荐大家使用一下源: devstack包源.:http://git.trystack.cn pip源: [global] in ...

  3. ubuntu18.04系统下用devstack安装openstack(最新版)

    ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427   前期准备: 安装git,升级pip,其他 s ...

  4. Vmware虚拟机Devstack安装openstack(All in one)

    Vmware虚拟机Devstack安装openstack(All in one) 博客园第一篇博客,先练习一下. 官方文档 环境 Vmware虚拟机 OS : Ubuntu 14.04 Nat网络,D ...

  5. 使用devstack安装openstack

    使用devstack安装openstack 环境介绍,宿主机器 Fedora release 29 (Twenty Nine) 40核心cpu,32g内存 设想, 在fedora中安装kvm,虚拟出U ...

  6. 体验devstack安装openstack

    由于公司制度,工作环境是不能直接上网的,所以在工作时间从没有体验过devstack或者其他联网方式安装openstack. 因自己购置了一台不错的主机,因而决定尝试安装一番,经过一段为期不短的内心极度 ...

  7. 使用DevStack安装openstack(单机环境)

    DevStack是一系列可扩展的脚本,用于根据git master的最新版本快速启动完整的OpenStack环境.它以交互方式用作开发环境,并作为OpenStack项目功能测试的基础. 参考源码. 警 ...

  8. 安装OpenStack Queens版本的教程推荐

    为了加深对OpenStack的理解,需要自己分模块安装一次,之前都是用devstack安装,傻瓜式安装虽然方便,但是也减少了我对OpenStack理解的深度. 本人参考如下文档安装成功过 http:/ ...

  9. devstack安装openstack

    devstack是目前安装OpenStack最为方便的工具,一般用于开发和测试OpenStack.如果想在生产环境安装的话,需要对 devstack做很多定制,或者使用puppet/chef等更成熟的 ...

随机推荐

  1. 后台生成EXCEL文档,自定义列

    后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...

  2. 使用Dev中的GridView进行数据增删操作

      使用OracleHelper(一个C#操作Oracle数据库的工具类),连接的打开关闭全部交给OracleHelper去做. 进行增加数据信息时,新开增加数据信息的窗口,并且接受窗口的返回值,如果 ...

  3. 以打印日志为荣之logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条: 以打印日志为荣 , 以单步跟踪为耻; 很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python ...

  4. 新手之VM下安装centos版本Linux系统完整版!

    一.安装必备软件 1:下载好VM workstations虚拟机 2:下载好你要安装的centos版本. 如果没有,请自己先百度下载好~或者找我要. 二.开始安装 VM workstation部分 1 ...

  5. UEditor编辑器第一次赋值失败的解决方法

    网上查了很多方式都不是很好用,最后想到了这样的处理方式 首先在js中定义一个全局变量 var ue = null; 然后在初始化显示编辑器的时候js这样写 if (ue == null) { ue = ...

  6. Csocket基本原理

    我通过几个采用 CSocket 类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程式  ,在调试这些程式的过程中,追踪深入至 CSocket 类核心源码 Sock ...

  7. python基础教程(二)

    继续第一篇的内容,讲解,python的一些基本的东西. 注释 为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样. >>> #获得用户名: > ...

  8. 安装sklearn过程

    sklearn是scikit-learn的简称,诸多python工具包都需要这个库 安装顺序: wheel numpy scipy sklearn 因为这个库一直安装不好,都没有动力继续深造机器学习了 ...

  9. HAproxy功能配置

    author:JevonWei 版权声明:原创作品 haproxy配置文档 https://cbonte.github.io/haproxy-dconv/ 环境 前端HAProxy 172.16.25 ...

  10. [js高手之路]深入浅出webpack教程系列5-插件使用之html-webpack-plugin配置(中)

    上文我们讲到了options的配置和获取数据的方式,本文,我们继续深入options的配置 一.html-webpack-plugin插件中的options除了自己定义了一些基本配置外,我们是可以任意 ...