1
具有相同名稱的多個變量在我~/ip_vars_file
,我有Ansible讀取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
我無法讀取所有三個IPS作爲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"
}
我想遍歷IPS一個接一個。我如何實現這一目標?
基本上,我想在啓動時存儲實例的ips並在部署期間稍後使用它們。但我堅持,當我啓動多個實例具有相同名稱的
我使用ansible lineinfile創建文件,所以我不能改變我的定義文件的方式。 – Charan
我編輯了這個問題。基本上,我想在啓動時存儲實例的ips,並在部署期間稍後使用它們。但是當我啓動具有相同名稱的多個實例時,我被卡住了。 – Charan
使用Jinja2模板並將其保存爲答案中的列表。 – techraf