Ansible 如何将发现的值放入循环变量中,使它们位于一行上

Ansible 如何将发现的值放入循环变量中,使它们位于一行上,ansible,Ansible,如何使用Ansible任务将发现的值放入循环变量中,使它们位于同一行上?我现在有这样的任务 - name: Updating test.conf lineinfile: path: "/root/test.conf" regexp: "test=" line: "test={{ hostvars[item]['ansible_env'].SSH_CONNECTION.split(' ')[2] }}"

如何使用Ansible任务将发现的值放入循环变量中,使它们位于同一行上?我现在有这样的任务

- name: Updating test.conf
  lineinfile:
    path: "/root/test.conf"
    regexp: "test="
    line: "test={{ hostvars[item]['ansible_env'].SSH_CONNECTION.split(' ')[2] }}"
    state: present
  with_nested: 
    - "{{groups['app']}}"
它需要在调用作业时,从应用程序组中的服务器获取IP地址,并将它们放在一行上。目前,它会执行两次这样的替换,并用它们替换,最后测试参数中只有一个地址

我需要这样的任务后的格式:

test=1.1.1.1, 2.2.2.2

虽然jinja2深受python的启发,但它不允许您执行所有相同的操作。要加入列表,您必须执行以下操作:

- debug:
    msg: "{{ myvar | join(',') }}"
  vars:
    myvar:
      - foo
      - bar
如果有疑问,请始终使用带有调试任务的简单playwook来验证您的jinja代码