Я здесь впервые и впервые в ansible. Я знаю, что есть несколько сценариев того, что я делаю, но поэтому я лучше усваиваю.
Я пытаюсь создать рой docker через ansible. Моя проблема в том, что я получаю следующую ошибку:
fatal: [dn12]: FAILED! => {
"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout'
Я не понимаю, почему я получаю эту ошибку. Это результат, в котором я получаю переменную с токеном соединения.
changed: [dn11] => {
"changed": true,
"cmd": "docker swarm join-token --quiet worker",
"delta": "0:00:00.060052",
"end": "2020-05-05 13:54:04.939337",
"invocation": {
"module_args": {
"_raw_params": "docker swarm join-token --quiet worker",
"_uses_shell": true,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"stdin_add_newline": true,
"strip_empty_ends": true,
"warn": true
}
},
"rc": 0,
"start": "2020-05-05 13:54:04.879285",
"stderr": "",
"stderr_lines": [],
"stdout": "SWMTKN-1-2g5ndm8bfe22ft9cydbl80kcxdv356jjkuyokdclnu33t7q1zg-5l9rxjpjylprqzhk5oq4165gc",
"stdout_lines": [
"SWMTKN-1-2g5ndm8bfe22ft9cydbl80kcxdv356jjkuyokdclnu33t7q1zg-5l9rxjpjylprqzhk5oq4165gc"
]
}
Вот короткая роль, которую я выполняю. В чем проблема. Я не нашел ошибку.
---
- block:
- name: Inspect docker swarm
shell: docker info
register: docker_info
ignore_errors: true
- name: Initialize Docker Swarm
shell: >
docker swarm init
--advertise-addr={{ gluster_ip }}:2377
when: "docker_info.stdout.find('Swarm: active') == -1"
- name: Get the Manager join-token
shell: docker swarm join-token --quiet manager
register: manager_token
- name: Get the worker join-token
shell: docker swarm join-token --quiet worker
register: worker_token
tags:
- createswarm
when: inventory_hostname == swarm_master
- block:
- name: Add Managers to the Swarm
shell: "docker swarm join --token {{ manager_token.stdout }} {{ gluster_ip }}:2377"
#when: "docker_info.stdout.find('Swarm: active') == -1"
tags:
- addtoswarm
when: inventory_hostname != swarm_master
Надеюсь, вы поможете мне найти неисправность.
Greats pr0