由于公司制度,工作环境是不能直接上网的,所以在工作时间从没有体验过devstack或者其他联网方式安装openstack。

因自己购置了一台不错的主机,因而决定尝试安装一番,经过一段为期不短的内心极度崩溃与愈合,终于看到了如下的打印:

 This is your host IP address: 192.168.0.105
This is your host IPv6 address: ::
Horizon is now available at http://192.168.0.105/dashboard
Keystone is serving at http://192.168.0.105:5000/
The default users are: admin and demo
The password: 123456
2017-01-21 08:46:05.167 | stack.sh completed in 746 seconds.

喔喔,这是成功了吗,可以登录了。

好了,还是言归正传:

工作环境:vmware 12

操作系统:ubuntu 14.04.5

虚拟机配置 内存: 4G , CPU : 4核 ,开启VTx-d等选项,内存是越大越好,不过俺的主机内存有限。

安装完后:

root@ubuntu:~# free -h
total used free shared buffers cached
Mem: 3.8G 3.7G 151M 3.2M 100M 1.1G
-/+ buffers/cache: 2.5G 1.3G
Swap: 1.0G 744K 1.0G

apt源可以使用国内的默认源,也可以使用其他国内的源,不过博主居然遇到cn.archive.ubuntu.com当机了。。。

因此测试了一下阿里的源,貌似比较稳定,于是:

sed -i "s/cn.archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list
apt-get update

pip的设置(首先创建目录: mkdir ~/.pip  && vim ~/.pip/pip.conf):

 stack@ubuntu:~/devstack$ cat ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

devstack本地配置:

 stack@ubuntu:~/devstack$ cat 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" ADMIN_PASSWORD=123456
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

我一开始使用默认的国外源,是想安装newton版本,不过那个网速真的没法成功安装。。

使用国内的源会快很多,但是好像只支持mitaka版本,因此就先安装这个,接下来就是:

1、创建一个普通用户,比如官网推荐的 stack

 sudo adduser stack

 sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

2、切换到stack用户(执行su stack),然后:

 cd ~
sudo apt-get install git
git clone https://github.com/openstack-dev/devstack.git -b stable/mitaka

3、开始安装:

 cd devstack
./stack.sh

4、中途遇到的问题:

 Traceback (most recent call last):
File "/usr/local/bin/openstack", line 7, in <module>
from openstackclient.shell import main
File "/usr/local/lib/python2.7/dist-packages/openstackclient/shell.py", line 32, in <module>
from openstackclient.common import clientmanager
File "/usr/local/lib/python2.7/dist-packages/openstackclient/common/clientmanager.py", line 293, in <module>
'openstack.cli.base',
File "/usr/local/lib/python2.7/dist-packages/openstackclient/common/clientmanager.py", line 264, in get_plugin_modules
__import__(ep.module_name)
File "/usr/local/lib/python2.7/dist-packages/openstackclient/network/client.py", line 16, in <module>
from openstack import connection
File "/usr/local/lib/python2.7/dist-packages/openstack/connection.py", line 68, in <module>
from openstack import session as _session
File "/usr/local/lib/python2.7/dist-packages/openstack/session.py", line 29, in <module>
DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__
AttributeError: 'module' object has no attribute '__version__

好吧,发现是/usr/local/lib/python2.7/dist-packages/openstack/session.py里执行失败:

代码行: DEFAULT_USER_AGENT = "openstacksdk/%s" % openstack.__version__

于是如下处理一下:

 root@ubuntu:~# python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import openstack
>>> import pbr.version
>>> print(pbr.version.VersionInfo('openstacksdk').version_string())
0.8.1
>>> quit()
root@ubuntu:~#

修改为: DEFAULT_USER_AGENT = "openstacksdk/0.8.1"

cd ~/devstack
./unstack.sh
./clean.sh
./stack.sh

好运的话,会一次安装成功吧。

然而博主是经历了断断续续历时约12个小时失败才安装成功。。。

5、如何重启devstack

devstack重启脚本是rejoin-stack.sh,但是git下来的版本却没有,只好去网上找一个,如下:

#!/usr/bin/env bash

# This script rejoins an existing screen, or re-creates a
# screen session from a previous run of stack.sh. TOP_DIR=`dirname $0` # Import common functions in case the localrc (loaded via stackrc)
# uses them.
source $TOP_DIR/functions source $TOP_DIR/stackrc # if screenrc exists, run screen
if [[ -e $TOP_DIR/stack-screenrc ]]; then
if screen -ls | egrep -q "[0-9].stack"; then
echo "Attaching to already started screen session.."
exec screen -r stack
fi
exec screen -c $TOP_DIR/stack-screenrc
fi echo "Couldn't find $TOP_DIR/stack-screenrc file; have you run stack.sh yet?"
exit 1

vim ~/devstack/rejoin-stack.sh将上面的内容复制进去。

chmod +x ~/devstack/rejoin-stack.sh
sudo chmod 777 /dev/pts/0
./rejoin-stack.sh

即可重启服务咯,哈哈,我赶紧把内存加大1G~~~

root@ubuntu:~# free -h
total used free shared buffers cached
Mem: 4.8G 3.0G 1.7G 3.4M 62M 230M
-/+ buffers/cache: 2.7G 2.0G
Swap: 1.0G 0B 1.0G

接下来,就可以愉快的玩耍了。

6、如何成为openstack的开发者:

http://www.ibm.com/developerworks/cn/cloud/library/cl-contributecode-openstack/

体验devstack安装openstack的更多相关文章

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

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

  2. devstack安装openstack newton版本

    准备使用devstack安装openstack N版,搞一套开发环境出来.一连整了4天,遇到各种问题,各种错误,一直到第4天下午4点多才算完成. 在这个过程中感觉到使用devstack搭建openst ...

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

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

  4. 使用devstack安装openstack

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

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

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

  6. devstack安装openstack

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

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

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

  8. ubuntu14.0.4.3 devstack 安装openstack

    参考网址: http://www.chenshake.com/install-ubuntu-14-04-devstack/ 现在装完一切正常,就是不能重启,一旦重启VM,会导致给br-ex设置的IP地 ...

  9. 快速体验openstack-用devstack安装openstack

    官网安装说明: --2014年11月15日14:14:21 安装环境:Ubuntu12.04,安装官网的说明遇到了小问题,记录在这里 --http://docs.openstack.org/devel ...

随机推荐

  1. Android(java)学习笔记102:Dalivk虚拟机的初始化过程

    1. 初始化下面系统函数(调用dvmStartup函数初始化所有相关的函数) 开始学习虚拟机的初始化过程,先从dvmStartup函数开始,这个函数实现所有开始虚拟机的准备工作:    dvmAllo ...

  2. 【洛谷5358】[SDOI2019] 快速查询(模拟)

    点此看题面 大致题意: 有单点赋值.全局加法.全局乘法.全局赋值.单点求值.全局求和\(6\)种操作.现在给出操作序列,以及\(t\)对正整数\(a_i,b_i\).让你处理\(t*q\)次操作,每次 ...

  3. 爬虫学习(六)——异常处理URLerrors异常处理

    # 异常处理都在urllib.error中进行处理 import urllib.requestimport urllib.error # 第一种异常:该网址不存在url = "http:// ...

  4. 抽屉head部分,hover应用,鼠标放上变色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 【IDEA】热部署插件Jrebel破解安装

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...

  6. ob缓存的基本使用

    在页面 加载的时候 如果 图片 很多 很大 会造成页面的阻塞降低用户体验 我们在点击页面的时候可以使用OB缓存 整个页面, 当用户点击的时候直接请求的是我们预先准备好的html页面 .也降低了我们数据 ...

  7. 将Excel文件转为csv文件的python脚本

    #!/usr/bin/env python __author__ = "lrtao2010" ''' Excel文件转csv文件脚本 需要将该脚本直接放到要转换的Excel文件同级 ...

  8. 笔记-python-standard library-17.1 threading

    笔记-python-standard library-17.1 threading 1.      threading source code: Lib/threading.py 本模块构建高级别的线 ...

  9. 定时任务之crond服务

    计划任务分为一次性计划任务与长期性计划任务 一次性计划任务:今天11:25执行重启网卡操作,执行结束 即任务消失  一次性计划任务格式: 创建:"at 时间" #默认采用的是交互式 ...

  10. TCP/IP网络编程之网络编程和套接字

    网络编程和套接字 网络编程又称为套接字编程,就是编写一段程序,使得两台连网的计算机彼此之间可以交换数据.那么,这两台计算机用什么传输数据呢?首先,需要物理连接,将一台台独立的计算机通过物理线路连接在一 ...