如何根据条件在 Ansible 模板中设置连接的字符串变量
How to set concatenated string variable in Ansible template based on a condition
我需要在模板中创建一个可以在主机之间更改的字符串,它需要采用以下形式:
"cores": "0,1,2,3"
本例中字符串为“0,1,2,3”的原因是主机有 4 个处理器内核。
所以我遇到了一些对我来说太复杂的事情,我什至不确定如何在我的模板文件中使用这个 core_count 变量。
{% set core_count = '' %}
{% for i in range(ansible_processor_cores) %}
{% set core_count = core_count ~ i %}
{% if not loop.last %}
{% set core_count = core_count ~ ',' %}
{% endif %}
{% endfor %}
Ansible 中有许多方便的 lookup 插件。取sequence
:
- hosts: localhost
gather_facts: yes
tasks:
- debug:
msg: '"cores": "{{ lookup("sequence","start=0 count="+(ansible_processor_cores|string)) }}"'
我需要在模板中创建一个可以在主机之间更改的字符串,它需要采用以下形式: "cores": "0,1,2,3"
本例中字符串为“0,1,2,3”的原因是主机有 4 个处理器内核。
所以我遇到了一些对我来说太复杂的事情,我什至不确定如何在我的模板文件中使用这个 core_count 变量。
{% set core_count = '' %}
{% for i in range(ansible_processor_cores) %}
{% set core_count = core_count ~ i %}
{% if not loop.last %}
{% set core_count = core_count ~ ',' %}
{% endif %}
{% endfor %}
Ansible 中有许多方便的 lookup 插件。取sequence
:
- hosts: localhost
gather_facts: yes
tasks:
- debug:
msg: '"cores": "{{ lookup("sequence","start=0 count="+(ansible_processor_cores|string)) }}"'