Ansibleangular色任务失败的docker swarm节点join

joinpipe理节点的工作节点时遇到问题。 但是我在集群中join工作的时候在系统中有问题。

docker_worker_token设置为另一个主机。

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'] }}" 

我正在下面的错误是这样的。

失败:[188.166.30.64](item = 188.166.17.148)=> {“changed”:true,“cmd”:“docker swarm join –token {'msg':u'All items completed','changed':真的,'结果':[{u'changed':真的,你会发现':u'2016-09-10 13:42:11.439043','_ansible_no_log':假,u'stdout':u'SWMTKN-1 u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'docker swarm join-token – u'''',u'rc':0,'invocation':{'module_name':u'command',u'module_args':{u'warn':True,u'executable ':没有,u'_uses_shell':没错,u'_raw_params':u'docker swarm join-token -q worker',u'removes':None,u'creates':None,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“,”结束“:”2016-09-10 13:42:24.251326“,”失败“ “item”:“188.166.17.148”,“rc”:1,“start”:“2016-09-10 13:42:24.191243”,“stderr”:“\”docker swarm join \“只需要1个参数\ n请参阅“docker swarm join –help”。\ n \ n使用方法:docker swarm join [OPTIONS] HOST:PORT \ n \ n作为节点和/或pipe理器join群集“,”stdout“:”“, “stdout_lines”:[],“warnings”:[]}

现在我怎么写{{ hostvars[item]['docker_worker_token'] }}所以我可以从hostvars获取令牌信息。

输出中的cmd值为您提供了一个提示:

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

但是我几乎可以肯定,你使用with_items没有任何理由在任务join节点到集群和任务中,在哪里设置docker_worker_tokenvariables? 所以你最终results在你的variables中产生不必要的results层。