Я пытаюсь выработать способ сократить строки кода для различных модулей, повторяя строфы, кажется бессмысленным. Я хотел бы использовать поиск csvfile, чтобы заполнить пробелы. Возьмем, например, следующие CSV:Ansible - используя {{item}} с поиском csvfile
# groups.csv
# name, gid [optional - leave blank], state [present|absent], system [yes|no]
accounts,502,present,no
engineering,504,present,no
Итак, у меня есть все определения моей группы в формате csv. Проблема в том, что, обрабатывая его, независимо от того, что я пытаюсь, я не могу заставить поиск работать внутри модуля групп. Так первоначально, я хотел бы сделать это:
---
- hosts: localhost
become: True
become_user: root
tasks:
- name: get groups
command: /usr/bin/awk -F',' '!/^#/ && !/^$/ { print $1 }' groups.csv
register: groups_out
- debug: var=groups_out.stdout_lines
- name: Process groups
group: >
name="{{ lookup('csvfile', 'item file=groups.csv col=0') }}"
gid="{{ lookup('csvfile', 'item file=groups.csv col=1') }}"
state="{{ lookup('csvfile', 'item file=groups.csv col=2') }}"
system="{{ lookup('csvfile', 'item file=groups.csv col=3') }}"
# with_lines: "/usr/bin/awk -F',' '!/^#/ && !/^$/ { print $1 }' groups.csv"
# with_items: "{{ groups_out.stdout_lines }}"
with_lines: "{{ groups_out.stdout_lines }}"
Результат, который заключается в следующем:
TASK [Process groups] **********************************************************
/bin/sh: accounts: command not found
fatal: [localhost]: FAILED! => {"failed": true, "msg": "lookup_plugin.lines(accounts) returned 127"}
Как видно из кода, я также попытался с помощью with_items и with_lines с помощью awk, но, похоже, группам не нравится, как я это делаю.
анзибль 2.1.1.0 на Centos 7. Python 2.7.5 Дзиндзя 2,8
Любые идеи, как я мог бы достичь этого?
Спасибо заранее,
R
Каковы права доступа к файлу «/var/tmp/ansible.csv», и делает это джайв с тем, что пользователь работает с «анзибль» или «анзибль-сборник пьес» или что пользователь команда является беги как? –
В этом-то - нет файла с именем /var/tmp/ansible.csv./var/tmp - мой cwd. – Rowley
Изменен файл 'item + '-...' to '' item file = ... '' – Rowley