支持 cinder 卷类型管理

https://blueprints.launchpad.net/heat/+spec/cinder-volume-type

Cinder 卷类型是在创建卷时的一个重要参数,它可以指定卷后端以及是否支持一致性组等。在 heat 中支持 OS::Cinder::VolumeType 资源管理将会很有帮助。

请注意,默认情况下,只有具有 admin 角色的用户才能管理卷类型,这是因为 Cinder 中的默认策略。

问题描述

目前卷类型需要在 heat 外部进行管理,并作为参数传递到 stack 中。此 spec 定义了如何在同一个模板中创建卷和卷类型。

提议的变更

添加 OS::Cinder::VolumeType 资源,如下所示

resources:
  my_volume_type:
    type: OS::Cinder::VolumeType
    properties:
      name: volumeBackend
      metadata: {volume_backend_name: lvmdriver}

请注意,由于上述 admin 限制,新的资源将被添加到 /contrib 目录中。

备选方案

使用场景

对于卷创建,使用 volume_type 来指定 lvm-driver

resources:
  my_volume:
   type: OS::Cinder::Volume
   properties:
     size: 10
     volume_type: {get_resource: my_volume_type}

实现

负责人

主要负责人

huangtianhua <huangtianhua@huawei.com>

里程碑

完成目标里程碑

Kilo-1

工作项

  • 添加 OS::Cinder::VolumeType 资源,实现其基本操作

  • 为该变更添加 UT/Tempest 测试

依赖项