ubuntu16.04安装devstack O版 all-in-one

致谢:星风雪宇的文章,该文章提供基本思路,然后我借此操作稍加整合。也感谢众多网友的无私奉献。
文章出处:https://blog.csdn.net/weixin_41977332/article/details/104232293

一、实验准备

注意:实验虚拟机的配置至少4C,8G内存。否则可能会因为资源不足会报错。

1.1 配置网卡

1.1.1 更改网卡名称为eth*
root@ubuntu:~# vim /etc/default/grub
......省略.....
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
1.1.2 配置网卡
root@ubuntu:~# vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.134.166
netmask 255.255.255.0
gateway 192.168.134.2
dns-nameserver 223.5.5.5

1.2 配置root远程登录

编辑/etc/ssh/sshd_config文件修改如下:

[root@ubuntu ~]#vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password #默认为禁⽌登录
PermitRootLogin yes #改为允许登录
#PasswordAuthentication yes
PasswordAuthentication yes #打开密码认证,其实默认就是允许通过密码认证登录
#重启sshd服务
systemctl restart sshd

二、配置apt下载源和pip下载源

2.1 修改apt源为国内的清华下载源

清华apt源

vim /etc/apt/sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
更新下载源
sudo apt-get update
sudo apt-get upgrade

2.2 pip下载源的修改

#创建pip.conf
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

三、 安装和配置devstack环境

3.1 创建stack用户

devstack的安装与运行是不允许以root身份运行的,需要一个新创建的stack用户,使用该用户来安装整个环境。创建stack用户并赋予该用户sudo权限。

sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo passwd stack #编辑stack用户的登录密码
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

3.2 切换到stack用户空间下

sudo su stack

3.3 下载源码

因为安装的是O版的版本,指定代码分支为stable/ocata

git clone https://opendev.org/openstack/devstack -b stable/ocata

3.4 切换到stack的devstack目录,创建local.conf,并添加内容如下

具体的变量意义如有兴趣可以到openstack官网或自行搜索,这里不做解释了。

stack@ubuntu:/root$ cd ~/devstack/
vim local.conf
[[local|localrc]]
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=192.168.134.166
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
TEMPEST_REPO=http://git.trystack.cn/openstack/tempest
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2

enable_service placement-api
enable_service placement-client

3.5 运行安装脚本stack.sh进行安装

./stack.sh

如果最后界面出现如下内容,表示安装成功
在这里插入图片描述
如果中间遇到因某个组件pip安装失败导致部署失败,可以在运行./unstack.sh之后手动安装该组件,之后再运行./stack.sh脚本。
安装完成之后,会创建两个新用户admin和demo,我们可以通过如下的命令设置环境变量的值来登陆admin用户

source openrc admin admin

接下来我们就可以使用openstack命令
关机重启之后,利用Screen重启DevStack服务

su - stack
cd devstack
sudo screen -c stack-screenrc

在这里插入图片描述

如上图:5$(L)n-api* 所表示的意思为序号为5的服务,具体服务是n-api(即nova-api),*代表的是当前界面所处的服务。
可以通过指令:ctrl + a + 序号 来切换需要的服务。

四 重点:一些错误问题问题及排错方法

问题一:env: ‘/opt/stack/requirements/.venv/bin/pip’: No such file or directory

解决思路:
在 ~/devstack/local.conf 添加内容:

enable_service placement-api 
enable_service placement-client

在stack用户下执行:

stack@ubuntu:~/devstack$ virtualenv ../requirements/.venv/

问题二:You are using pip version 9.0.3, however version 20.1 is available.解决办法

解决思路:
在/devstack/tools目录下的cap-pip.txt文件中

# cap-pip.txt
pip!=8,<10
修改为:
pip!=8

devstack/tools目录下,找到install_pip.py,或者是ipstall_pip.sh, 找到并注释掉install_get_pip这个函数调用

最后:pip install --upgrade pip安装到最新版本后,重新执行./stack.sh

问题三:(原问题已找不到,在网上找的。和此处的报错基本一致)

1832 static files copied to '/opt/stack/horizon/static'.
+lib/horizon:init_horizon:155              DJANGO_SETTINGS_MODULE=openstack_dashboard.settings
+lib/horizon:init_horizon:155              django-admin compress --force
/opt/stack/devstack/lib/horizon: line 139: 38834 Killed      

解决思路:
内存不够,swap都用满了,系统选择性杀死进程。解决方法。我的是4G之后扩大到8G就好了

问题四:HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out

一般认为安装超时
解决思路:

最好:下载离线包,使用 pip install ******.whl 安装

或者重新安装./stack.sh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值