Я хочу получить значение ip всех серверов, которые соответствуют условию when
.
Мой ansible-playbook
выглядит следующим образом:
- name: Get all the servers with docker installed
shell: docker -v
failed_when: False
register: docker_exists
- name: Get the server where docker is installed
shell: echo "{{inventory_hostname}}"
register: docker_ip
when: "'Docker version 18.09.6' in docker_exists.stdout"
Протестировано, docker_ip
переменная не является глобальной переменной, но только на машине, которая удовлетворяет условию "Docker version 18.09.6' in docker_exists.stdout"
, на машине, которая не удовлетворяет этому условию. Прямая ошибка, предполагающая The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout'
, как я могу использовать переменную docker_ip
глобально ??
~~ Теперь, как мне получить все ips сервера с установленным через docker docker_exists
и сервером без докераустановлен? Необходимо получить значение ip, которое удовлетворяет условию ~~
~~ Или есть какой-либо другой способ получить все ips, которые удовлетворяют условию when
? ~~