3.5. 在镜像导入时注入元数据,以控制虚拟机启动位置

最终用户可以将镜像上传到镜像服务,并使用这些镜像启动虚拟机。这些用户提供的(非 admin)镜像必须在特定的计算节点上启动。实例分配到计算节点由镜像元数据属性控制。

Image Property Injection 插件在导入过程中将元数据属性注入镜像。通过编辑 glance-image-import.conf 文件的 [image_import_opts] 和 [inject_metadata_properties] 部分来指定属性。

要启用 Image Property Injection 插件,请在 [image_import_opts] 部分添加以下行:

[image_import_opts]
image_import_plugins = [inject_image_metadata]

要将元数据注入限制到特定用户提供的镜像,请设置 ignore_user_roles 参数。例如,使用以下配置将 property1 的值和 property2 的两个值注入任何非 admin 用户下载的镜像中。

[DEFAULT]
[image_conversion]
[image_import_opts]
image_import_plugins = [inject_image_metadata]
[import_filtering_opts]
[inject_metadata_properties]
ignore_user_roles = admin
inject = PROPERTY1:value,PROPERTY2:value;another value

参数 ignore_user_roles 是插件忽略的身份服务(keystone)角色的逗号分隔列表。这意味着,如果进行镜像导入调用的用户具有任何这些角色,则插件不会将任何属性注入到镜像中。

参数 注入 是一个以逗号分隔的属性和值列表,注入导入的镜像记录中。每个属性和值都必须用冒号 (':') 分隔。

您可以在镜像服务源代码树的 etc/ 子目录中找到 glance-image-import.conf 文件。确保您正在寻找 Red Hat OpenStack Platform 发行版本的正确分支。