问题背景

最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstack方式部署一个OpenStack环境起来,搜索各种博客结合着官网的指导,花了2天时间终于把这个事情搞定了,再次分享出这个过程。

环境准备

宿主机:windows 10

虚拟机及其软件见下图:

至于这两个软件的安装和配置,如有不懂的可以自行google或者百度。

OpenStack安装

1、更换apt源为阿里源

vim /etc/apt/sources.list(如果没有权限,请使用命令:sudo vim /etc/apt/sources.list)

将文本中的内容替换为下面的内容

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

2、保存并退出,执行下面的命令:

apt-get update
apt-get upgrade

3、设定时间同步

设定时区:dpkg-reconfigure tzdata

选择Asia -> 再选择Shanghai -> OK

同步时间命令:

- sudo apt-get install ntpdate // 安装时间同步工具
- sudo ntpdate cn.pool.ntp.org // 与网络服务器同步时间
- date // 查看时间是否已经同步

4、安装pip(此步骤可以省略,因为ubuntu自带的python已经安装了pip的,但是由于系统自带的pip版本可能较低,所以,为了保险起见还是安装一下的好)

apt-get install python-pip(权限不够就执行:sudo apt-get install python-pip)

5、pip更换为豆瓣源

mkdir .pip
vim .pip/pip.conf

将下面内容写入:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

6、下载devstack(这里安装的是pike版本)

git clone https://github.con/openstack-dev/devstack -b stable/pike

7、创建stack用户

devstack/tools/create-stack-user.sh

8、将devstack目录放到/opt/stack下,并设置权限

mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack

9、切换到stack用户,切换用户后,所有的操作都是在stack用户下,直到部署成功都不需要切换用户

su - stack

10、给stack用户配置一样的pip豆瓣源(安装第三方包要快些)

mkdir .pip
vim .pip/pip.conf

将下面的内容写入:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

事实证明:这里也会存在问题,当devstack的requirements文件依赖的远程第三方包的版本,在豆瓣源或者阿里源中找不到匹配版本时,安装是会出错的。当出现这种情况的时候,可以注释掉这个源,如下图所示:

11、切换到devstack目录下

cd devstack

重要部分

创建local.conf配置文件

vim local.conf

将下面的内容写入:

  1 [[local|localrc]]
2 # Define images to be automatically downloaded during the DevStack built process.
3 DOWNLOAD_DEFAULT_IMAGES=False
4 IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
5
6 # use TryStack git mirror
7 GIT_BASE=http://git.trystack.cn
8 NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
9 SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git
10
11
12 # Credentials
13 DATABASE_PASSWORD=admin
14 ADMIN_PASSWORD=admin
15 SERVICE_PASSWORD=admin
16 SERVICE_TOKEN=admin
17 RABBIT_PASSWORD=admin
18 #FLAT_INTERFACE=enp0s3
19
20 HOST_IP=172.18.0.184

HOST_IP=虚拟机IP

12、切换到files目录下,执行下面命令

cd files/

wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
wget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz

一次下载不成功请多次执行上面的命令,直到成功为止

13、切回devstack目录下

cd ..

14、运行 ./stack.sh

按照上面的步骤,走到这里,一般情况下,只需要等待命令执行结束,出现下面的图示,就说明devstack的openstack安装成了

如果遇到其他报错,主要是检查local.conf,然后清理上次错误配置./unstack.sh和clean.sh,然后再执行./stack.sh配置,等待完成。如果遇到超时(timeout)错误,直接再次执行./stack.sh

至此,devstack部署openstack pike版本就圆满结束了,如又遇到问题的小伙伴可以留言,我会第一时间回复,期待大家一起探讨。

参考文章

Devstack 安装OpenStack Pike版本(单机环境)的更多相关文章

  1. devstack安装openstack newton版本

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

  2. 使用devstack安装openstack

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

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

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

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

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

  5. 照着官网来安装openstack pike之创建并启动instance

    有了之前组件(keystone.glance.nova.neutron)的安装后,那么就可以在命令行创建并启动instance了 照着官网来安装openstack pike之environment设置 ...

  6. 照着官网来安装openstack pike之environment设置

    安装openstack前的准备环境: 两个centos7系统的环境:192.168.101.10 node1,192.168.101.11 node2 控制节点node1,计算节点node2 1.统一 ...

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

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

  8. 体验devstack安装openstack

    由于公司制度,工作环境是不能直接上网的,所以在工作时间从没有体验过devstack或者其他联网方式安装openstack. 因自己购置了一台不错的主机,因而决定尝试安装一番,经过一段为期不短的内心极度 ...

  9. devstack安装openstack

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

随机推荐

  1. 2018年最完整5大网页设计图标解决方案:Font Awesome奥森图Unicode、CSS 和、Font以及国产zfont图标集

    网上有很多高质量的图标,基于icon的关键词能在Google上搜索到不少内容,不考虑版权外还要修改大小.颜色等等,现在介绍一些替代方案:Unicode.CSS 和 Font,它具有更高的灵活性. 方案 ...

  2. poj 3278 简单BFS

    题意:给定农夫和奶牛的初始位置,农夫可以当前位置+1.-1.*2三种移动方式,问最少需要多少分钟抓住奶牛 AC代码: #include<cstdio> #include<cstrin ...

  3. MyCat 枚举分片设计思考,查询命中条件

    Mycat多租户实现的两种方式 MyCat,各种分片规则,仅保证插入的时候分片.表关联,join,查询怎么命中分片条件,还是需要设计. 今天稍微测了一下. ER 分片,此方式,插入的时候能分片,但是查 ...

  4. 从 PHP 到 Java

    * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...

  5. 解决Sublime text 3 中文文件名显示方框

    在sublime text 3中,Preference, Settings-User,最后加上一行 "dpi_scale": 1.0 覆盖操作系统设置的DPI. 这是我的Setti ...

  6. 个性化WinPE封装方法 ----最后实战“制作WinPE3.0图文教程”

    经过前几讲,主要目的就是准备一些"原材料",熟悉一些"命令",实际上是"战前演练准备".下面要进入"实战状态",成败在此 ...

  7. Jupyter notebook Tensorflow GPU Memory 释放

    Jupyter notebook 每次运行完tensorflow的程序,占着显存不释放.而又因为tensorflow是默认申请可使用的全部显存,就会使得后续程序难以运行.暂时还没有找到在jupyter ...

  8. input输入框

    7.1,置灰和input框去除置灰 $("#key_SettlementCycle").attr("disabled","disabled" ...

  9. 基于python机器学习人脸自动补全

    import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression ...

  10. Java面试题积累

    持续积累中... 1.Java支持的数据类型有哪些?什么是自动拆装箱? 数据类型分为两大种,基本类型和引用类型. 基本类型有8种:byte short int long char float doub ...