Ubuntu 14.04 安装 DevStack与遇到的的问题记录
本文总结Ubuntu 14.04下部署DevStack的过程以及一些可能遇到的问题。
一、安装
以下的操作最好在普通用户下进行,至少在git clone devstack的时候使用普通用户,这样可以避免一些不必要的权限问题,当然,以后也可以使用权限更改命令来修改普通用户的权限,这种方法下文将会介绍。
1.首先获取系统更新内容
$ sudo apt-get update
2.接着升级当前发行版
$ sudo apt-get dist-upgrade
3.重启电脑令更新生效
4.安装git,已有的可以忽略本步
$ sudo apt-get install git
5.获取devstack源码放置到TARGET_DIR/devstack目录中,然后将git分支从默认的master切换到稳定版的icehouse
$ cd TARGET_DIR
$ git clone https://github.com/openstack-dev/devstack.git
$ git checkout -b origin/stable/icehouse
6.更该pip源,需要新建pip.conf文件指定目标源(这里以豆瓣的pip源为例),避免因为pip源连接失败引起的安装失败
$ mkdir ~/.pip
$ vim ~/.pip/pip.conf
--------pip.conf--------
[global]
index-url=http://pypi.douban.com/simple/
7.采取预先配置安装组件的方式,编辑并生成localrc文件,或将已有的localrc移入devstack/目录
$ cp localrc TARGET_DIR/devstack/
关于localrc文件的具体内容和解释说明,请参考这篇博文。
8.运行stack.sh脚本,注意只能使用非root用户执行。
$ cd TARGET_DIR/devstack
$ ./stack.s
二、安装过程中遇到的问题
1.pip源安装失败
目前pip采用python的官方源,因此可能存在连接问题,可以将pip源替换成国内的(如豆瓣的),具体参考上面安装DevStack时的第6步。
2.权限问题
(1)由于我平成喜欢使用root用户进行操作,所以在git clone devstack时可能使用的是root用户,创建的devstack目录的属主和属组都是root,这样,在执行stack.sh脚本时,需要在devstack目录下创建一些文件,就会造成权限错误。这个问题比较简单,可以通过chmod更改devstack目录的权限,也可以通过chown更改devstack的属主与属组。
(2)另一个问题是devstack下载安装openstack组件的目录权限问题,比如我采用了localrc中默认的/opt/stack目录来存放各个组件,因此也可能存在安装脚本对该目录权限不足的问题,具体的解决方案也比较简单,只要更改该目录的访问权限就行了。
$ chmod /opt/stack -R
3.组件下载失败
安装脚本在第一遍安装组件时会下载组件的源代码,由于网络连接的问题,这时很容易出现错误,简单的解决方案就是当安装时的错误信息提示是组件下载失败时,手动到Github上克隆其源代码,放置在自己设定的组件目录(如/opt/stack)中,然后使用git checkout命令切换到目标分支(这里是origin/stable/icehouse),重新运行安装脚本,就可以通过。
如果Github的克隆速度非常缓慢,可以在localrc配置文件的GIT_BASE字段交替尝试git://git.openstack.org和https://github.com两个选项,在localrc文件的服务分支选择选项上(如NOVA_BRANCH,CINDER_BRANCH,KEYSTONE_BRANCH)等字段设置为stable/icehouse,多试几遍就能够解决。
4.Bug:'amqplib' is not in global_requirements.txt
这是一个已公布的Bug
详细解决可以参考OpenStack团队的code review
如果遇到,需要手动添加一些依赖,同时将localrc中的RECLONE置为false
$ vim /opt/stack/requirements/global_requirements.txt //假设你的openstack组件目录/stack是在默认的/opt目录中。
--------Add Content Below-------
amqplib>=0.6.1
$ vim TARGET_DIR/devstack/localrc
--------Set RECLONE to FALSE--------
RECLONE=FALSE
重新执行stack.sh,这个问题就能通过。
5.Bug: Service n-novnc is not running
这是一个已公布的bug,原因是nova依赖的对象存在缺陷。
我将这个问题报告在
https://bugs.launchpad.net/devstack/+bug/1361108
根据评论得知,这是一个老问题,最早出现在havana版本的nova上,具体的内容可以参考这里
https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1228490
因为nova依赖的websockify存在漏洞所致。后来websockify 0.5.1解决了这个问题,nova团队也对nova的依赖关系进行了相应的调整
https://github.com/openstack/nova/commit/3eb67b811ae2442bd86781d9f1c4078a982cfe84
但是,使用pip安装时默认安装最新版本的websockify 0.6.0,这里无语的是先前版本0.5.1 fix的bug又回来了。因此遇到这个问题时需要手动降级websockify。
$ sudo pip uninstall websockify
$ sudo pip install websockify==0.5.
我将这个问题汇报给了websockify的团队
https://github.com/kanaka/websockify/issues/136
目前问题仍然open,希望得到他们的答复。
Ubuntu 14.04 安装 DevStack与遇到的的问题记录的更多相关文章
- ubuntu 14.04安装 DevStack的脚本配置文件——localrc
本文ubuntu 14.04安装 DevStack的脚本配置文件——localrc,本文件名已经逐渐被取代,但是出于后向兼容性,使用该文件仍然可以为stack.sh安装脚本指定安装DevStack时的 ...
- 在Ubuntu 14.04安装和使用Docker
Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...
- [转]在Ubuntu 14.04安装和使用Docker
在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...
- Ubuntu 14.04 安装VMware 12
/*********************************************************************** * Ubuntu 14.04 安装VMware 12 ...
- Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flas
转自Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flash Player Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe ...
- ubuntu 14.04 安装搜狗拼音输入法
原文:ubuntu 14.04 安装搜狗拼音输入法 ubuntu桌面系统下终于有了好用的拼音法-搜狗拼音输入法,欲在ubuntu 14.04下安装搜狗拼音输入法相当的简单. 先到搜狗拼音官网下载对应的 ...
- ubuntu 14.04 安装torch及编译环境zbstudio
ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...
- ubuntu 14.04 安装svn server (subversionedge )
ubuntu 14.04 安装subversionedge 请仔细阅读安装包自带的readme文件! 1.先去官网,找安装包: http://subversion.apache.org/ http:/ ...
- Ubuntu 14.04 安装 sysrepo v0.7.5
参考: Tentative gNMI support with sysrepo protobuf-c/protobuf-c Ubuntu 14.04 安装 sysrepo v0.7.5 安装依赖: s ...
随机推荐
- (装机)关于WINRE/ESP/LRS_ESP/MSR/PBR这些分区
WINRE 1GB 用途:Windows 8 系统恢复模式.这个分区是保存是在Windows 8 系统主体本身被破坏无法正常启动的时候进行系统修复的Windows 8 PE系统.. ESP 260MB ...
- Java套接字Socket编程--TCP参数
在Java的Socket中,主要包含了以下可设置的TCP参数. 属性 说明 默认值 SO_TIMEOUT 对ServerSocket来说表示等待连接的最长空等待时间; 对Socket来说表示读数据最长 ...
- 什么是内存溢出以及java中内存泄漏5种情况的总结
内存泄漏定义(memory leak):一个不再被程序使用的对象或变量还在内存中占有存储空间. 一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出.内存溢出 out of memory ...
- java 多线程 30: 多线程组件之 CyclicBarrier
CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier.CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到 ...
- 在Mac上安装与使用mitmproxy
[本文出自天外归云的博客园] 介绍 Mitmproxy是一款支持HTTP(S)的中间人代理工具.不同于Fiddler2,burpsuite等类似功能工具,mitmproxy可在终端下运行,并且支持编写 ...
- log4j打印错误异常的详细堆栈信息
一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...
- Vmware 注册服务 开机自启
现在的服务器性能往往过剩,利用虚拟机可以提高服务器的利用效率.VMware是一款很好的虚拟机软件,但是其WorkSation版本并不支持开机自动启动,支持开机自启的Server又长年没有更新,已经无法 ...
- mysql-connector-java-5.1.22下载
java连接mysql时,需要安装驱动.如果未安装,会出现找不到“com.mysql.jdbc.Driver”的错误. 最新版驱动是:mysql-connector-java-5.1.22 下载地址: ...
- 基于jquery鼠标点击图片翻开切换效果
基于jquery鼠标点击图片翻开切换效果是一款基于jQuery+CSS3实现的点击图片切换特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class=&quo ...
- java结合js获取验证码
框架springmvc 1.后台java代码: package com.fh.controller.system.secCode; import java.awt.Color; import java ...