2017-12-07 1 views
0

Mein ansible Textbuch:"useradd: ungültiger Benutzername" in ansible Modul

- hosts: docker 
    remote_user: root 

    tasks: 
    - include_vars: users.yml 
    - name: Add users to local docker groups 
    user: name='{{users}}' groups='{{group_name}}' append=yes 

users.yml Datei:

users: 
    - jjohnson 

group_name: docker 

ansible-playbook docker-groups.yml:

PLAY [docker] ********************************************************************************************************************************************************************************************** 

TASK [Gathering Facts] ************************************************************************************************************************************************************************************* 
ok: [server] 

TASK [include_vars] **************************************************************************************************************************************************************************************** 
ok: [server] 

TASK [Add users to local docker groups] ******************************************************************************************************************************************************************** 
fatal: [server]: FAILED! => {"changed": false, "failed": true, "msg": "useradd: invalid user name '['jjohnson']'\n", "name": "['jjohnson']", "rc": 3} 

Warum ist es fallen?

+0

Wie kommt es, ist es eine unklare Frage? OP verwendet falsche Datenstruktur und es ist eine Debugging-Frage. OP gibt das Problem eindeutig an, zeigt MVCE und die Fehlermeldung. – techraf

Antwort

1

Sie definierte users Variable als eine Liste (dann intern ansible gibt diesen Wert als JSON Darstellung in die useradd ausführbaren die ausfällt).

users: jjohnson 

Aber wenn man (wie der Plural Name users schon sagt) mehrere Benutzer hinzufügen wollten, sollten Sie Loops verwenden:

Sie sollten den Wert als String definieren. Es gibt ein Beispiel für Sie unter the top of the documentation.

+0

Ich wollte eine YML-Datei mit einer Liste von Benutzern haben, so dass Benutzer nicht in der tatsächlichen Playbook – houazy

+0

aufgeführt sind Nichts hält Sie davon ab. Ich habe deine Frage beantwortet. – techraf

+0

Danke, ich habe es! Entschuldigung, wenn man vom Chef kommt, ist es etwas anders, zum Beispiel für das Benutzermodul, es benutzt userd, wenn der Benutzer nicht auf dem Knoten ist, und es tut ein usermod, wenn der Benutzer ist – houazy