2016-09-10 4 views
0

Ich habe Probleme beim Beitritt eines Worker-Knoten mit Manager-Knoten. Aber ich habe ein Problem im System, während ich dem Arbeiter im Cluster beitrete.Ansible Rollen Task fehlgeschlagen Docker Schwarm Knoten Join

docker_worker_token auf einen anderen Host gesetzt.

host1: 
    - name: Get the worker join-token. 
     shell: docker swarm join-token -q worker 
     with_items: 
     - "{{ groups['manager'] }}" 
     register: docker_worker_token 

host2: 

    - name: join node to the cluster 
     shell: docker swarm join --token {{ hostvars[item]['docker_worker_token'] }} {{ managerip }}:2377 
     with_items: 
     - "{{ groups['manager'] }}" 

Der Fehler ich bekomme unten wie folgt.

fehlgeschlagen: [188.166.30.64] (item = 188.166.17.148) => { "geändert": true, "cmd": „Docker Schwarm beitreten --token { 'msg': u'All Artikel completed ', ' changed ': True,' results ': [{' verändert ': True, u'end': u'2016-09-10 13: 42: 11.439043 ',' _ansible_no_log ': Falsch, u 'stdout': u'SWMTKN-1-34rdkhgb6ij6njvzdnutvbt8ee3crelm5as7dm7c7y7s03nvr3-9m0c8vp9hjb84ne90etapxec5' '_ansible_item_result': Wahr, 'item': u'188.166.17.148' , u'delta ': u'0: 00: 00,016042', u 'cmd': u'docker schwarm join-token -q worker ', u'stderr': u '', u'rc ': 0,' Aufruf ': {' Modulname ': u'command', u ' module_args ': {u 'warn': True, u'executable ': Keine, u'_uses_shell': True, u'_raw_params ': u'docker swarm join-token -q worker', u'removes ': Keine, u'creates' : Keine, u'chdir ': None}}, 'stdout_lines': [u'SWMTKN-1-34rdkhgb6ij6njvzdnutvbt8ee3crelm5as7dm7c7y7s03nvr3-9m0c8vp9hjb84ne90etapxec5'], u'start ': u'2016-09-10 13: 42: 11,423001', u'warnings ': []}]} 188.166.17.148:2377 "," delta ":" 0: 00: 00.060083 "," end ":" 2016-09-10 13: 42: 24.251326 "," fehlgeschlagen " : true, "item": "188.166.17.148", "rc": 1, "start": "2016-09-10 13: 42: 24.191243", "stderr": "\" docker schwärm beitreten \ " benötigt genau 1 Argument (e). \ nSiehe 'docker swarm join --help'. \ n \ nVerwendung: docker swarm join [OPTIONS] HOST: PORT \ n \ nSchwarm als Knoten und/oder Manager "," stdout ":" "," stdout_lines ": [], "Warnungen": []}

Nun, wie ich schreibe die {{ hostvars[item]['docker_worker_token'] }} so i die Token-Informationen aus den hostvars erhalten.

Antwort

1

Der cmd Wert in der Ausgabe gibt Ihnen einen Tipp:

{{ hostvars[item]['docker_worker_token'].results[0].stdout }} 

Aber ich fast sicher, dass Sie with_items ohne Grund in der Task verwenden Verbindungsknoten zum Cluster und in Aufgabe, wo Sie docker_worker_token gesetzt Variable? Sie haben also eine unnötige results Schicht in Ihren Variablen.

+0

'docker_worker_token' auf anderen Host gesetzt. - Name: Erhalte den Join-Token des Arbeiters. shell: docker schwarm join-token -q worker with_items: - "{{groups ['manager']}}" register: docker_worker_token –

+0

Es funktioniert. Vielen Dank –

Verwandte Themen