DevStack方式安装queens版openstack

最近在学习openstack,在安装阶段就遇到了很多问题,特把安装过程记录如下,经笔者验证能正确安装openstack。

说明:安装后即为中文版。

2019/01/29:

安装环境:

宿主: Ubuntu 16.04 xenial

Hypervisor: kvm

虚拟机: Ubuntu 16.04 xenial

DevStack Version: queens

 

安装步骤:

1、在ubuntu16.04中把source.list改成阿里云

在更改之前备份:

$sudo cp //etc/apt/sources.list /etc/apt/sources.list.bak

 备份后再修改sources.list文件中的内容:

$sudo gedit /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-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

 

2、然后更新:

$sudo apt-get update

 

3、安装git:

$apt-get install git

 

4、安装Pip

如你的系统中装的是 Python 2,则:

$sudo apt-get install python-pip

 检查 pip 是否安装成功

$pip -V

 

如你的系统中装的是 Python 3,则:

$sudo apt-get install python3-pip

 

5、创建文件 /mao/.pip/pip.conf(mao为用户名)

如我用mao帐号登录后,用户主目录为:/home/mao

在文件路径/home/mao下创建文件夹.pip,然后在.pip中创建文件:pip.conf

即文件路径为:/mao/.pip/pip.conf (文件夹要加“.”,表示是隐藏文件夹)

打开pip.conf文件编辑,内容如下:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

上述配置意为:把pip的源换成豆瓣源

 

6、创建stack用户

因为DevStack需要运行在一个非root并且支持sudo的用户上。以下是快速建立一个用户并赋予sudo权限的命令:

$sudo useradd -s /bin/bash -d /opt/stack -m stack

$echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

 

之后需要切换到这个用户:

$ sudo su - stack

这个命令的作用是,它与su的不同之处在于su只切换了用户身份,而su -切换了整个用户环境,当前工作目录和环境变量都变了。这时,stack用户的工作目录/opt/stack也创建好啦。

 

7、之后便可以下载DevStack了:

$ git clone https://git.openstack.org/openstack-dev/devstack -b stable/queens

$ cd devstack

 

 8、在devstack目录下创建local.conf文件,其中内容为:

[[local|localrc]]

ADMIN_PASSWORD=secret #设为你真实设置的密码

DATABASE_PASSWORD=$ADMIN_PASSWORD

RABBIT_PASSWORD=$ADMIN_PASSWORD

SERVICE_PASSWORD=$ADMIN_PASSWORD

 

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

 RECLONE=True

 DOWNLOAD_DEFAULT_IMAGES=False

IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

 

9、可以运行部署脚本:

在/opt/stack/devstack目录中执行下面脚本文件:

$ ./stack.sh

 

10、可能出现的问题

raise ReadTimeoutError(self._pool, None, 'Read timed out.')

ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

You are using pip version 9.0.3, however version 19.0.1 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

这个问题很可能是防火墙没关闭。

 

下面为可能用到的命令:

开启防火墙

$ufw enable #重启后才会生效

 关闭防火墙

$ufw disable #重启后才会生效

 查看防火墙状态

sudo ufw status

 

跟新pip源

sudo -H python -m pip install --upgrade pip

 

改变/opt/stack/.cache目录的所有者:chown -R stack:stack /opt/stack/.cache/pip/

 

在经过约3个小时的安装后,最终的成功的显示如下所示:

/^\[\[.+\|.*\]\]/ {

            gsub("[][]", "", $1);

            split($1, a, "|");

            if (a[1] == matchgroup)

                print a[2]

        }

    ' /opt/stack/devstack/local.conf

+./stack.sh:main:1465                      set +o xtrace

 

=========================

DevStack Component Timing

 (times are in seconds) 

=========================

run_process           77

test_with_retry        5

apt-get-update        17

pip_install          828

osc                  257

wait_for_service      39

git_timed            219

dbsync               351

apt-get               29

-------------------------

Unaccounted time     1278

=========================

Total runtime        3100

 

 

 

This is your host IP address: 192.168.122.142

This is your host IPv6 address: ::1

Horizon is now available at http://192.168.122.142/dashboard

Keystone is serving at http://192.168.122.142/identity/

The default users are: admin and demo

The password: ******

 

WARNING:

Using lib/neutron-legacy is deprecated, and it will be removed in the future

 

 

Services are running under systemd unit files.

For more information see:

https://docs.openstack.org/devstack/latest/systemd.html

 

DevStack Version: queens

Change: bbb6b0c2409278a4c9266c39bd1f5d91f7066bb8 Fix version comparison for SUSE Linux Enterprise 12 2019-01-25 01:05:58 +0000

OS Version: Ubuntu 16.04 xenial

 

2019-01-29 03:07:38.627 | stack.sh completed in 3100 seconds.

stack@ms9698:~/devstack$

 

然后,你可在浏览器中输入:http://192.168.122.142/dashboard 来访问horizon

IP:192.168.122.142为安装openstack主机的地址,初始帐号为:admin  password为你在local.conf文件中设置的密码。

 good luck for you !

转载于:https://www.cnblogs.com/maoyg/p/10547964.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dev c++ 报错[Error] ld returned 1 exit status 的解决办法

我是个C语言的初学者,在使用dev c 编译器时,遇到一个情况:程序是正确的,能够正常的编译和运行,但是运行一次之后再次运行之时就出现了 报错[Error] ld returned 1 exit status,出现这个问题的原因是&#x…

2008年12月答疑贴

有问题请在此贴跟贴回复,我亦会在此贴回复。 请不要到无关的帖子中跟帖 请尽量描述清楚你的问题和需要,我的理解能力不是很强,呵呵。 请您遵守以下规则: 提问内容中请不要出现 感叹号,跪求等字样。 请尽量不要称呼我为…

androidmanifest.xml权限中文说明

程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下: android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” t…

C语言使用scanf()函数时,%c前面和后面分别加上空格后的结果

在使用scanf()读取输入的字符时,当转换说明为%c时,"%c"、" %c"、"%c " 这三种不同的写法,对数据读取的结果有什么影响吗,答案是肯定的,%c 加不加空格,空格在前还是在后&am…

Python -- 自动导入所需要的模块

try: import xlwtexcept ImportError as e:   import os   print(e)   os.system("pip install xlwt")转载于:https://www.cnblogs.com/xlx12138/p/10551894.html

借助Apache Hadoop大规模扩展Apache Solr实时实时索引

播客的第22集是与Patrick Hunt的谈话 我们讨论了Apache Solr(上游)中的新工作,使它可以在Apache Hadoop上工作。 Solr支持将其索引和事务日志文件写入和读取到HDFS分布式文件系统。 这不使用Hadoop Map-Reduce处理Solr数据,而是仅…

C语言,关于getchar()清空回车符的几点经验

最近被getchar()弄的有点糊涂&#xff0c;现在基本缕清了。 拿程序举个例子&#xff1a; #include<stdio.h> int main(void) {char ch1,ch2;printf("Iam testing *********.\n");printf("So hard! ***********\n");ch1getchar();printf("$$$$$…

面试中关于多线程同步,你必须要思考的问题

ReentrantLock的实现网上有很多文章了&#xff0c;本篇文章会简单介绍下其java层实现&#xff0c;重点放在分析竞争锁失败后如何阻塞线程。因篇幅有限&#xff0c;synchronized的内容将会放到下篇文章。 Java Lock的实现 ReentrantLock是jdk中常用的锁实现&#xff0c;其实现逻…

C语言学习,关于fflush 和setvbuf

最近学习C语言的时候&#xff0c;学到文件的输入和输出函数&#xff0c; 对fflush和setvbuf 一直很困惑&#xff0c;现在虽然没有解开&#xff0c;但是有了一点浅显的理解。 1、ffulsh 针对的是输出流&#xff0c;是将输出缓存中的数据推到指向的文件里。 2、如果想清空输入缓…

可怜的mysql

唉&#xff0c;今天刚看到新闻&#xff0c;mysql 5.1 GA 虽然正式发布&#xff0c;但是却有一堆bug。 连mysql的创始人自己都批评sun不应该在未修复重大bug的前提下发布mysql 5.1 GA. 可怜的mysql,可怜的sun转载于:https://www.cnblogs.com/nevernet/archive/2008/12/04/134726…

linux查看用户、创建用户、设置密码、修改用户、删除用户命令

查看用户 tail -1 /etc/passwd tail -1 /etc/shadow id alex echo 123 |passwd --stdin alex # 设置密码&#xff0c;不需要交互[rootlocalhost ~]# tail -l /etc/passwd rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS …

c# 笔记 数据类型转换 数组 函数

1、数据类型的转换&#xff08;cast&#xff09;包括隐性转换和显性转换。 当目标类型一定能满足源类型转换后的要求的话就是隐性转换&#xff0c;不需要任何代码直接转换&#xff0c;如果目标类型不一定能满足源类 型转换后的要求的话就是显性转换&#xff0c;显性转换需要在要…

使用外星人进行测试:如何使用Arquillian测试JPA类型转换器

该帖子与 Aslak Knutsen &#xff08; aslakknutsen &#xff09;一起撰写。 JPA类型转换器为定义实体属性如何持久存储到数据库提供了一种简便的方法。 您可以使用它们来实现许多不同的功能&#xff0c;例如&#xff0c;如上一篇文章中所示&#xff1a;加密数据&#xff1a; …

关于 C语言的 按位取反 ~

1、相关概念&#xff1a; 不管是正整数 还是 负整数在计算机中都是以 补码的形式存在的&#xff1b; 取反&#xff1a;0变1&#xff0c;1变0 就叫做取反&#xff0c;取反 符号位也要改变&#xff1b; 反码&#xff1a;符号位不变&#xff0c;其他位置0变1&#xff0c;1变0&a…

英语句型之展现问题篇3

表达不确定的用词&#xff1a;May, seem, be likely to, possible, probably, perhaps, be said that, be said to...51. In my mind, the following factors/reasons/causes need to be taken into consideration我认为&#xff0c;我们需要考虑下列因素/原因&#xff1a;52. …

【noip模拟赛5】任务分配 降维dp

描述 现有n个任务,要交给A和B完成。每个任务给A或给B完成&#xff0c;所需的时间分别为ai和bi。问他们完成所有的任务至少要多少时间。 输入 第一行一个正整数n&#xff0c;表示有n个任务。接下来有n行&#xff0c;每行两个正整数ai&#xff0c;bi。 输出 一个数&#xff0c;他…

解决win7下无法安装突击者NO.69驱动,“WINDOWS已找到设备的驱动程序,但在试图安装它时错误”...

本人装的是win7旗舰版&#xff0c;由于是ghost安装的&#xff0c;缺少一些文件&#xff0c;之前一直无法正确安装突击者电子狗的驱动程序&#xff0c;老是显示“WINDOWS已找到设备的驱动程序&#xff0c;但在试图安装它时错误”&#xff0c;baidu、google了几天都没解决&#x…

C语言 按位或 正整数与负整数 之间

按位或&#xff1a; 两个位 比对时&#xff0c;如果有一个位 为1&#xff0c;结果就为1&#xff1b; 按位或 时 &#xff0c;都是 按照补码来比对的 &#xff0c;正数的补码 是 本身&#xff0c;负数的补码 不是本身 所以 正负数按位或 要注意&#xff1a; 举例子&#xff1a;…

使用自定义日志记录处理程序在JBoss AS 7中跟踪SQL语句

使用ORM从您的特定数据库中提取数据&#xff0c;并让它创建和发布您必须亲自编写的所有SQL语句似乎很方便。 这就是使ORM解决方案受欢迎的原因。 但是它也有一个缺点&#xff1a;由于ORM为您做了很多工作&#xff0c;因此您在某种程度上失去了对生成的SQL的控制&#xff0c;您…

C语言 >> 右移位运算符的原理和一些概念

1、右移位于左移位不同 左移位 不管是 逻辑移位 算术移位 都是低位补0&#xff1b; 右移位 的 逻辑移位和算术移位不同&#xff0c; 算术移位高位补符号位&#xff0c;逻辑移位 高位补0&#xff1b; 右移位 使用逻辑移位的话 需要强制转换成unsigned 无符号型&#xff1b; 2…