设置root密码 并切换到root(已设置可跳过)
sudo passwd root
su
更换pip源
mkdir ~/.pip
sudo vi ~/.pip/
填入以下内容:
[global]
index-url = /simple
trusted-host =
安装软件包
apt-get install bridge-utils git vim python3-pip -y
创建stack用户 并给予权限
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc//stack
sudo su stack
修改github的host(无网络问题可跳过)
sudo vi /etc/hosts
加入以下内容:
#github
140.82.113.4
199.232.5.194
没有DNS缓存的情况下不用重启也能生效,无效的话可以看ubuntu 修改hosts生效
下载devstack[指定victoria版本]
这里注意一定要安装稳定版本,不然会有很多小问题。
sudo git clone /openstack-dev/ --branch stable/victoria /opt/devstack
sudo chown -R stack:stack /opt/devstack
sudo chmod -R 777 /opt/devstack
配置devstack
cd /opt/devstack
vim
填入以下内容:
[[local|localrc]]
ADMIN_PASSWORD=[your_own_password]
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
#Use mirror
GIT_BASE=
NOVNC_REPO=/kanaka/
SPICE_REPO=/git/spice/
可能遇到问题 (仅当github无法访问时使用,如果网络没有问题可跳过此步)
可自行下载 然后移动文件到以下目录:
/opt/devstack/files/cirros-0.5.2-x86_64
/opt/devstack/files/etcd-v3.3.
安装
执行:
sudo su stack
./
安装成功
shell 显示:
DevStack Version: yoga
Change: 194790df855f55a9c304e2ccd70b956392e208bc Merge "Clean up unified limits configuration for nova and glance" 2022-03-18 19:26:28 +0000
OS Version: Ubuntu 20.04 focal
在命令行执行openstack命令
输入命令:
openstack compute service list --service nova-compute
出现该报错【Missing value auth-url required for auth plugin password】。
vim /opt/devstack/
在任意目录,本文在/opt/devstack
建立文件。内容如下:
export OS_USERNAME=admin
export OS_PASSWORD=[your_own_password]
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://[your_host_ip]/identity
export OS_IDENTITY_API_VERSION=3
然后执行:
source
可能遇到的问题
1. TypeError: load() missing 1 required positional argument: ‘Loader‘
修改报错位置方法为:
yaml.safe_load()
修改完成后记得:
./
./
2. [ERROR] /opt/devstack/lib/glance:480 g-api did not start
sudo systemctl status devstack@
可以看到实际是已经启动了的。查看配置文件没有问题,访问 19292端口也正常,但是/image 这个url 是503。 说明是endpoint注册有问题。
然后查看endpoint:
openstack endpoint list
也没有问题。
说明可能是apach2的配置有问题
cd /etc/apache2/site-avilable
ls
发现有一份过期的glance配置,删除,然后重启apache2
sudo systemctl restart apache2
访问[host]/image 成功。