通用镜像属性¶
在 Glance 中添加镜像时,您可以指定一些通用镜像属性,这些属性可能对使用您的镜像的用户有用。
本文档解释了这些属性的名称和预期值。
这些通用镜像属性也在 JSON 模式中描述,可以在 Glance 源代码中的 /etc/glance/schema-image.json 中找到。
- kernel_id
在 Glance 中存储的镜像 ID,在启动 AMI 风格镜像时应将其用作内核。
- ramdisk_id
在 Glance 中存储的镜像 ID,在启动 AMI 风格镜像时应将其用作 ramdisk。
- instance_uuid
元数据,可用于记录此镜像与哪个实例关联。 (仅供参考,不会创建实例快照。)
- architecture
操作系统架构,如 https://docs.openstack.org/python-glanceclient/2025.2/cli/property-keys.html 中所述
- os_distro
操作系统发行版的通用名称,如 https://docs.openstack.org/python-glanceclient/2025.2/cli/property-keys.html 中所述
- os_version
操作系统版本,由发行版指定。
- description
一个简短的人类可读字符串,适合在用户界面中显示,用于描述镜像。
- cinder_encryption_key_id
在 OpenStack 密钥管理服务中,用于块存储服务在从该镜像创建卷时使用的加密密钥的标识符。
- cinder_encryption_key_deletion_policy
声明镜像服务将删除与 ‘cinder_encryption_key_id’ 镜像属性关联的对象的情况。如果缺少此属性,镜像服务将不采取任何操作。
此文件是默认模式。操作员可以修改 /etc/schema-image.json 以包含任意属性。
警告
不要从此默认模式中删除现有属性,因为这将影响互操作性
此 JSON 模式中每个属性的
type,由type键指定,必须具有值string,即使您添加的属性在常识上不是字符串。例如,如果您想添加一个名为is_removable的属性,并希望其类型为boolean。但是,您必须将type键的值设置为string。否则,当最终用户发出设置其中一个属性的值的调用时,他们将收到 500 错误。这是因为 image_properties 表中的所有内容在数据库中都必须是字符串。但是,API 不会在模式表明它是布尔值或其他非字符串 JSON 数据类型时接受字符串值
注意
如果您的需求更复杂,我们建议使用 metadefs 而不是修改此镜像模式