首页 > 解决方案 > OpenStack 多节点设置不在仪表板上显示 VM 映像

问题描述

我是 OpenStack 的新手,我使用 DevStack 配置了一个多节点开发环境,目前由一个控制器和两个节点组成。我按照官方文档,使用了官方 git repo中的 DevStack 开发版本。控制器是在全新的 Ubuntu Server 16.04 中设置的。我使用我在此处提供的一些脚本自动化了文档中描述的所有步骤。

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

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

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

openstack --version开放堆栈 3.16.1

glance --version一览 2.12.1。

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

更新 1

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

更新 2

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

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

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 |
----------------------------------------------------

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

标签: openstackdevstackopenstack-horizonopenstack-glance

解决方案


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

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

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


推荐阅读