为 AWS::AutoScaling::LaunchConfiguration 实现 BlockDeviceMappings

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/heat/+spec/implement-launchconfiguration-bdm

我们应该支持 AWS::AutoScaling::LaunchConfiguration 资源的 BlockDeviceMappings,使其与 AWSCloudFormation 兼容。因此,用户可以在 AutoScalingGroup/InstanceGroup 创建时指定要附加到实例的卷。

问题描述

目前在 Heat 中,AWS::AutoScaling::LaunchConfiguration 资源没有实现 ‘BlockDeviceMappings’ 属性来指示要附加的卷。存在两个问题

1. 首先,它与 AWSCloudFormation 不兼容。在 AWSCloudFormation 中,‘BlockDeviceMappings’ 支持 ‘SnapshotId’,用户可以指定一个快照,然后将从快照创建卷,并将该卷附加到实例。

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html

2. 其次,用户无法在创建 AutoScalingGroup/InstanceGroup 时指定要附加到实例的卷。

因此,我们应该支持 AWS::AutoScaling::LaunchConfiguration 的 ‘BlockDeviceMappings’。

提议的变更

  1. 为 AWS::AutoScaling::LaunchConfiguration 资源实现 ‘BlockDeviceMappings’ 属性,特别是用户可以指定 ‘SnapshotId’ 的情况。

备选方案

实现

负责人

主要负责人

<huangtianhua>

里程碑

完成目标里程碑

Juno-2

工作项

  1. 支持 AWS::AutoScaling::LaunchConfiguration 资源的 BlockDeviceMappings

  2. 为该变更添加 UT/Tempest 测试

  3. 添加带有 BlockDeviceMappings 的 AWS::AutoScaling::LaunchConfiguration 模板

依赖项

https://blueprints.launchpad.net/heat/+spec/implement-ec2instance-bdm