2

我需要在模板中创建一个可以在主机之间更改的字符串,并且它需要采用以下形式:“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 %}
4

1 回答 1

3

Ansible中有许多方便的查找插件。采取sequence

- hosts: localhost
  gather_facts: yes
  tasks:
    - debug:
        msg: '"cores": "{{ lookup("sequence","start=0 count="+(ansible_processor_cores|string)) }}"'
于 2017-01-25T13:01:20.727 回答