В моем ~/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-адреса экземпляров при запуске и использовать их позже во время развертывания. Но я застрял, когда запускаю несколько экземпляров с тем же именем