OpenStack 多节点设置不在仪表板上显示 VM 映像

OpenStack multi-node setup doesn't show VM images on Dashboard

我是 OpenStack 的新手,我使用 DevStack 配置多节点开发环境,目前由一个控制器和两个节点组成。 我跟着official documentation and used the development version of DevStack from the official git repo。控制器是在全新的 Ubuntu Server 16.04 中设置的。 我使用我提供的一些脚本自动化了文档中描述的所有步骤 here.

问题是我注册的 VM 映像没有出现在仪表板上。图片页面是空的。当我安装单节点设置时,一切正常。

当我运行openstack image listglance image-list时,在安装过程中注册的图像如下所示,但它没有出现在仪表板上。

----------------------------------------------------------
| ID                 | Name                     | Status | 
----------------------------------------------------------
| f1db310f-56d6-4f38 | cirros-0.3.5-x86_64-disk | active |
----------------------------------------------------------

openstack --version openstack 3.16.1

glance --version一览2.12.1.

我在谷歌上搜索了很多,但一无所获。 是否有任何特殊配置可以使图像在多节点设置中可用? 谢谢。

更新 1

我尝试将图像设置为共享使用 glance image-update --visibility shared f1db310f-56d6-4f38-b5da-11a714203478,然后使用命令 openstack image add project image_name project_name 将其添加到所有列出的项目 (openstack project list),但它也不起作用。

更新 2

我已将命令 source /opt/stack/devstack/openrc admin admin 包含在我的 ~/.profile 文件中,以便设置所有环境变量。它将用户名和项目名称定义为 admin,但我已经尝试使用默认的 demo 项目和 demo用户名。

脚本定义的所有环境变量如下所示。

declare -x OS_AUTH_TYPE="password"
declare -x OS_AUTH_URL="http://10.105.0.40/identity"
declare -x OS_AUTH_VERSION="3"
declare -x OS_CACERT=""
declare -x OS_DOMAIN_NAME="Default"
declare -x OS_IDENTITY_API_VERSION="3"
declare -x OS_PASSWORD="stack"
declare -x OS_PROJECT_DOMAIN_ID="default"
declare -x OS_PROJECT_NAME="admin"
declare -x OS_REGION_NAME="RegionOne"
declare -x OS_TENANT_NAME="admin"
declare -x OS_USERNAME="admin"
declare -x OS_USER_DOMAIN_ID="default"
declare -x OS_USER_DOMAIN_NAME="Default"
declare -x OS_VOLUME_API_VERSION="3"

当我输入 openstack domain list 时,我得到了下面的域列表。

----------------------------------------------------
| ID      | Name    | Enabled | Description        |
----------------------------------------------------
| default | Default | True    | The default domain |
----------------------------------------------------

如环境变量所示,域设置为默认域。

查看所有安装过程后,问题 是由于 local.conf 文件中定义的浮动 IP 范围不正确。

此类文件中的FLOATING_RANGE变量必须定义为节点网络的子网。比如我的控制器IP是10.105.0.40/24而浮动IP范围是10.105.0.128/25.

我只是忘了更改 FLOATING_RANGE 变量(我使用的是 here 所示的默认值)。