On 03. okt. 2016 11:18, Asil Carlin wrote:
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') }}"

As you mention in a later post you are missing the delimiter, TAB is the default.

And you key is literally "item" on all you lookup. To use the variable item you'll have to concatenate like this.

  lookup('csvfile', item + ' file=groups.csv delimiter=, col=n')


    # with_lines: "/usr/bin/awk -F',' '!/^#/ && !/^$/ { print $1 }'
groups.csv"
    # with_items: "{{ groups_out.stdout_lines }}"
    with_lines: "{{ groups_out.stdout_lines }}"

You can't only have a variable in with_items, it must be a command
https://docs.ansible.com/ansible/playbooks_loops.html#iterating-over-the-results-of-a-program-execution


 Using with_lines and groups_out.stdout_lines gives me:

TASK [Process groups]
**********************************************************
/bin/sh: accounts: command not found

You don't have /bin/sh, that can be a problem, since default, Ansible is depending on it.

--
Kai Stian Olstad

--
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/2ea04211-1cfc-3d22-3e99-c02fdf4c1aaf%40olstad.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to