最近在学习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 !