我有一个 comma_delimited_list 代表固定 IP 的列表,OS::Heat::ResourceGroup
我希望每个节点都会根据他当前的索引获得一个固定的 ip。
我有以下热模板(我只粘贴了相关的):
my_fixed_ips:
type: comma_delimited_list
resources:
MyResource:
type: OS::Heat::ResourceGroup
properties:
count: { get_param: my_node_count }
resource_def:
type: MyTemplate.yaml
properties:
fixed_ip: { get_param: [ my_fixed_ips, %index% ] }
name: myName%index%
当我运行命令时:
openstack stack create TomerProtected -e Environment.env -t Template.yaml -f yaml
我收到错误消息:找到无法启动任何令牌的字符“%”
我尝试将 index_var 设置为其他值(索引而不是 %index%),但我仍然无法从 comma_delimited_list 中获取任何特定值。
我的问题是 - 如何使用 %index% from 迭代 comma_delimited_list OS::Heat::ResourceGroup
?
有任何想法吗?
更新:
我自己找到了一个解决方案,但它并不让我满意:
我已将 index_var 更改为: index 将 comma_delimited_list 和当前索引从该模板传递到 MyTemplate.yaml。从 MyTemplate.yaml 我可以从 comma_delimited_list 中获取特定值:
fixed_ips: [ { "ip_address": { get_param: [ my_fixed_ips, get_param: index ] } } ]
但是从 OS::Heat::ResourceGroup 可以通过大多数方法做到这一点