Jun 282016
 

使用Devstack的时间其实很长。我第一次成功安装OpenStack就是使用Devstack,记忆很清楚,那时候Devstack项目刚刚成立,时间大概是2011年10月份的时候。

Devstack,只要的用户群,是开发者,直接使用源码安装,Shell的脚本,使用的出神入化,如果你希望深入了解学习如何安装OpenStack,那么代码本是就是最好的教程。

Devstack最近几年,其实变化很大,尤其在OpenStack采用大帐篷策略,项目暴涨,这也导致Devstack需要重新考虑,提供插件的机制,让更多的项目可以更加方便集成Devstack上。

这其实也导致很多以前写的文章都已经失效,很多设置已经不起作用。

真正的OpenStack玩家,一定会给Devstack折磨过。希望本文可以帮助大家减轻一点痛苦。

这篇文章是把以前的Devstack使用的文章,修改完成。

操作系统

Devstack目前是支持Ubuntu14.04和CentOS 7,不过全球的OpenStack开发者,大部分都在用Ubuntu 14.04。所以为了减少麻烦,还是建议你使用Ubuntu 14.04

详细的介绍 http://docs.openstack.org/developer/devstack/

使用trystack源

安装devstack痛苦的其中一个原因,是OpenStack代码,都需要从github下载,这样由于网络的原因,经常导致各种错误,简直让人崩溃,各种错误,也根本无法通过google来解决。

目前国内已经提供了完整的OpenStack的github的mirror。

http://git.trystack.cn

这样Devstack成功概率会大大提高。

另外devstack还会下载image,下载的过程也是非常缓慢。trystack也提供大家常用的image下载。

http://images.trystack.cn

 

指定版本

默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。

另外插件的版本,也是指定,如果使用master,也是可能会导致你失败。

目前Devstack的默认安装的组件,就的几个核心模块。如果你希望安装其他模块,就需要通过插件来安装。Devstack支持的插件列表

http://docs.openstack.org/developer/devstack/plugin-registry.html

目前各个项目,基本都会有一个devstack的目录,进入目录,就有介绍如何在devstack把该项目装起来。

https://github.com/openstack/rally/tree/master/devstack

 

网络环境

vmware workstation,安装ubuntu 14.04 虚拟机,记住,最小化安装,仅仅安装ssh server服务就可以。

虚拟机使用NAT网络,虚拟机默认通过dhcp获得的IP地址是

192.168.27.128/24

auto eth0
iface eth0 inet static
        address 192.168.27.128
        netmask 255.255.255.0
        network 192.168.27.0
        broadcast 192.168.27.255
        gateway 192.168.27.2
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 114.114.114.114
        dns-search test.com

vmware workstation默认设置分配的IP地址池是128开始分配。所以我的

Floating Ip是:192.168.27.102到192.168.27.110

网关是:192.168.27.2

Snap3

Snap4

看图,就应该很清楚 http://docs.openstack.org/developer/devstack/guides/neutron.html

Snap4

设置ubuntu源

对于ubuntu的系统,默认安全会从国外的源安装,导致速度比较慢。

deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

允许update

apt-get update

记得同步一下时间

ntpdate ntp.sjtu.edu.cn

 

安装

apt-get install git

下载devstack

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

目前Devstack脚本已经不支持直接使用root身份运行,你需要创建stack用户运行

cd /home/devstack/tools/
./create-stack-user.sh

修改devstack目录权限,让stack用户可以运行

chown -R stack:stack /home/devstack
chmod 777 /dev/pts/0

切换的stack用户下

su stack
cd /home/devstack

进入devstack目录下,创建local.conf文件,最新版本的devstack,改动很大,我专门写篇文章来介绍local.conf 设置参数

这个local.conf 文件最关键的地方

更多的local.conf 例子,可以查看 https://github.com/shake/devstack  会把我验证通过的配置文件都放到github上,方便大家。

你也可以使用wget命令,直接下载我的local.conf 配置文件。

wget -O - https://raw.githubusercontent.com/shake/devstack/gh-pages/local.conf-sample-mitaka > ./local.conf

例子

[[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://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"

HOST_IP=192.168.27.128


# Credentials
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass

HORIZON_BRANCH=stable/mitaka
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka


#keystone
KEYSTONE_TOKEN_FORMAT=UUID

##Heat
HEAT_BRANCH=stable/mitaka
enable_service h-eng h-api h-api-cfn h-api-cw


## Swift
SWIFT_BRANCH=stable/mitaka
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
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="192.168.27.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.27.102,end=192.168.27.110
PUBLIC_NETWORK_GATEWAY="192.168.27.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

# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

运行

./stack.sh

安装过程,你很可能遇到错误,重复运行就可以,一般错误都会通过。如果反复,还是停留在相同的错误,那么你很可能就需要重新干净的系统再来一遍,这个主要是因为网络的bridge设置有关。

看看结果

Snap3

装完后,虚拟机是不能重启的,所以你最好是当前状态做一个快照。都是采用暂停。

测试

用admin登录Dashbord,为了测试,我们创建一个project:test,给project创建一个用户

Snap5

使用该该账户重新登录Dashboard

大概的步骤

  1. 创建lan,分配内网IP地址段,记得设置dns
  2. 创建router,连接外网,同时连接lan
  3. 创建test安全组,允许tcp,udp,icmp全部访问
  4. 上传秘钥,或者创建秘钥
  5. 创建虚拟机,分配floating IP,验证网络所有功能

我是用vmware workstation做实验,我在我的笔记本上,可以直接ssh到虚拟机上,那么基本所有的问题都解决,最好是使用秘钥的方式,这样基本各种功能都测试了一遍。

 

 

 

参考文章

http://docs.openstack.org/developer/devstack/guides/neutron.html

http://blog.chinaunix.net/uid-13152448-id-2906443.html

关于如何重启服务等相关问题

http://www.unixarena.com/2015/08/how-to-stop-and-start-openstack-on-ubuntu.html

http://zqfan.github.io/openstack/2015/01/10/devstack/

  116 Responses to “OpenStack项目系列介绍(3) Devstack”

  1. 一旦重启VM,会导致给br-ex设置的IP地址丢失,正在想办法解决。
    陈总,方法有很多
    1、可以写个脚本,放在/etc/rc.local里,开机自动运行
    2、给虚拟机做个快照或挂起,而非关闭,这样就不受影响了

    之前,我也写了个centos部署L版的博文。
    http://chaoxu.sinaapp.com/

    • 目前快照是最靠谱的。几个办法都尝试了一下。

      • 重启VM后,以前可以用rejoin-stack.sh,但最新版本已经不提供这个脚本,通过下面链接,可以找到这个脚本,并能正常使用:
        devstack不再支持rejoin-stack相关文章:
        http://stackoverflow.com/questions/36268822/no-rejoin-stack-sh-script-in-my-setup
        在重启之后,IP会丢失,因此第一次启动时,是临时设置的ip,可根据原来的ip重新设置:
        ifconfig br-ex up
        ifconfig br-ex 172.24.4.1 netmask 255.255.255.0
        然后重启后创建卷可能会失败,需要执行:
        losetup -f /opt/stack/data/stack-volumes-lvmdriver-1-backing-file
        (老点的版本可能是 losetup -f /opt/stack/data/stack-volumes-backing-file),可以自己到 /opt/stack/data/下看看除了default外的那个名称。
        然后执行rejoin-stack。就基本正常了,不同网络的云主机可以互相访问了,外面也能ssh到私网内的云主机。
        但是我发现一个问题,就是私网内的云主机,可以访问宿主机,但是不能访问跟宿主机一个网段的其他机器了,而重启前却是可以访问的。

  2. 陈总,啥时候能弄个分角色安装的文档啊,我用官方文档在ubuntu下安装.完成后所有服务都正常,就是在创建实例的时候,报错:No valid host was found. There are not enough hosts available。配置查了几遍也没问题,系统各项服务也正常。真是非常纠结!

    • 这个应该不难,你希望怎么分。无非就是控制,网络,计算。应该不难。

  3. 陈老师,我按照您的步骤来做,中间安装neutron的时候,有一个脚本/devstack/lib/neutron-legacy里面会运行/tools下面的generate_config_file_samples.sh,但是报错不存在,我检查了,github上也的确不存在。不知道何解?
    而且/devstack/lib/neutron-legacy里面运行generate_config_file_samples.sh的语句在小括号里。

    • 如果是这样,就只能说和devstack的bug有关。我也需要验证一次才行。

      • 陈老师您好,我自己git fetch了缺失的脚本,这个错误可以通过了。但是后来在image upload的时候,openstack –os-cloud=devstack-admin image create cirros-0.3.4-x86_64-disk -public –container-format=bare –disk-format qcow2”报错如下: 500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)。
        我重装了多次,换了全新的OS环境,都卡在这里。而且这个命令可以手动执行成功。不知道这个到底怎么回事?我google了也没找到有用的方法。您可以指点一下么?

        • 你好,我也遇到和你同样的问题(tools下面的generate_config_file_samples.sh,但是报错不存在),您现在找到问题的原因出在哪儿了吗?

          • 应该是devstack分支的问题 我对比了 devstack master和 stable/liberty 的/lib/neutron-legacy文件 发现master的neutron-legacy有执行generate_config_file_samples.sh,而stable/liberty的neutron-legacy是没有的,所以git clone devstack 的时候 -b 指定使用stable/liberty 分支应该就好了

      • https://ask.openstack.org/en/question/4336/swift-as-backend-for-glance-http-500-error/
        就是这个错误一样的,但是咱们devstack里面,该网址所说的脚本都注释掉了。不知道怎么办

        • 我自己试了一下,不安装swift就可以image upload 通过。是不是glance和swift之间没有协同配置好。可是我都是按照您说的步骤一步一步来的。

  4. 陈老师你好。我使用devstack安装时输入的admin登录dashboard密码忘记了,有没有办法找回或者修改?
    多谢。

  5. 用devstack安装的话,默认是安装openstack的最新版本liberty, 想要安装kilo版怎么做?

    • 这个比较好办,指定源就可以。

      • 陈老师,学生不清楚您指的是那个源?还望您详细指导一下,谢谢!

        • # Branches
          KEYSTONE_BRANCH=stable/liberty
          NOVA_BRANCH=stable/liberty
          NEUTRON_BRANCH=stable/liberty
          SWIFT_BRANCH=stable/liberty
          GLANCE_BRANCH=stable/liberty
          CINDER_BRANCH=stable/liberty
          HEAT_BRANCH=stable/liberty
          TROVE_BRANCH=stable/liberty
          HORIZON_BRANCH=stable/liberty
          SAHARA_BRANCH=stable/liberty
          CEILOMETER_BRANCH=stable/liberty
          TROVE_BRANCH=stable/liberty

          改成kilo就可以。

          • 这回终于明白了,谢谢陈老师! 我打算在centos6.6(内核版本2.6.32)下安装juno版本的openstack,这样的配置没什么版本问题吧?

          • 没啥问题。

  6. 网上介绍用devstack安装openstack的文章用ubuntu系统的居多,请问在centos 上利用devstack部署openstack和在ubuntu上会有那些区别呢?

    • 基本是一样的。

      • 陈老师,如果我想重新设计一下Horizon的web页面,我自己的浅显想法是:用Django先写一个页面出来,然后再调用相应的API。 不知道这种做法是否正确? 希望能得到您的指导!
        PS: 有个事实我得向您坦白:看Horizon的代码,看的很费劲,难点在于:一些Python标准库的函数、以及一些Django的函数

  7. 陈老师,可以在Ubuntu 15.10上安装吗?还是为了稳妥起见,在14.04上安装。(学生初学者,没有什么基础,还望见谅)

  8. 陈老师,什么时候有空能否写一篇基于K版或者L版的horizon代码结构解读的文章。真的好期待啊!

  9. 陈老师,能不能推荐一些有助于看懂horizon代码的资料或者教程呢? 谢谢!

  10. 陈老师您好,我刚开始学习安装,运行完出现错误,请教您一下,是不是我遗漏了步骤:

    2016-02-24 12:57:31.249 | keystone-manage: error: argument command: invalid choice: ‘bootstrap’ (choose from ‘db_sync’, ‘db_version’, ‘domain_config_upload’, ‘fernet_rotate’, ‘fernet_setup’, ‘mapping_purge’, ‘mapping_engine’, ‘pki_setup’, ‘saml_idp_metadata’, ‘ssl_setup’, ‘token_flush’)
    2016-02-24 12:57:31.299 | + /home/devstack/lib/keystone:bootstrap_keystone:L1: exit_trap
    2016-02-24 12:57:31.299 | + ./stack.sh:exit_trap:L474: local r=2
    2016-02-24 12:57:31.299 | ++ ./stack.sh:exit_trap:L475: jobs -p
    2016-02-24 12:57:31.339 | + ./stack.sh:exit_trap:L475: jobs=
    2016-02-24 12:57:31.339 | + ./stack.sh:exit_trap:L478: [[ -n ” ]]
    2016-02-24 12:57:31.339 | + ./stack.sh:exit_trap:L484: kill_spinner
    2016-02-24 12:57:31.339 | + ./stack.sh:kill_spinner:L370: ‘[‘ ‘!’ -z ” ‘]’
    2016-02-24 12:57:31.340 | + ./stack.sh:exit_trap:L486: [[ 2 -ne 0 ]]
    2016-02-24 12:57:31.340 | + ./stack.sh:exit_trap:L487: echo ‘Error on exit’
    2016-02-24 12:57:31.340 | Error on exit
    2016-02-24 12:57:31.341 | + ./stack.sh:exit_trap:L488: generate-subunit 1456318333 318 fail
    2016-02-24 12:57:32.167 | + ./stack.sh:exit_trap:L489: [[ -z /opt/stack/logs ]]
    2016-02-24 12:57:32.167 | + ./stack.sh:exit_trap:L492: /home/devstack/tools/worlddump.py -d /opt/stack/logs
    2016-02-24 12:57:32.237 | df: ‘/run/user/1000/gvfs’: Permission denied
    2016-02-24 12:57:32.782 | ovs-ofctl: br-int is not a bridge or a socket
    2016-02-24 12:57:32.802 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-02-24 12:57:32.822 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-02-24 12:57:32.831 | ovs-ofctl: br-int is not a bridge or a socket
    2016-02-24 12:57:32.839 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-02-24 12:57:32.847 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-02-24 12:58:01.258 | + ./stack.sh:exit_trap:L498: exit 2

    • 我这两天也在测试。

      # Branches
      KEYSTONE_BRANCH=stable/liberty
      NOVA_BRANCH=stable/liberty
      NEUTRON_BRANCH=stable/liberty
      SWIFT_BRANCH=stable/liberty
      GLANCE_BRANCH=stable/liberty
      CINDER_BRANCH=stable/liberty
      HEAT_BRANCH=stable/liberty
      TROVE_BRANCH=stable/liberty
      HORIZON_BRANCH=stable/liberty
      SAHARA_BRANCH=stable/liberty
      CEILOMETER_BRANCH=stable/liberty

      删掉就可以。目前liberty的版本devstack安装有 bug。用master安装是没问题的。我等下修改文档。

  11. 陈老师您好,我按照您修改的东西,已经成功装了Liberty,但是登录DashBoard时不显示网络配置的选项,是不是我的Neutron安装的有问题啊,但是安装过程中没有报错,我暂时还没找到哪里有问题。请老师帮我看看是什么问题。

    • 我是在vmware的workstation的NAT网络里进行,估计我要详细介绍一下。

      • 陈老师您好,我最近又装了几遍,出了其他的问题:SNIMissingWarning和InscurePlatformWarning,真的是不知道这么搞,我在网上看到说是bug,但是也不知道怎么处理,请教一下老手。

        • 我昨晚刚装一遍,没遇到问题。你看看我的vmware的设置。

          • 我已经成功安装了!上面的问题其实不影响安装的,后来我失败了再装一次就好了,多谢老师指导!

  12. 你好,
    我的脚本跑到导入镜像会有以下报错,请问这是哪里有问题了?
    + /home/stack/devstack/functions:upload_image:L319: openstack –os-cloud=devstack-admin image create cirros-0.3.4-x86_64-disk –public –container-format=bare –disk-format qcow2
    2016-03-03 17:43:25.295 | 500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)
    2016-03-03 17:43:25.327 | + /home/stack/devstack/functions:upload_image:L1: exit_trap
    2016-03-03 17:43:25.327 | + ./stack.sh:exit_trap:L474: local r=1
    2016-03-03 17:43:25.327 | ++ ./stack.sh:exit_trap:L475: jobs -p
    2016-03-03 17:43:25.328 | + ./stack.sh:exit_trap:L475: jobs=
    2016-03-03 17:43:25.328 | + ./stack.sh:exit_trap:L478: [[ -n ” ]]
    2016-03-03 17:43:25.328 | + ./stack.sh:exit_trap:L484: kill_spinner
    2016-03-03 17:43:25.328 | + ./stack.sh:kill_spinner:L370: ‘[‘ ‘!’ -z ” ‘]’
    2016-03-03 17:43:25.328 | + ./stack.sh:exit_trap:L486: [[ 1 -ne 0 ]]
    2016-03-03 17:43:25.329 | + ./stack.sh:exit_trap:L487: echo ‘Error on exit’
    2016-03-03 17:43:25.329 | Error on exit
    2016-03-03 17:43:25.329 | + ./stack.sh:exit_trap:L488: generate-subunit 1457024542 2463 fail
    2016-03-03 17:43:25.589 | + ./stack.sh:exit_trap:L489: [[ -z /opt/stack/logs ]]
    2016-03-03 17:43:25.590 | + ./stack.sh:exit_trap:L492: /home/stack/devstack/tools/worlddump.py -d /opt/stack/logs
    2016-03-03 17:43:25.688 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-03-03 17:43:25.714 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-03-03 17:43:25.981 | + ./stack.sh:exit_trap:L498: exit 1

    • 邪门,其实导入镜像的时候,已经安装完成。我没遇到过这样的错误。

  13. 陈老师,你好,我安装成功了,然后使用Ubuntu14.0.4的镜像创建一个实例,实例配置为4G内存,20G根磁盘的时候是成功的,但是改成4G内存,40G根磁盘的时候是失败的,报的是“openstack no valid host was found”,所以可能是根磁盘不足,没法进行分配,所以,我想问一下老师,如何配置openstack可以分配的根目录啊?

    • resize失败,很多原因,devstack对于这种情况,失败是可以理解。因为默认resize,是需要重新调度host,你只有一个节点,失败就是正常的。

      • 哦哦,谢谢啊,那老师,PUBLIC_BRIDGE=br-ex,br-ex是网桥的名字吗?那就是说如果我想使用neutron Networking的话,就需要先配置网桥?

        • br-ex是网桥,如果你是招我的例子,应该是不需要提前创建。devstack会搞定。创建虚拟机是可以上网的。

  14. 陈老师,devstack安装的Openstack中的指令是其特有的吗?为什么用其他方法安装的Openstack没有那些指令,比如这些:openstack group create openstack mapping create 等等

    • 你很细心。我的理解,你看到这些命令是openstack的client显示的。devstack是最新版本的openstack,你安装的一般都是liberty版本的。所以看不到而已。等M版本发布,你肯定就可以看到。

  15. 陈老师您好!刚开始学习openstack。
    我安装的时候怎么最后提示awk: fatal: cannot open file `/opt/stack/keystone/setup.cfg’ for reading (No such file or directory)
    翻看/opt/stack/logs/stack.sh.log发现老有这个提示
    Ignoring dnspython3: markers “python_version==’3.4′” don’t match your environment
    然后发现我ubuntu14.04.4 server上好像有两个python一个2.7一个3.4是python没装好么?

    • 你需要最小化安装ubuntu 14.04.只选择ssh server。

      • 我自查了一下。1.之前我的sources.list没改是HK的,现在都改为了CN。2.我用的local.conf文件不小心把RECLONE=yes注释了。所以应该就没有clone文件。
        但是我现在local.conf已经改成和您的一样了,又出了如下错误:
        + /home/stack/devstack/functions-common:git_timed:L578: timeout -s SIGINT 0 git fetch origin
        2016-03-05 09:32:29.929 | From http://git.trystack.cn/openstack/keystone
        2016-03-05 09:32:29.929 | * branch HEAD -> FETCH_HEAD
        2016-03-05 09:32:29.932 | + /home/stack/devstack/functions-common:git_timed:L592: time_stop git_timed
        2016-03-05 09:32:29.932 | + /home/stack/devstack/functions-common:time_stop:L2318: local name
        2016-03-05 09:32:29.933 | + /home/stack/devstack/functions-common:time_stop:L2319: local end_time
        2016-03-05 09:32:29.933 | + /home/stack/devstack/functions-common:time_stop:L2320: local elpased_time
        2016-03-05 09:32:29.933 | + /home/stack/devstack/functions-common:time_stop:L2321: local total
        2016-03-05 09:32:29.933 | + /home/stack/devstack/functions-common:time_stop:L2322: local start_time
        2016-03-05 09:32:29.934 | + /home/stack/devstack/functions-common:time_stop:L2324: name=git_timed
        2016-03-05 09:32:29.934 | + /home/stack/devstack/functions-common:time_stop:L2325: start_time=1457170312
        2016-03-05 09:32:29.934 | + /home/stack/devstack/functions-common:time_stop:L2327: [[ -z 1457170312 ]]
        2016-03-05 09:32:29.934 | ++ /home/stack/devstack/functions-common:time_stop:L2330: date +%s
        2016-03-05 09:32:29.935 | + /home/stack/devstack/functions-common:time_stop:L2330: end_time=1457170349
        2016-03-05 09:32:29.935 | + /home/stack/devstack/functions-common:time_stop:L2331: elapsed_time=37
        2016-03-05 09:32:29.935 | + /home/stack/devstack/functions-common:time_stop:L2332: total=5
        2016-03-05 09:32:29.935 | + /home/stack/devstack/functions-common:time_stop:L2334: START_TIME[$name]=
        2016-03-05 09:32:29.935 | + /home/stack/devstack/functions-common:time_stop:L2335: TOTAL_TIME[$name]=42
        2016-03-05 09:32:29.936 | + /home/stack/devstack/functions-common:git_clone:L528: find /opt/stack/keystone -name ‘*.pyc’ -delete
        2016-03-05 09:32:29.936 | ++ /home/stack/devstack/functions-common:git_clone:L531: git show-ref refs/tags/master
        2016-03-05 09:32:29.936 | + /home/stack/devstack/functions-common:git_clone:L531: [[ -n ” ]]
        2016-03-05 09:32:29.937 | ++ /home/stack/devstack/functions-common:git_clone:L533: git show-ref refs/heads/master
        2016-03-05 09:32:29.938 | + /home/stack/devstack/functions-common:git_clone:L533: [[ -n ” ]]
        2016-03-05 09:32:29.938 | ++ /home/stack/devstack/functions-common:git_clone:L535: git show-ref refs/remotes/origin/master
        2016-03-05 09:32:29.940 | + /home/stack/devstack/functions-common:git_clone:L535: [[ -n ” ]]
        2016-03-05 09:32:29.940 | + /home/stack/devstack/functions-common:git_clone:L538: die 538 ‘master is neither branch nor tag’
        2016-03-05 09:32:29.940 | + /home/stack/devstack/functions-common:die:L186: local exitcode=1
        2016-03-05 09:32:29.940 | [Call Trace]
        2016-03-05 09:32:29.940 | ./stack.sh:797:stack_install_service
        2016-03-05 09:32:29.940 | /home/stack/devstack/lib/stack:32:install_keystone
        2016-03-05 09:32:29.940 | /home/stack/devstack/lib/keystone:553:git_clone
        2016-03-05 09:32:29.940 | /home/stack/devstack/functions-common:538:die
        2016-03-05 09:32:29.942 | [ERROR] /home/stack/devstack/functions-common:538 master is neither branch nor tag
        2016-03-05 09:32:30.953 | Error on exit
        2016-03-05 09:32:31.156 | ovs-ofctl: br-int is not a bridge or a socket
        是要指定stable/liberty么?
        谢谢,麻烦了!

        • 不能指定版本。有错误不是问题,你重复运行一次就可以。我昨晚也装了一遍,是中断好几次,不过还是装成功。

    • 你好,我这边也不停的出现如下提示Ignoring dnspython3: markers u”python_version==’3.4′” don’t match your environment,你这边是如何解决的呢?我安装ubuntu14时也特意选择的是最小化安装。

      • 这是因为你的os安装了python 3.4的版本。devstack使用的是python 2.7.对于ubuntu 14.04来说,同时支持两个python的版本。自己检查一下python的版本,装完系统后。

        • 你好,我查了我本地的python版本,确实是2.7的,为什么安装时还是提示呢?
          stack@ubuntuss:/home/devstack$ /usr/bin/python
          Python 2.7.6 (default, Jun 22 2015, 17:58:13)
          [GCC 4.8.2] on linux2
          Type “help”, “copyright”, “credits” or “license” for more information.

          另外现在每次安装时 最终都卡在这一步进行不下去了,我确定不是网速问题,我这边下载速度2兆左右
          2016-04-25 00:51:56.861 | Collecting pysaml2===4.0.2 (from -c /opt/stack/requirements/upper-constraints.txt (line 272))
          2016-04-25 00:51:57.396 | Downloading pysaml2-4.0.2.tar.gz (13.7MB)
          2016-04-25 00:55:54.922 | Exception:
          2016-04-25 00:55:54.922 | Traceback (most recent call last):
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/basecommand.py”, line 209, in main
          2016-04-25 00:55:54.923 | status = self.run(options, args)
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/commands/install.py”, line 310, in run
          2016-04-25 00:55:54.923 | wb.build(autobuilding=True)
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/wheel.py”, line 748, in build
          2016-04-25 00:55:54.923 | self.requirement_set.prepare_files(self.finder)
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py”, line 360, in prepare_files
          2016-04-25 00:55:54.923 | ignore_dependencies=self.ignore_dependencies))
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py”, line 577, in _prepare_file
          2016-04-25 00:55:54.923 | session=self.session, hashes=hashes)
          2016-04-25 00:55:54.923 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 810, in unpack_url
          2016-04-25 00:55:54.924 | hashes=hashes
          2016-04-25 00:55:54.924 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 649, in unpack_http_url
          2016-04-25 00:55:54.924 | hashes)
          2016-04-25 00:55:54.924 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 871, in _download_http_url
          2016-04-25 00:55:54.924 | _download_url(resp, link, content_file, hashes)
          2016-04-25 00:55:54.925 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 595, in _download_url
          2016-04-25 00:55:54.925 | hashes.check_against_chunks(downloaded_chunks)
          2016-04-25 00:55:54.925 | File “/usr/local/lib/python2.7/dist-packages/pip/utils/hashes.py”, line 46, in check_against_chunks
          2016-04-25 00:55:54.926 | for chunk in chunks:
          2016-04-25 00:55:54.926 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 563, in written_chunks
          2016-04-25 00:55:54.926 | for chunk in chunks:
          2016-04-25 00:55:54.927 | File “/usr/local/lib/python2.7/dist-packages/pip/utils/ui.py”, line 139, in iter
          2016-04-25 00:55:54.927 | for x in it:
          2016-04-25 00:55:54.927 | File “/usr/local/lib/python2.7/dist-packages/pip/download.py”, line 552, in resp_read
          2016-04-25 00:55:54.927 | decode_content=False):
          2016-04-25 00:55:54.928 | File “/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/response.py”, line 344, in stream
          2016-04-25 00:55:54.928 | data = self.read(amt=amt, decode_content=decode_content)
          2016-04-25 00:55:54.928 | File “/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/response.py”, line 311, in read
          2016-04-25 00:55:54.928 | flush_decoder = True
          2016-04-25 00:55:54.928 | File “/usr/lib/python2.7/contextlib.py”, line 35, in __exit__
          2016-04-25 00:55:54.929 | self.gen.throw(type, value, traceback)
          2016-04-25 00:55:54.929 | File “/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/response.py”, line 240, in _error_catcher
          2016-04-25 00:55:54.929 | raise ReadTimeoutError(self._pool, None, ‘Read timed out.’)
          2016-04-25 00:55:54.930 | ReadTimeoutError: HTTPSConnectionPool(host=’pypi.python.org’, port=443): Read timed out.
          2016-04-25 00:55:55.181 | +inc/python:pip_install:1 exit_trap
          2016-04-25 00:55:55.189 | +./stack.sh:exit_trap:474 local r=2
          2016-04-25 00:55:55.197 | ++./stack.sh:exit_trap:475 jobs -p
          2016-04-25 00:55:55.204 | +./stack.sh:exit_trap:475 jobs=
          2016-04-25 00:55:55.212 | +./stack.sh:exit_trap:478 [[ -n ” ]]
          2016-04-25 00:55:55.218 | +./stack.sh:exit_trap:484 kill_spinner
          2016-04-25 00:55:55.229 | +./stack.sh:kill_spinner:370 ‘[‘ ‘!’ -z ” ‘]’
          2016-04-25 00:55:55.236 | +./stack.sh:exit_trap:486 [[ 2 -ne 0 ]]
          2016-04-25 00:55:55.242 | +./stack.sh:exit_trap:487 echo ‘Error on exit’
          2016-04-25 00:55:55.242 | Error on exit
          2016-04-25 00:55:55.250 | +./stack.sh:exit_trap:488 generate-subunit 1461545128 627 fail
          2016-04-25 00:55:55.544 | +./stack.sh:exit_trap:489 [[ -z /opt/stack/logs ]]
          2016-04-25 00:55:55.550 | +./stack.sh:exit_trap:492 /home/devstack/tools/worlddump.py -d /opt/stack/logs
          2016-04-25 00:55:55.701 | 2016-04-25T00:55:55Z|00001|reconnect|WARN|unix:/var/run/openvswitch/db.sock: connection attempt failed (Permission denied)
          2016-04-25 00:55:55.701 | ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (Permission denied)
          2016-04-25 00:55:56.033 | +./stack.sh:exit_trap:498 exit 2

  16. 陈老师,我最近在学习openstack。我用物理机安装完后,都好使。但是重启后,设置br-ex地址,openstack 可以用,但是Ubuntu 还是不能上网?请问有什么解决思路

  17. 陈老师我在DashBoard 上传ubuntu 14.04的image,但是开启实例的时候就显示失败(No valid host was found. There are not enough hosts available.),但是之前cirror的image可以创建实例成功。请您给看看时什么原因。

  18. 陈老师,您好,我按照您的步骤安装过程过遇到了如下问题:
    WARNING: gnome-keyring:: couldn’t connect to: /run/user/1000/keyring-ro6EAk/pkcs11: Permission denied
    2016-03-07 14:57:33.598 | p11-kit: skipping module ‘gnome-keyring’ whose initialization failed: An error occurred on the device
    网上查了很多都没有给出好的解决方案,请您指教下这是什么原因

    • 操作系统最小化安装,可以避免很多麻烦。

    • 你好,我也多次遇到这个问题,请问你是怎么解决的,只能重装系统吗?

      • 在虚拟机来玩玩,这样方便很多。

      • 不用重装,这个问题其实并不影响openstack的使用,装好了一样能用,陈老师说的对,开始还是用虚拟机装,做好备份这样比较方便

  19. 老师您好,我在nova image-list查看镜像或者制作镜像时提示我
    ERROR (CommandError): You must provide a username or user ID via –os-username, –os-user-id, env[OS_USERNAME] or env[OS_USER_ID]
    请问这是什么情况,如何能解决,谢谢老师

  20. 老师你好,devstack安装完成后创建的实例无法分配到IP,实例主机控制台最后一行提示:further out written to /dev/ttyS0,应该是dhcp的问题。不知老师你有没有遇到这样的情况?怎样分析和解决的?可以分享一下么。

    • 至少我的环境下,肯定是可以访问的。我下次好好测试一下。

      • 问题初步解决。小伙伴们告诉我,1、新建私有网络和路由器;2、私有网络和public网络通过路由器相连;3、创建实例,创建的过程中,把私有网络添加到实例中;4、启动实例后,绑定浮动IP。即可。测试通过。我是直接进行第3步,直接把public网络添加到实例后,启动实例;这算不算一个典(di)型(ji)的错误~

  21. 陈老师,我按照你的文档安装好之后,发现没有安装heat,请问有参考文档安装heat吗?

  22. 陈老师你好,我想请问一下local.conf中FIXED_RANGE和FLOATING_RANG是怎么计算的呢?

  23. 陈老师,请您帮我看看我这是什么问题可以吗?新手没有什么头绪,一直卡在这,重复执行了很多次也没用,万分感谢!
    2016-04-05 17:08:13.217 | ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
    2016-04-05 17:08:13.224 | +lib/databases/mysql:configure_database_mysql:1 exit_trap
    2016-04-05 17:08:13.230 | +./stack.sh:exit_trap:474 local r=1
    2016-04-05 17:08:13.245 | ++./stack.sh:exit_trap:475 jobs -p
    2016-04-05 17:08:13.259 | +./stack.sh:exit_trap:475 jobs=
    2016-04-05 17:08:13.278 | +./stack.sh:exit_trap:478 [[ -n ” ]]
    2016-04-05 17:08:13.285 | +./stack.sh:exit_trap:484 kill_spinner
    2016-04-05 17:08:13.290 | +./stack.sh:kill_spinner:370 ‘[‘ ‘!’ -z ” ‘]’
    2016-04-05 17:08:13.310 | +./stack.sh:exit_trap:486 [[ 1 -ne 0 ]]
    2016-04-05 17:08:13.320 | +./stack.sh:exit_trap:487 echo ‘Error on exit’
    2016-04-05 17:08:13.320 | Error on exit
    2016-04-05 17:08:13.327 | +./stack.sh:exit_trap:488 generate-subunit 1459875900 193 fail
    2016-04-05 17:08:13.663 | +./stack.sh:exit_trap:489 [[ -z /opt/stack/logs ]]
    2016-04-05 17:08:13.668 | +./stack.sh:exit_trap:492 /home/stack/devstack/tools/worlddump.py -d /opt/stack/logs
    2016-04-05 17:08:13.724 | df: ‘/mnt/hgfs’: Protocol error
    2016-04-05 17:08:13.875 | ovs-ofctl: br-int is not a bridge or a socket
    2016-04-05 17:08:13.885 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-04-05 17:08:13.897 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-04-05 17:08:13.909 | ovs-ofctl: br-int is not a bridge or a socket
    2016-04-05 17:08:13.927 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-04-05 17:08:13.936 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-04-05 17:08:13.947 | ovs-ofctl: br-int is not a bridge or a socket
    2016-04-05 17:08:13.963 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-04-05 17:08:13.973 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-04-05 17:08:13.994 | ovs-ofctl: br-int is not a bridge or a socket
    2016-04-05 17:08:14.010 | ovs-ofctl: br-tun is not a bridge or a socket
    2016-04-05 17:08:14.028 | ovs-ofctl: br-ex is not a bridge or a socket
    2016-04-05 17:08:14.867 | +./stack.sh:exit_trap:498 exit 1

    • 提示权限问题。你确认你的操作系统是最小化安装,不要装mysql这些。

  24. 陈老师,您好,我按照您的步骤安装过程过遇到了如下问题:
    2016-04-10 08:40:55.596 | [ERROR] /home/devstack/functions-common:1066 Failed to update apt repos, we’re dead now
    2016-04-10 08:40:56.600 | Error on exit
    2016-04-10 08:40:56.601 | ./stack.sh: line 488: generate-subunit: command not found

    已经困扰我好几天了,希望得到您的指导。。

    • 先自己 apt-get update 一下,查一下自己的源。我文档有提。

    • 你这个问题解决了吗,我也碰到了

    • 层主不知道你的问题有没有解决?
      sudo apt-get install python-pip
      sudo pip install –upgrade pip
      sudo pip install -U os-testr
      这三条命令可以解决那个问题。

    • 陈老师,为何我按照你的教程安装,最后安装成功后没有swift模块,我看/opt/stack/里面也没有swift文件夹。ps:我用的不是mitaka,是newton

      • 多跑几遍,说不定就有了。devstack就是这样,在国内,经常各种问题。

  25. 陈老师,系统安装最小化指的是sever版的最小化安装吗?

  26. Hi,陈哥,你好,我在虚拟机上安装devstack社区版本,出现问题如下:
    +functions-common:apt_get:1122 return 0
    +tools/install_pip.sh:main:127 install_get_pip
    +tools/install_pip.sh:install_get_pip:49 [[ -r /home/stack/devstack/files/get-pip.py ]]
    +tools/install_pip.sh:install_get_pip:66 [[ ! -r /home/stack/devstack/files/get-pip.py ]]
    +tools/install_pip.sh:install_get_pip:69 local timecond=
    +tools/install_pip.sh:install_get_pip:70 [[ -r /home/stack/devstack/files/get-pip.py ]]
    +tools/install_pip.sh:install_get_pip:74 curl -f –retry 6 –retry-delay 5 -o /home/stack/devstack/files/get-pip.py https://bootstrap.pypa.io/get-pip.py
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 1488k 100 1488k 0 0 6489 0 0:03:54 0:03:54 –:–:– 23270
    +tools/install_pip.sh:install_get_pip:77 touch /home/stack/devstack/files/get-pip.py.downloaded
    +tools/install_pip.sh:install_get_pip:79 sudo -H -E python /home/stack/devstack/files/get-pip.py -c /home/stack/devstack/tools/cap-pip.txt
    Collecting pip!=8 (from -c /home/stack/devstack/tools/cap-pip.txt (line 1))
    /tmp/tmpfip0Vp/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
    /tmp/tmpfip0Vp/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
    Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
    24% |####### | 296kB 4.7kB/s eta 0:03:11Exception:
    Traceback (most recent call last):
    File “/tmp/tmpfip0Vp/pip.zip/pip/basecommand.py”, line 215, in main
    status = self.run(options, args)
    File “/tmp/tmpfip0Vp/pip.zip/pip/commands/install.py”, line 299, in run
    requirement_set.prepare_files(finder)
    File “/tmp/tmpfip0Vp/pip.zip/pip/req/req_set.py”, line 370, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
    File “/tmp/tmpfip0Vp/pip.zip/pip/req/req_set.py”, line 587, in _prepare_file
    session=self.session, hashes=hashes)
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 810, in unpack_url
    hashes=hashes
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 649, in unpack_http_url
    hashes)
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 871, in _download_http_url
    _download_url(resp, link, content_file, hashes)
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 595, in _download_url
    hashes.check_against_chunks(downloaded_chunks)
    File “/tmp/tmpfip0Vp/pip.zip/pip/utils/hashes.py”, line 46, in check_against_chunks
    for chunk in chunks:
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 563, in written_chunks
    for chunk in chunks:
    File “/tmp/tmpfip0Vp/pip.zip/pip/utils/ui.py”, line 139, in iter
    for x in it:
    File “/tmp/tmpfip0Vp/pip.zip/pip/download.py”, line 552, in resp_read
    decode_content=False):
    File “/tmp/tmpfip0Vp/pip.zip/pip/_vendor/requests/packages/urllib3/response.py”, line 353, in stream
    data = self.read(amt=amt, decode_content=decode_content)
    File “/tmp/tmpfip0Vp/pip.zip/pip/_vendor/requests/packages/urllib3/response.py”, line 320, in read
    flush_decoder = True
    File “/usr/lib/python2.7/contextlib.py”, line 35, in __exit__
    self.gen.throw(type, value, traceback)
    File “/tmp/tmpfip0Vp/pip.zip/pip/_vendor/requests/packages/urllib3/response.py”, line 242, in _error_catcher
    raise ReadTimeoutError(self._pool, None, ‘Read timed out.’)
    ReadTimeoutError: HTTPSConnectionPool(host=’pypi.python.org’, port=443): Read timed out.

    貌似是pip出现问题,但我定位不到具体的出问题的点,求助,谢谢!

  27. 陈老师好,我在virtualbox Ubuntu 14.04 采用本文的local.conf:

    2016-06-30 08:44:56.808 | +lib/neutron-legacy:_neutron_configure_router_v4:1320 ROUTER_GW_IP=’192.168.27.102 ‘
    2016-06-30 08:44:56.821 | +lib/neutron-legacy:_neutron_configure_router_v4:1321 die_if_not_set 1321 ROUTER_GW_IP ‘Failure retrieving ROUTER_GW_IP’
    2016-06-30 08:44:56.833 | +functions-common:die_if_not_set:204 local exitcode=0
    2016-06-30 08:44:56.887 | +lib/neutron-legacy:_neutron_configure_router_v4:1322 sudo ip route replace 10.0.0.0/24 via 192.168.27.102
    2016-06-30 08:44:57.285 | RTNETLINK answers: Network is unreachable
    2016-06-30 08:44:57.294 | +lib/neutron-legacy:_neutron_configure_router_v4:1 exit_trap
    2016-06-30 08:44:57.368 | +./stack.sh:exit_trap:474 local r=2
    2016-06-30 08:44:57.418 | ++./stack.sh:exit_trap:475 jobs -p
    2016-06-30 08:44:57.455 | +./stack.sh:exit_trap:475 jobs=
    2016-06-30 08:44:57.484 | +./stack.sh:exit_trap:478 [[ -n ” ]]
    2016-06-30 08:44:57.500 | +./stack.sh:exit_trap:484 kill_spinner
    2016-06-30 08:44:57.534 | +./stack.sh:kill_spinner:370 ‘[‘ ‘!’ -z ” ‘]’
    2016-06-30 08:44:57.598 | +./stack.sh:exit_trap:486 [[ 2 -ne 0 ]]
    2016-06-30 08:44:57.623 | +./stack.sh:exit_trap:487 echo ‘Error on exit’
    2016-06-30 08:44:57.623 | Error on exit
    2016-06-30 08:44:57.666 | +./stack.sh:exit_trap:488 generate-subunit 1467274884 1413 fail
    2016-06-30 08:45:00.361 | +./stack.sh:exit_trap:489 [[ -z /opt/stack/logs ]]
    2016-06-30 08:45:00.387 | +./stack.sh:exit_trap:492 /home/devstack/tools/worlddump.py -d /opt/stack/logs
    2016-06-30 08:45:10.100 | +./stack.sh:exit_trap:498 exit 2

  28. 你好,沙克,为什么虚拟机重启之后 192.168.27.128就连不上了。也就是我的笔记本一开始可以连接上,也能安装好openstack,但是重启之后,就连不上了,知道是何原因么?

  29. 陈老师,您好,完全按您的文档安装成功后,登录dashboard,左侧菜单栏Admin目录下没有系统面板相关的配置,可以看到租户和用户,不知道是什么原因?环境为vmware workstation, Ubuntu14.04.4最小化安装

  30. $ git clone -b stable/kilo http://git.trystack.cn/openstack/keystone.git
    正克隆到 ‘keystone’…
    fatal: 远程分支 stable/kilo 在上游 origin 未发现

    这个是kilo版分支没有了吗?怎么办?

    • 因为kilo版本已经结束支持,所以已经没有所谓stable的版本说法。

      • 但是现在我老师让我们装的项目的安装文档中指定要stable/kilo,这种情况怎么办?
        这个项目是在OpenStack上做了扩展。在kilo版本上做的扩展能兼容比较新的版本吗?

  31. 陈老师,您好,根据您提供的local.conf,在安装过程遇到了以下的错误信息:

    2016-08-09 06:01:50.443 | +./stack.sh:main:1046 create_keystone_accounts
    2016-08-09 06:01:50.449 | +lib/keystone:create_keystone_accounts:382 local admin_project
    2016-08-09 06:01:50.456 | ++lib/keystone:create_keystone_accounts:383 openstack project show admin -f value -c id
    2016-08-09 06:01:54.397 | Discovering versions from the identity service failed when creating the password plugin. Attempting to determine version from URL.
    2016-08-09 06:01:54.397 | Could not determine a suitable URL for the plugin
    2016-08-09 06:01:54.436 | +lib/keystone:create_keystone_accounts:383 admin_project=
    2016-08-09 06:01:54.442 | +lib/keystone:create_keystone_accounts:1 exit_trap

    网上找了一下,有人用以下方法解決:
    ./unstack.sh
    export no_proxy=127.0.0.1,192.168.1.100
    ./stack.sh

    但自己在虛拟机上运行结果还是一样的错误信息。想请教一下这个错误要如何解決?

    • 这个错误我见过,当我启用gnocchi的master,就会出现这个问题。后来我指定稳定版本就没问题。

      • 我的local.conf里面和您的是一样的:

        HORIZON_BRANCH=stable/mitaka
        KEYSTONE_BRANCH=stable/mitaka
        NOVA_BRANCH=stable/mitaka
        NEUTRON_BRANCH=stable/mitaka
        GLANCE_BRANCH=stable/mitaka
        CINDER_BRANCH=stable/mitaka

      • 我看到在这个错误上面,有几行好像有问题的:

        2016-08-09 07:14:00.181 | +./stack.sh:main:1044 source /hom e/devstack/userrc_early
        2016-08-09 07:14:00.200 | ++userrc_early:source:4 export OS_ IDENTITY_API_VERSION=3
        2016-08-09 07:14:00.214 | ++userrc_early:source:4 OS_IDENTIT Y_API_VERSION=3
        2016-08-09 07:14:00.232 | ++userrc_early:source:5 export OS_ AUTH_URL=http://192.168.1.100/identity_v2_admin
        2016-08-09 07:14:00.256 | ++userrc_early:source:5 OS_AUTH_UR L=http://192.168.1.100/identity_v2_admin

        版本是v3,但URL是v2,会是这个原因吗?

  32. 按照这个安全,neutron服务没有启动,还是启动的nova-network.是不是有问题啊

  33. 陈老师好, 我按照您提供的CONFIG成功安装了。但是为什么在NETWORK TOPOLOGY那里的显示只有泡泡图,但没有这种方式显示? http://a3.res.cloudinary.com/hqq9ey1mh/image/upload/c_limit,w_607/v1448047130/qmxuyv7yvznzaphwpbwq.png

  34. 陈老师,你了解openstack tacker项目吗?这个可以做NFV编排和管理,但是按照官方tacker文档装完后,dashbord访问不了,tacker命令解析VNFD文件也不行。。。也不知道问题出来哪里?

    • Tacker项目的Core,大师兄,龚永生,就坐在我旁边。不过devstack怎么玩,我确认没玩过。

  35. 陈老师,您好,请问当虚拟机的IP地址变了,那是不是要修改HOST_IP,然后重新运行./stack.sh?

  36. 老师您好,请问当虚拟机的IP地址变了,那我是不是应该修改local.conf中的HOST_IP,然后重新运行./stack.sh?

 Leave a Reply

(required)

(required)