play1 и play2, выполняются они на двух разных хостах (play1 на host1, play2 на host2), и мне нужно в play2 получить значение факта, который сетится при выполнении условия в play1. Сейчас я пытаюсь сделать это с помощью hostvars, но что-то не получается (этого факта там нет, если я правильно понимаю, из-за того, что они берутся на момент запуска плейбука).
Подскажите способ, как можно получить значение какой-нибудь сущности, засеченной в процессе выполнения плейбука на другом хосте?
Вот примерно то, как я сейчас пробую:
- hosts: host1
tasks:
- name: bla-bla
<some_task>
register: facts
- set_fact:
var1: True
when: facts.some_condition == "true"
- hosts: host2
gather_facts: yes
roles:
- { role: bla-bla-bla,
when: "hostvars['host1'].ansible_facts.var1 == 'True'" }
Там не нужны ansible_facts. К переменным другого хоста можно обращаться просто: hostvars['host1']['var1']
Обсуждают сегодня