Templates Jinja2 Ansible模板-需要帮助从变量中删除小数点吗
我正在尝试为一个应用程序构建一个配置文件,该应用程序将提取ansible_memtotal_mb变量,并获取该值的50%,并将其用于服务器进程。挑战在于数学不可避免地返回小数点。应用程序配置文件不喜欢小数位,所以我需要去掉它。这是我尝试做的一个例子。其中percona_memory_pool=“{{ansible_memtotal_mb*ram_multiplier}”Templates Jinja2 Ansible模板-需要帮助从变量中删除小数点吗,templates,ansible,decimal,jinja2,rounding,Templates,Ansible,Decimal,Jinja2,Rounding,我正在尝试为一个应用程序构建一个配置文件,该应用程序将提取ansible_memtotal_mb变量,并获取该值的50%,并将其用于服务器进程。挑战在于数学不可避免地返回小数点。应用程序配置文件不喜欢小数位,所以我需要去掉它。这是我尝试做的一个例子。其中percona_memory_pool=“{{ansible_memtotal_mb*ram_multiplier}” 关键是要确保最终结果转换为int,而不是以小数点显示的浮点 下面是一个仅使用过滤器的示例。(注意:我没有改变你的计算逻辑,但它
关键是要确保最终结果转换为int,而不是以小数点显示的浮点 下面是一个仅使用过滤器的示例。(注意:我没有改变你的计算逻辑,但它看起来并没有给出一致的结果) 其中:
$ ansible-playbook playbook.yml -e percona_memory_pool=16383
PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************
TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "8"
}
PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
$ ansible-playbook playbook.yml -e percona_memory_pool=16384
PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************
TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "2"
}
PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
---
- hosts: localhost
gather_facts: false
tasks:
- debug:
msg: "{{
(percona_memory_pool | int >= 16384)
| ternary((percona_memory_pool | int / 8192), 8)
| round
| int
}}"
$ ansible-playbook playbook.yml -e percona_memory_pool=16383
PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************
TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "8"
}
PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
$ ansible-playbook playbook.yml -e percona_memory_pool=16384
PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************
TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "2"
}
PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0