Implement BlockDeviceMappings for AWS::AutoScaling::LaunchConfiguration¶
Include the URL of your launchpad blueprint:
https://blueprints.launchpad.net/heat/+spec/implement-launchconfiguration-bdm
We should support the BlockDeviceMappings for AWS::AutoScaling::LaunchConfiguration resource to be compatible with AWSCloudFormation. And therefore, user can specify volumes to attach to instances while AutoScalingGroup/InstanceGroup creation.
Problem description¶
Now in Heat, the AWS::AutoScaling::LaunchConfiguration resource doesn’t implement ‘BlockDeviceMappings’ property to indicate the volumes to be attached. There are two problems:
1. First, it’s incompatible with AWSCloudFormation. In AWSCloudFormation, ‘BlockDeviceMappings’ support the ‘SnapshotId’, user can specify a snapshot, then a volume will be created from the snapshot, and the volume will be attached to the instance.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html
2. Second, user can’t specify volumes to be attached to instances which in AutoScalingGroup/InstanceGroup while creation.
So, we should support the ‘BlockDeviceMappings’ for AWS::AutoScaling::LaunchConfiguration.
Proposed change¶
Implement ‘BlockDeviceMappings’ property for AWS::AutoScaling::LaunchConfiguration resource, specially in which user can specify the ‘SnapshotId’.
Alternatives¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
<huangtianhua>
Milestones¶
- Target Milestone for completion:
Juno-2
Work Items¶
Support the BlockDeviceMappings for AWS::AutoScaling::LaunchConfiguration resource
Add UT/Tempest for the change
Add a template for AWS::AutoScaling::LaunchConfiguration with BlockDeviceMappings
Dependencies¶
https://blueprints.launchpad.net/heat/+spec/implement-ec2instance-bdm