ubuntu20 安装 openstack(使用devstack-victoria)

时间:2025-02-14 08:02:49

设置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 成功。