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.

Reply via email to