2

我是 puppet 的新手,真的需要一些帮助:

我的应用程序 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 %>

你能帮忙吗?

4

1 回答 1

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

不是 puppet 中的数组。使用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 %>
于 2015-07-02T15:37:01.330 回答