Hi,
I'm trying to use csvfile lookups to populate values in the groups module,
but not having much luck. My csvfile:
# groups.csv
# name, gid [optional - leave blank], state [present|absent], system
[yes|no]
accounts,502,present,no
engineering,504,present,no
The playbook:
---
- hosts: localhost
become: True
become_user: root
tasks:
- name: get groups
command: /usr/bin/awk -F',' '!/^#/ && !/^$/ { print $1 }' groups.csv
register: groups_out
- 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 }}"
Using with_lines and groups_out.stdout_lines gives me:
TASK [Process groups]
**********************************************************
/bin/sh: accounts: command not found
fatal: [localhost]: FAILED! => {"failed": true, "msg":
"lookup_plugin.lines(accounts)
returned 127"}
Using with_items or with_lines and the awk command directly gives me:
TASK [Process groups]
**********************************************************
failed: [localhost] (item=accounts) => {"failed": true, "item": "accounts",
"msg": "argument system is of type <type 'list'> and we were unable to
convert to bool"}
failed: [localhost] (item=engineering) => {"failed": true, "item":
"engineering", "msg": "argument system is of type <type 'list'> and we were
unable to convert to bool"}
Removing the loop and just specifying a key, in the following output
"accounts" was used:
TASK [Process groups]
**********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"argument
system is of type <type 'list'> and we were unable to convert to bool"}
Ultimately I'd like to use csv files to define config although I'm not sure
i'm going about this the right way.
Asil
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/4e6e7252-e548-495f-884c-dbdc7c8d8809%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.