#ansible
#ansible
Вопрос:
У меня есть досье(a_file.txt ) вот так:
22
23
8080
Мне нужно зациклить каждый элемент в a_file.txt с моим хостом и отформатирован как host: 22, host: 23, host: 8080 … и так далее, так что я могу использовать модуль оболочки в playbook следующим образом:
---
- hosts: host1
tasks:
- name: Remote hostname
shell: hostname
register: hostname
- name: Read items from a_file.txt
shell: cat a_file.txt
register: item_output
- name: Run shell command
shell: someCommand {{hostname.stdout_line|nice_to_yaml}}:{{item}}
with_items: item_output.stdout_lines
Однако моя someCommand завершилась с ошибкой, потому что у меня:
{{hostname.stdout_line|nice_to_yaml}} = - hostnamen
{{<item in a_file.txt>}} = [u'22, u'23, u'8080]
Ответ №1:
вы должны использовать:
- name: Run shell command
shell: someCommand {{hostname.stdout_line|nice_to_yaml}}:{{item}}
with_items: "{{ item_output.stdout_lines }}"