Ansible читает несколько переменных с одинаковым именем из vars_file

В моем ~/ip_vars_file у меня есть

ip : 10.20.30
ip : 10.20.31
ip : 10.20.32

Это создается с помощью lineinfile,

lineinfile: line="ip{{':'}} {{item.public_ip}}"
              dest="{{ansible_env.HOME}}/ip_vars_file}}"
with_items: servers.tagged_instances #servers is registered in previous task

Я не могу прочитать все три IP-адреса как with_items. Я получаю только последний IP в моем плейбуке.

---
- hosts: localhost
  tasks:
  - name: print ips
    debug:
      var: item 
    with_items: "{{ ip }}"

  vars_files:
  - ~/ip_vars_file

Я получаю следующий результат:

TASK [print ips] ***************************************************************
ok: [localhost] => (item=10.20.32) => {
    "item": "10.20.32"
}

Результат, который я хочу, выглядит примерно так

TASK [print ips] ***************************************************************
ok: [localhost] => (item=10.20.32) => {
    "item": "10.20.30"
    "item": "10.20.31"
    "item": "10.20.32"
}

Я хочу перебирать IP-адреса один за другим. Как мне этого добиться?

По сути, я хочу сохранить IP-адреса экземпляров при запуске и использовать их позже во время развертывания. Но я застрял, когда запускаю несколько экземпляров с тем же именем


person Charan    schedule 27.04.2017    source источник


Ответы (1)


Вы хотите определить список:

---
ip:
  - 10.20.30
  - 10.20.31
  - 10.20.32
person techraf    schedule 27.04.2017
comment
Я создаю файл с помощью доступного файла lineinfile, поэтому я не могу изменить способ определения этого файла. - person Charan; 27.04.2017
comment
Редактировал вопрос. По сути, я хочу сохранить IP-адреса экземпляров при запуске и использовать их позже во время развертывания. Но я застреваю, когда запускаю несколько экземпляров с одним и тем же именем. - person Charan; 27.04.2017
comment
Используйте шаблон Jinja2 и сохраните его как список, как в ответе. - person techraf; 27.04.2017
comment
Большое спасибо @techraf, я сохраняю ips в файл в виде списка. - person Charan; 28.04.2017