16.5. 在镜像导入中注入元数据来控制虚拟机启动的位置

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

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

要启用镜像属性注入插件,请在 [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 是插件忽略的 Identity 服务(keystone)角色的逗号分隔列表。这意味着,如果使镜像导入调用的用户具有任何这些角色,则插件不会将任何属性注入镜像中。

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

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