如何计算puppet erb文件中的值

时间:2015-07-02 12:05:58

标签: puppet puppet-enterprise

我是傀儡的新手并且真的需要一些帮助:

我的应用程序my_app.pp值有以下值:

akka_application_cluster_seed_nodes => '"akka.tcp://ActorSystem@host1:2551","akka.tcp://ActorSystem@host2:2551","akka.tcp://ActorSystem@host3:2551"'

现在在我的erb文件中min-nr-of-members值应该通过将akka_application_cluster_seed_nodes数组的大小除以2加1来计算

 $min-nr-of-members = $akka_application_cluster_seed_nodes.size/2 +1

例如:

  auto-down-unreachable-after = <%= get_param('akka_cluster_auto_down_unreachable_after')%>

and something like this:
      <% $cluster= get_param('akka_cluster_auto_down_unreachable_after') %>
      <% $minNumOfNodes = ($cluster.size / 2)+1 %>

min-nr-of-members = <% $minNumOfNodes %>

你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

'"akka.tcp://ActorSystem@host1:2551","akka.tcp://ActorSystem@host2:2551","akka.tcp://ActorSystem@host3:2551"'

不是木偶中的数组。 使用split函数从中创建一个数组:

$array_nodes = split($akka_application_cluster_seed_nodes, ',')

接下来使用stdlib中的size函数计算puppet中的数组大小,并计算所需的值:

$array_size = size($array_nodes)

然后在你的erb文件中使用它:

min-nr-of-members = <%= Integer(@array_size) / 2 + 1 %>