vault playbook password ansible ansible-playbook

playbook - Ansible: ¿Puedo usar la aritmética cuando establezco un valor de variable?



ansible variables (1)

Me gustaría utilizar un hecho del sistema para un host multiplicado por un número / porcentaje como base para una variable. Lo que estoy tratando de hacer específicamente es usar el valor ansible_memtotal_mb y multiplicarlo por .80 para obtener un tamaño de ramsize para luego usarlo al establecer un valor de Couchbase. He estado probando diferentes variaciones de la línea a continuación. No estoy seguro de que sea posible, pero cualquier ayuda sería apreciada.

vars: ramsize: ''"{{ ansible_memtotal_mb }}" * .80''


¡Estás muy cerca! Utilizo cálculos para establecer algunos tamaños de memoria java predeterminados, que es similar a lo que está haciendo. Aquí hay un ejemplo:

{{ (ansible_memtotal_mb*0.8-700)|int|abs }}

Eso muestra un par de cosas: primero, usa matemática jinja , así que haz los cálculos dentro de {{ jinja }} . En segundo lugar, int y abs hacen lo que cabría esperar, asegúrese de que el resultado sea un entero sin signo.

En su caso, el código correcto sería:

vars: ramsize: "{{ ansible_memtotal_mb * 0.8 }}"