Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'system is Ubuntu14.04. However,i met too many problem to install it successfully.When i cannot see the hope, i had to borrow a America VM from my workmate.This vm's system is also Ubuntu14.04.To my surprise, the same operation steps, this America vm installed successfully.Here is a picture which shows eventual installation:

Now,let me show my installation steps(thanks to SongPeng who is one of my emc workmate)

official documentation is here

1.update your system

$sudo apt-get update

2.reboot:make it work

3.install your git

$sudo apt-get install git

4.download devstack source code

$cd /usr/local/

$sudo git clone https://git.openstack.org/openstack-dev/devstack

5.in order to avoid permisstion denied, you can use create-stack-user.sh to create a user named stack and a group also named stack

$sudo /usr/local/devstack/tools/create-stack-user.sh

$sudo chown -R stack:stack /usr/local/devstack/

6.access stack

$sudo su stack

7.under the stack,you create a configuration file named 'localrc',there is the simplest configuration below,the official documentation is here:

stack@ubuntu:/usr/local/devstack$ vim localrc

ADMIN_PASSWORD=secrete
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD
#solve ‘fatal: unable to connect to git.openstack.org’
GIT_BASE=${GIT_BASE:-https://git.openstack.org} DEBUG=True
VERBOSE=True
DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen SYSLOG=False
LOG_COLOR=False
LOGDAYS=

8.start to install(notice that under the stack)

stack@ubuntu:/usr/local/devstack$ ./stack.sh

Till now,above is installation steps.Below are problems which i met and solutions.

grep -ir 'error\|fail\|usage\|not found' /opt/stack/logs/stack.sh.log
grep -ir 'error\|fail\|usage\|not found' /opt/stack/logs/screen/

A useful tip: when you see "error", scroll the log up until you find the root one.

Download dependency failed

Symptom:

1.

2.

Cause:Network is not stable

Solution:manual download relative dependency by yourself and install it

$cd /tmp/
$wget https://pypi.python.org/packages/source/B/Bable-1.3.tar.gz
#verify md5 consistancy
$md5sum Bable-1.3.tar.gz
$sudo pip install --upgrade Bable-1.3.tar.gz

Module version does not exist!

Symptom

:./stack.sh:68+sudo a2enmod version
ERROR: Module version does not exist!

The code location is in lib/apache:68. See the comment

Ensure mod_version enabled for . This is built-in statically on anything recent, but precise (2.2) doesn't have it enabled

So, feel free to ignore this error.

openstack role list raises unrecognized arguments: --group(thanks to Accelazh)

Symptom

::./stack.sh:+openstack role list --group 3c65c1a8d12f40a2a9949d5b2922beae --project 18ab3a46314442b183db43bc13b175b4 --column ID --column Name
usage: openstack role list [-h] [-f {csv,html,json,table,yaml}] [-c COLUMN]
[--max-width <integer>]
[--quote {all,minimal,none,nonnumeric}]
[--project <project>] [--user <user>]
openstack role list: error: unrecognized arguments: --group 3c65c1a8d12f40a2a9949d5b2922beae

Code location at lib/keystone:418, invoked by functions-common:773.

The first reason is that the python-openstackclient version is too old (openstack --version), upgrade it

sudo pip install --upgrade python-openstackclient

You need to add python-openstackclient to LIBS_FROM_GIT in local.conf, to make sure devstack uses the newest version of python-openstackclient. Note that, devstack will use master branch of python-openstackclient instead of stable/kilo.

# Add python-openstackclient to your LIBS_FROM_GIT
LIBS_FROM_GIT=python-openstackclient

The next step, since keystone v2.0 doesn't even have the concept "group", you need to force here to use keystone V3 api.

$ git diff
diff --git a/functions-common b/functions-common
index d3e93ed..bd55d7e
--- a/functions-common
+++ b/functions-common
@@ -, +, @@ function get_or_add_user_project_role {
# Gets or adds group role to project
# Usage: get_or_add_group_project_role <role> <group> <project>
function get_or_add_group_project_role {
+ local os_url="$KEYSTONE_SERVICE_URI_V3"
# Gets group role id
local group_role_id=$(openstack role list \
--group $ \
--project $ \
--column "ID" \
--column "Name" \
+ --os-identity-api-version= \
+ --os-url=$os_url \
| grep " $1 " | get_field )
if [[ -z "$group_role_id" ]]; then
# Adds role to group
@@ -, +, @@ function get_or_add_group_project_role {
$ \
--group $ \
--project $ \
+ --os-identity-api-version= \
+ --os-url=$os_url \
| grep " id " | get_field )
fi
echo $group_role_id

Related devstack bug: #1441010

InsecurePlatformWarning

cause:your Python version is too old

solution:upgrade to a newer Python version.

$sudo pip install --upgrade Python 

The eventual happy Running portal:

username:admin  secret:secrete

Devstack single node Installation on VM的更多相关文章

  1. Openstack: Single node Installation and External Network Accessing Configuration Guide

    Summary of installation Step 0: Prerequisites Step 1: Create Openstack hostsystem Step 2: Config Ope ...

  2. Hadoop MapReduce Next Generation - Setting up a Single Node Cluster

    Hadoop MapReduce Next Generation - Setting up a Single Node Cluster. Purpose This document describes ...

  3. Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)

    Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...

  4. Setting up a Single Node Cluster Hadoop on Ubuntu/Debian

    Hadoop: Setting up a Single Node Cluster. Hadoop: Setting up a Single Node Cluster. Purpose Prerequi ...

  5. Installing Apache Hadoop Single Node

    转载请注明出处:http://www.cnblogs.com/wubdut/p/4681286.html platform: Ubuntu 14.04 LTS hadoop 1.2.1 1. inst ...

  6. 浅析 Node.js 的 vm 模块以及运行不信任代码

    在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可以极大地减少在网络上的耗时.JavaScript 是一种非常流行而 ...

  7. all rows from client_id can grow infinitely compared to a single node when hashing by client_id

    all rows from client_id can grow infinitely compared to a single node when hashing by client_id Re: ...

  8. Kubernetes - Launch Single Node Kubernetes Cluster

    Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kuberne ...

  9. Share single RDM between multiple VM's in ESX

    1.Create a VM01 on esx01,Create a VM02 on esx02 2.Create the RDM on your VM01 (using the virtual, no ...

随机推荐

  1. 横瓜从WP7与WP8不兼容之处预测微软公司在未来20年将会倒闭

    横瓜(601069289)  12:40:50 微软频繁升级操作系统版本捞钱,还不向下兼容,其企业的核心竞争力不再是技术,是钱!除了操作系统,其它产品没有任何核心技术和竞争力,微软必死. 横瓜从WP7 ...

  2. C语言与汇编“硬在哪里”——什么是面向硬件?

    Jack:为什么说C/C++语言是偏向硬件的语言呢? 我:这是把C与java等无指针/引用类编程语言相比较而得出的结论.因为java在j2ee的框架下,写的代码仅仅是逻辑,本质上和写shell脚本没啥 ...

  3. 微信小程序开源项目库集合

    UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...

  4. dev gridcontrol 绑定int型及日期型的列默认当值为0时显示空白及格式化日期显示方式

    xmlns:sys="clr-namespace:System;assembly=mscorlib" 如只显示日期的时间部分 <dxg:GridColumn Header=& ...

  5. JS中的call()和apply()方法理解和使用

    1.方法定义call方法: 语法:obj.method.call(thisObj[,arg1[, arg2[, [,.argN]]]]) 定义:调用对象(obj)的一个方法(method),以另一个对 ...

  6. Unity3DGUI:Window

    #pragma strictvar winRect:Rect=Rect(30,100,150,200);var windowShow:boolean=true;function OnGUI () { ...

  7. css基础和心得(二)

    css中的某些样式是具有继承性的.它允许样式不仅应用于某个特定html标签元素 而且应用于其后代.如: p{color:red;}  <p>dsffd<spans>sdfasd ...

  8. MVC之联动学习

    一,数据库表设计 CREATE TABLE [dbo].[HY_Province]( [id] [INT] NOT NULL, [province] [NVARCHAR]() NOT NULL, CO ...

  9. 2016NOMS全国运营峰会——史上更强嘉宾阵容提前揭晓!

    参加2016NOMS全国运营峰会的演讲嘉宾来自运营领域的各个方面,包括用户运营.内容运营.活动运营.数据运营等.自大会消息一出立刻受到业界的广泛关注,并吸引了众多业内人士踊跃报名.日前,这一运营界峰会 ...

  10. 通过一个表的id同时查询多个表的数据

    'select c.字段名,x.字段名 as 改为新的显示名,x.字段名 from 表名1 b,表名2 c,表名3 x where b.字段id=' . $id . ' and b.`字段id`=c. ...