如何让OS::Heat::ResourceGroup的%index%从1开始计数?
解决OS::Heat::ResourceGroup中%index%从1开始计数的问题
直接在字符串里写%index% + 1会被当成纯字符串处理,导致get_param无法识别为合法的整数索引,因此触发报错。需要用Heat的yaql表达式完成数值运算,具体配置修改如下:
resources: server_group: type: OS::Heat::ResourceGroup properties: count: 3 resource_def: type: OS::Nova::Server properties: name: { get_param: [ server_names, yaql: int($.heat_resource_group.index) + 1 ] }
说明:
$.heat_resource_group.index是ResourceGroup为每个实例暴露的内置索引变量(默认从0开始)- 通过
int()将其转为整数后执行+1运算,得到从1起始的索引值 - 运算结果直接作为
get_param的索引参数,满足整数类型要求
内容的提问来源于stack exchange,提问作者Phuoc Phan
相关产品推荐
相关产品推荐

