2016-04-07 9 views
0

Ich möchte einen Wert dynamisch basierend auf den Systemspeicher Informationen von Ohai/Facter gesammelt. Tut mir leid, wenn das offensichtlich ist, aber ich bin neu zu ansible.Dynamisch Wert in Ansible Playbook

In Koch würde ich folgendes tun:

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

Antwort

0

ansible verwendet jinja2 Templating Bibliothek, können Sie mehr Informationen darüber, wie eine Variable in der docs finden. Hier

ein Beispiel:

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

Hinweis: Es kann nicht Mathe Funktionen für Sie laufen; Sie sollten ihm einen vorberechneten Wert geben.

2

Einige Fakten aus ansible im Setup sind in der docs aufgeführt.

Um Ihre Frage zu beantworten, würden Sie etwas sehr ähnlich tun, was Sie in Koch tun:

$ cat template.j2 
jvm_heap = {{ ansible_memtotal_mb *0.6/1024 | int }} 

ansible_memtotal_mb, wie Sie den Wert erraten kann, enthält, in MB des gesamten Speichers.

Die {{ ... }} Syntax ist die Jinja2-Syntax, mit der ansible Ihre Vorlagen rendert.

Verwandte Themen