2016-08-30 2 views
1

Ich versuche hinzufügen Benutzer der Gruppe abc in Gruppe xyz. dies in ansible zu tun, ich bin nach tunAnsible Schleife über Liste var

- name: Get the list of user belongs to abc group 
    command: lid -g -n abc 
    register: abc_users 

- name: Add user belongs to abc group to xyz group 
    user: name={{ items }} groups=xyz append=yes 
    with_items: "{{ abc_users.stdout }}" 

Aber immer folgenden Fehlern

fatal: [10.8.17.14]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'items' is undefined\n\nThe error appears to have been in '/home/#/workspace/#/ansible/roles/ubuntu-common/tasks/main.yml': line 26, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Add user belongs to sentience group to docker group\n^here\n"} 

Wer weiß, besseren Weg, dies zu tun?

Dank

Antwort

3

ersetzen {{ items }} mit {{ item }}.

Update: als @udondan weist darauf hin, iterieren stdout_lines

- name: Add user belongs to abc group to xyz group 
    user: name={{ item }} groups=xyz append=yes 
    with_items: "{{ abc_users.stdout_lines }}" 
+1

auch Sie Schleife zu wollen, über 'abc_users.stdout_lines', nicht' abc_users.stdout'. Letzteres ist eine Zeichenkette und Sie würden wahrscheinlich jedes Zeichen dieser Zeichenkette wiederholen. Die erste ist eine Liste, wobei jede Zeile des Ergebnisses ein Element dieser Liste ist. – udondan