Spec Lite:为镜像添加描述字段

项目:

glance

问题:

目前,没有专门的镜像属性来记录镜像的描述信息。在我们的许多客户环境中,用户通常会上传多个镜像。由于用户数量众多,仅通过 name 字段(可能存在重复名称)很难区分镜像的用途。

例如:Nova 和 Cinder 都有 description 字段,并且 description 字段允许记录对象的具体用途。

解决方案:

description 字段作为“通用镜像属性”添加到镜像中。这样它将出现在镜像模式中(有利于互操作性),但将作为用户定义的镜像属性存储(因此不需要任何数据库更改)。您可以在执行 CLI 时使用 --property 来添加 description 属性。

这违反了 Glance 策略,即新的镜像属性应以 os_ 为前缀。由于以下原因,此规范不需要这样做。

  • 根据此提案,description 将作为用户指定的(“自定义”)镜像属性存储在 image_properties 数据库表中。由于它没有存储为 images 表中的新列,因此不会阻止在当前现有镜像上显示任何 description 属性。

  • 可以预期,名为 description 的属性实际上将包含对其属性的镜像的某种描述。因此,我们预计现有 description 镜像属性与将在镜像模式中出现的 description 的描述之间不会出现不一致。

  • 使用名称 description 与其他服务(例如 Nova 和 Cinder)在资源上识别描述元数据保持一致。

CLI 执行示例

$ openstack image create \
    --property description='This is a test image file.' \
    --file cirros-0.3.4-x86_64-disk.img \
    --disk-format qcow2 \
    --container-format bare \
    test_image
替代方案:

不执行任何操作,鉴于用户已经可以创建这样的属性。但是,这种替代方案的缺点是它没有为本地实践提供一致性指南,这反过来会使互操作性成为问题。

时间线:

包含在 Stein 版本中。

链接:

https://review.openstack.org/620433

审核人员:

Brian Rosmaita

负责人:

张斌