在ansible playbook中动态设置值

时间:2016-04-07 12:25:16

标签: ansible

我想根据ohai / facter收集的系统内存信息动态设置一个值。对不起,如果这应该是显而易见的,但我是ansible的新手。

在厨师中我会做以下事情:

jvm_heap = "#{(node.memory.total.to_i * 0.6 ).floor / 1024}m" 

2 个答案:

答案 0 :(得分:2)

在设置中从ansible收集的一些事实列在docs

要回答你的问题,你会做一些与你在厨师工作中非常相似的事情:

$ cat template.j2
jvm_heap = {{ ansible_memtotal_mb *0.6 / 1024 | int }}
您可以猜测

ansible_memtotal_mb包含的值,以总内存的MB为单位。

{{ ... }}语法是Jinja2语法,这是ansible用于呈现模板的语法。

答案 1 :(得分:0)

ansible使用jinja2模板库,您可以在docs中找到有关如何使用变量的更多信息。

以下是一个例子:

- hosts: app_servers
  vars:
      app_path: {{ myvariable }}

注意:它无法为您运行数学函数;你应该给它一个预先计算的值。