当前位置: 首页 > news >正文

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

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

前期准备:
安装git,升级pip,其他

sudo apt-get install git
sudo apt-get install python-pip
sudo pip install --upgrade pip
sudo pip install -U os-testr

开始安装

  1. 更换apt源为阿里源

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

将文本替换为:

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

注意不同ubuntu版本的系统代号:

- Ubuntu 14.04 (LTS)代号为trusty
- Ubuntu 15.04 代号为vivid - Ubuntu 15.10 代号为wily - Ubuntu 16.04 (LTS)代号为xenial - Ubuntu 18.04 (LTS)代号为bionic 
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 更新

sudo apt-get update
sudo apt-get upgrade

  1. 设定时间同步
  • 设定时区:sudo dpkg-reconfigure tzdata
  • 选择Asia -> 在选择Shanghai -> OK
    同步时间命令:

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

  1. pip更换为豆瓣源

mkdir .pip
vi .pip/pip.conf

写入如下内容:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
  • 1
  • 2
  • 3
  1. 下载devstack,这里目录为~,且下载的为最新版本

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

  1. 创建stack用户

devstack/tools/create-stack-user.sh

  1. 将devstack目录放在/opt/stack下,并设置权限

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

  1. 切换到stack用户,在安装成功前都在stack用户下

sudo su - stack

  1. 创建local.conf配置文件

vi local.conf

写入如下内容:

[[local|localrc]]
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

# 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/sice-html5.git


# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=admin
RABBIT_PASSWORD=admin
#FLAT_INTERFACE=enp0s3

HOST_IP="your vm ip"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

注意:HOST_IP=你自己的vm ip. 使用“sudo ifconfig -a”查询

  1. 切换到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
一次下载不成功,多执行几次上述命令,知道成功为止

  1. 切回到/devstack目录下

cd …

  1. 运行 ./stack.sh

最终成功,我的安装了30-40分钟:
在这里插入图片描述
如果遇到其他问题,主要local.conf
然后清理上次错误配置

./unstack.sh
./clean.sh
然后再执行 ./stack.sh。
如果遇到超时错误(time-out),则直接再次执行./stack.sh

打开chrome,登录:http://172.16.177.128/dashboard, 成功!
在这里插入图片描述
其他问题:
a). 执行./stack.sh报错:
env: ‘/opt/stack/requirements/.venv/bin/pip’: No such file or directory
解决:

  • 在~/devstack/local.conf最后面添加如下两行:
enable_service placement-api 
enable_service placement-client
  • 1
  • 2

然后在stack用户下,执行:

sudo virtualenv ../requirements/.venv/ 
  • 1

b). 卡在“Cloning into ‘/opt/stack/requirements’…
在这里插入图片描述
解决:

  • 更换阿里源,注意对应ubuntu的版本

Reference:
基本参照如下链接,并结合自己的安装情况和遇到的问题,写下本文,诚谢!
https://www.cnblogs.com/love9527/p/8298959.html
并参考:
https://blog.csdn.net/qiqishuang/article/details/51990662

转载于:https://www.cnblogs.com/zpaixx/p/10578067.html

相关文章:

  • Solr笔记二之Solr与Tomcat整合
  • 代码块
  • 【Unity Shaders】《Unity Shaders and Effects Cookbook》总结篇
  • 如何将PPT转成Word格式?好用的格式转换工具!
  • [翻译] RSKImageCropper
  • 独热编码和dummy编码的作用
  • iOS绘图例2:增加Undo/Redo功能
  • grep简单用法及脚本基础篇
  • SysUtils.UpperCase、SysUtils.LowerCase - 大小写转换
  • 使用X-UA-Compatible来设置IE浏览器兼容模式
  • 区块链技术对未来的影响
  • Delphi 2009 新增的 Class Explorer
  • jar包和war包的区别:
  • 新手须知 C、C++和VC++之间的区别
  • Linux权限、用户以及文本处理的一些相关命令
  • 07.Android之多媒体问题
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Apache Pulsar 2.1 重磅发布
  • GitUp, 你不可错过的秀外慧中的git工具
  • Laravel5.4 Queues队列学习
  • select2 取值 遍历 设置默认值
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 阿里云前端周刊 - 第 26 期
  • 闭包,sync使用细节
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 跨域
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 扑朔迷离的属性和特性【彻底弄清】
  • 项目实战-Api的解决方案
  • UI设计初学者应该如何入门?
  • 积累各种好的链接
  • ​520就是要宠粉,你的心头书我买单
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #《AI中文版》V3 第 1 章 概述
  • #13 yum、编译安装与sed命令的使用
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (4.10~4.16)
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (层次遍历)104. 二叉树的最大深度
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (学习日记)2024.01.19
  • (转)fock函数详解
  • (转载)利用webkit抓取动态网页和链接
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Core和.Net Standard直观理解
  • .net mvc部分视图
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET 依赖注入和配置系统
  • .net开发引用程序集提示没有强名称的解决办法
  • @RequestMapping 的作用是什么?
  • [ linux ] linux 命令英文全称及解释
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [100天算法】-目标和(day 79)