Post

在openSUSE 12.3上安装DevStack


DevStack

在一台Linux上快速实现单节点(包括Nova Controller、Nova Compute)的OpenStack架构,可以使用DevStack,迅速进入开发和学习状态1

DevStack的安装很简单

$ zypper in git
$ git clone git://github.com/openstack-dev/devstack.git
$ cd devstack
$ ./stack.sh

stack.sh兼容性

DevStack的stack.sh与openSUSE12.3并不兼容,提示的建议为12.2。

  • 根据提示,加入FORCE=yes参数强制执行
$ cd devstack
$ echo "FORCE=yes" >> localrc
  • 在运行过程中会出现无法连接到本地的服务(如glance-api,nova-api等),一定是服务启动失败。

    通过执行screen -x stack查看stack用户的shell,它启动服务不成功是因为找不到/usr/local/bin/glance-api 实际上which glance-api返回的目录是/usr/bin/glance-api 通过查找目录中所有/usr/local/bin字符串可以找到functions中定义了get_python_exec_prefix方法时根据不同的操作系统,选择不同的prefix。

所以,在functions文件中

function get_python_exec_prefix() {
    if is_fedora; then
        echo "/usr/bin"
    else
        echo "/usr/local/bin"
    fi
}

改为

function get_python_exec_prefix() {
    if is_suse | is_fedora; then
        echo "/usr/bin"
    else
        echo "/usr/local/bin"
    fi
}

最后重新开始

$ ./restack.sh
$ ./stack.sh

#####脚注

  1. 主要是开发,其实这种快速一个Shell Script文件搞定的最不利于学习了。 

This post is licensed under CC BY 4.0 by the author.