puppet - 如何计算puppet erb文件中的值

标签 puppet puppet-enterprise

我是 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 %>

你能帮忙吗?

最佳答案

'"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, ',')

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

$array_size = size($array_nodes)

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

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

关于puppet - 如何计算puppet erb文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184222/

相关文章:

windows - Puppet 以错误的顺序执行类

windows - 如何使用 Puppet 基于 32/64 位操作系统动态选择系统文件夹的路径

cassandra - 使用缺少 dsc22 的 Puppet 在 Vagrant Centos 上安装 Cassandra

docker - 将动态数据传递给导出的资源

ubuntu - vagrant puppet 符号链接(symbolic link)问题

ssl - puppet 企业 ssl 证书错误

rubygems - Puppet:在没有预装 Rubygems 的机器上安装 Rubygem-package

linux - puppet 执行命令问题

puppet - 安装和运行 apache2 或 httpd 的平台独立 list