为自动伸缩组实现‘InstanceId’¶
https://blueprints.launchpad.net/heat/+spec/implement-instanceid-for-autoscalinggroup
我们应该支持 AWS::AutoScaling::AutoScalingGroup 资源的 ‘InstanceId’ 属性,以兼容 AWSCloudFormation。
问题描述¶
在 AWSCloudFormation 中,用户可以指定 ‘InstanceId’ 属性,如果他想创建一个使用现有实例而不是启动配置的自动伸缩组,请参阅
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html
现在在 Heat 中,AWS::AutoScaling::AutoScalingGroup 资源只有 ‘LaunchConfigurationName’ 属性,实现 ‘InstanceId’ 属性会很好。
提议的变更¶
将 ‘LaunchConfigurationName’ 更改为可选属性
添加 ‘InstanceId’ 属性,可选且不可更新
为 AWS::AutoScaling::AutoScalingGroup 资源添加验证,确保选择这两个属性中的一个
修改 _get_conf_properties() 函数
如果指定 ‘InstanceId’,则获取实例的属性,并创建一个临时启动配置资源,然后返回资源及其属性。
请注意,这些属性包括 ImageId、InstanceType、KeyName、SecurityGroups。
如果没有 ‘InstanceId’,则使用旧方法获取启动配置资源及其属性。
备选方案¶
无
实现¶
负责人¶
主要负责人:huangtianhua <huangtianhua@huawei.com>
里程碑¶
- 完成目标里程碑
Kilo-1
工作项¶
支持 ‘InstanceId’ 属性
为该变更添加 UT/Tempest 测试
依赖项¶
无