Оно может работать в определенных условиях. Но вовсе не обязательно, т.к. нарушены слои абстракции.
Оно работает при работе роли по firewall, в котором template разворачивает iptables рулсет. Но не работает, когда из плейбука - hosts: localhost я пытаюсь jinj'ей достать это значение.
Оно работает при работе роли по firewall, в котором template разворачивает iptables рулсет. Но не работает, когда из плейбука - hosts: localhost я пытаюсь jinj'ей достать это значение.
Ну, правильно. Когда вы обращаетесь плеем к нужным хостам, их hostvars разворачиваются. А когда плей на другие хосты, то нет. Инвентарь просто не успевает отработать согласно приоритетам.
Потому что hostvars заполняется переменными согласно всем слоям абстракции лишь в момент плея.
Так вот же, в запускаю плейбуку, в первом плее просто собираю факты по хосту, во втором - пытаюсь обратиться к этим хостварсам, а мне вместо значения даёт "{{ hostvars... }}"