我想根据ohai / facter收集的系统内存信息动态设置一个值。对不起,如果这应该是显而易见的,但我是ansible的新手。
在厨师中我会做以下事情:
jvm_heap = "#{(node.memory.total.to_i * 0.6 ).floor / 1024}m"
答案 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 }}
注意:它无法为您运行数学函数;你应该给它一个预先计算的值。