2

我有一个 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 可以通过大多数方法做到这一点

4

0 回答 0