使用devstack安装openstack

概述

早就想用devstack去安装openstack了,但是自己的电脑内存才4g真的太小了,最近上了8g内存,果断开虚拟机装devstack。 devstack的基本概念大家可以去百度这里就不说了 要准备的东西

  • ubuntu16.04
  • Google
  • 网络(最好是移动网,电信的出口带宽真的很快,和断网一样的快)
  • 一部电影(推荐美国派,如果不知道美国派是什么,去百度。因为安装时间很长,所以最好来一部电影消磨时间)
  • virtualbox
  • 一颗坚信可以安装成功的心

devstack不可能会一次性安装完成openstack,所以出错了要学会解决,比如一个软件包不能下载,那么就自己在实体机挂代理下载好然后scp到虚拟机对应的文件夹中,还有要相信我的配置文件,运行一次./stack.sh不行那就再次运行一次,如果还是不行,那么./clean.sh ./unstack.sh,最关键的是要学会谷歌而不是百度,垃圾百度毁一生

安装Ubuntu虚拟机

首先虚拟机的配置能多少高就多少高,网卡选择桥接,之后正常安装ubuntu16.04,不要安装其他服务

配置ubuntu虚拟机

更新一下系统 sudo apt update && sudo apt upgrade 重启系统 之后openssh要安装上,之后在自己的实体机ssh到虚拟机,这样方便复制,还有git也要安装上。 sudo apt install openssh-server sudo apt install git 接着给root用户设置密码 sudo passwd root 配置openssh使root用户可以登录 修改 sudo vim /etc/ssh/sshd_config PermitRootLogin 修改为yes 之后重启ssh服务,在实体机用root登录 sudo service ssh restart

创建openstack用户,并且配置

创建用户 sudo useradd -s /bin/bash -d /opt/stack -m stack 让stack用户在使用sudo的时候不需要密码 echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack 切换到stack用户 sudo su - stack

安装下载devstack

因为国内的环境问题,所以下载的时候推荐使用trystack.cn的镜像 先创建一个文件夹 mkdir openstack cd openstack/ git clone http://git.trystack.cn/openstack-dev/devstack

修改local.conf文件

cd devstack/ 创建local.conf touch 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://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img"

HOST_IP=192.168.1.107


# Credentials
DATABASE_PASSWORD=woyaoxuehuilinux
ADMIN_PASSWORD=woyaoxuehuilinux
SERVICE_PASSWORD=woyaoxuehuilinux
SERVICE_TOKEN=woyaoxuehuilinux
RABBIT_PASSWORD=woyaoxuehuilinux

HORIZON_BRANCH=master
KEYSTONE_BRANCH=master
NOVA_BRANCH=master
NEUTRON_BRANCH=master
GLANCE_BRANCH=master
CINDER_BRANCH=master


#keystone
KEYSTONE_TOKEN_FORMAT=UUID

##Heat
HEAT_BRANCH=master
enable_service h-eng h-api h-api-cfn h-api-cw


## Swift
SWIFT_BRANCH=master
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44136573e209e


# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron

## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.1.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.1.102,end=192.168.1.110
PUBLIC_NETWORK_GATEWAY="192.168.1.2"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

# #VLAN configuration.
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True

# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

下面这三句话是使用trystack.cn的openstack镜像的意思

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

上面这个配置文件有几个地方是要你去修改的 HOST_IP=192.168.1.107 你的主机ip

DATABASE_PASSWORD=woyaoxuehuilinux
ADMIN_PASSWORD=woyaoxuehuilinux
SERVICE_PASSWORD=woyaoxuehuilinux
SERVICE_TOKEN=woyaoxuehuilinux
RABBIT_PASSWORD=woyaoxuehuilinux

上面是一些openstack dashboard或者数据库等密码

HORIZON_BRANCH=master
KEYSTONE_BRANCH=master
NOVA_BRANCH=master
NEUTRON_BRANCH=master
GLANCE_BRANCH=master
CINDER_BRANCH=master

上面的master表示你下载的openstack所在的git分支,使用master就好了 SWIFT_BRANCH=master HEAT_BRANCH=master 这上面两个参数也同理 FLOATING_RANGE="192.168.1.0/24" 这个参数的ip地址要和你的主机的ip地址处于同一网段 其他的参数自己研究把,反正不影响安装,记住百度很重要

安装

在这下面我会把我安装的时候碰到的错误详细的说出来 首先执行 ./stack.sh 同志们,长征开始了

第一个报错

fatal: unable to access 'http://git.trystack.cn/openstack/requirements.git/': Failed to connect to git.trystack.cn port 80: Connection timed out 很明显的网络问题,我的方法是把local.conf中

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

注释掉,在每一行前面加上#就好了 接着运行./stack.sh

第二个错误

2017-10-12 03:01:19.251 | ++functions:get_extra_file:66               wget --progress=dot:giga -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz -O /opt/stack/openstack/devstack/files/etcd-v3.1.7-linux-amd64.tar.gz
2017-10-12 03:01:19.262 | --2017-10-12 11:01:19--  https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz
2017-10-12 03:01:19.275 | Resolving github.com (github.com)... 192.30.255.112, 192.30.255.113
2017-10-12 03:01:19.598 | Connecting to github.com (github.com)|192.30.255.112|:443... connected.
2017-10-12 03:01:20.575 | HTTP request sent, awaiting response... 302 Found
2017-10-12 03:01:20.576 | Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/11225014/47a40780-2bfa-11e7-97bb-1a35d6126f1a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20171012%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20171012T030120Z&X-Amz-Expires=300&X-Amz-Signature=5b71e579773819ff1a9eba0bc13ed9d8e6aaf5d42d6a2c0a23c2cec939d1f7ed&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Detcd-v3.1.7-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
2017-10-12 03:01:20.577 | --2017-10-12 11:01:20--  https://github-production-release-asset-2e65be.s3.amazonaws.com/11225014/47a40780-2bfa-11e7-97bb-1a35d6126f1a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20171012%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20171012T030120Z&X-Amz-Expires=300&X-Amz-Signature=5b71e579773819ff1a9eba0bc13ed9d8e6aaf5d42d6a2c0a23c2cec939d1f7ed&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Detcd-v3.1.7-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
2017-10-12 03:01:20.586 | Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.232.11
2017-10-12 03:01:21.051 | Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.232.11|:443... connected.
2017-10-12 03:01:43.524 | Unable to establish SSL connection.

明显又是网络问题 我只要把etcd-v3.1.7-linux-amd64.tar.gz这个包在实体机挂代理下载过来放到/opt/stack/openstack/devstack/files/下就好了 proxychains wget https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz scp etcd-v3.1.7-linux-amd64.tar.gz root@192.168.1.107:/opt/stack/openstack/devstack/files/ 接着运行./stack.sh

最后

幸运的是我碰到的问题不是特别多,而且当你看到下面的样子的时候你的openstack就已经安装完成了 但是安装的时间是真的长,一部电影看样子是不够了,幸好美国派不只有一部

=========================
DevStack Component Timing
=========================
Total runtime    6490

run_process       34
test_with_retry    3
apt-get-update    12
pip_install      382
osc              298
wait_for_service  54
git_timed        4013
dbsync            42
apt-get          787
=========================



This is your host IP address: 192.168.1.107
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.1.107/dashboard
Keystone is serving at http://192.168.1.107/identity/
The default users are: admin and demo
The password: woyaoxuehuilinux

WARNING: 
Using lib/neutron-legacy is deprecated, and it will be removed in the future
With the removal of screen support, tail_log is deprecated and will be removed after Queens


Services are running under systemd unit files.
For more information see: 
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: pike
Change: f56a0ae2eca9c5d77799d85b57ea7dbb7cf601dc Merge "Fix devstack python detection if python3 is missing" 2017-09-14 23:42:06 +0000
OS Version: Ubuntu 16.04 xenial

之后,你可以用浏览器去访问你的openstack dashboard 只要输入你的虚拟机ip地址就可以

登录之后的样子

欢迎关注Bboysoul的博客www.bboysoul.com Have Fun

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏影子

开始食用grpc(之二)

转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9570992.html

5324
来自专栏互联网技术栈

Netflix Archaius 分布式配置管理依赖构件

archaius是Netflix公司开源项目之一,基于java的配置管理类库,主要用于多配置存储的动态获取。主要功能是对apache common config...

1432
来自专栏Seebug漏洞平台

CVE-2017-16943 Exim UAF漏洞分析

作者:Hcamael@知道创宇404实验室 感恩节那天,meh在Bugzilla上提交了一个exim的uaf漏洞:https://bugs.exim.org/s...

4136
来自专栏拂晓风起

Flash 矢量图和位图性能对比 导出为位图/缓存为位图 export as bitmap / cache as bitmap

 大家都知道Flash处理矢量图比位图要慢,而具体的性能上对比也有不少的前人已经做过。

1321
来自专栏deepcc

linux中nodejs后台运行工具forever

3088
来自专栏Java后端技术栈

【面试题】2018年最全Java面试通关秘籍第三套!

注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复...

1251
来自专栏有趣的Python和你

Python数据分析之贴吧的问与答读取数据库获取question列分词词云

1223
来自专栏乐享123

Capture QinQ Large Packets

3369
来自专栏SDNLAB

基于ODL与Pica8交换机端到端的限速实验

一、介绍 本实验中,使用OpenDaylight控制器的REST APIs来控制Pica8交换机。使用flow table与meter table(OF1.3的...

3479
来自专栏刘望舒

Android系统层Watchdog机制源码分析

一:为什么需要看门狗? Watchdog,初次见到这个词语是在大学的单片机书上, 谈到了看门狗定时器. 在很早以前那个单片机刚发展的时候, 单片机容易受到外界工...

2507

扫码关注云+社区

领取腾讯云代金券