Ansible 如何将发现的值放入循环变量中,使它们位于一行上
如何使用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] }}"
- 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代码