amarao (amarao_san) wrote,
amarao
amarao_san

Category:

ansible - тягание переменных с соседних групп

- name: debug
debug: msg="{{ hostvars[groups['postgres'][0]].postgres_ip}}"

А в соседней группе таска, поближе к финалу:

- name: Set global postgres_ip
set_fact:
postgres_ip: '{{postgresql_main_address}}'

А для роли переменная:

postgresql_main_address: '{{ansible_eth4.address}}'

И на выходе имеем, что группа, которая ни сном ни духом про IP соседа, может его IP юзать. Чтобы хаятели ansible'а не говорили по поводу "нельзя использоваться.

Факинг ачивмент дня. Ну теперь можно будет совсем развернуться. Или нет?

Теперь осталось придумать, можно ли его использовать в group_vars.

group_vars:
foo: '{{hostvars[groups["postgres"][0]].postgres_ip}}'

...

UPD: жж корёжит от jinja, потом разберусь что не так. {{hostvars}}
Tags: ansible
Subscribe

  • философское

    У меня в голове начинает зарождаться метафора "surgical refactoring". Это такой рефакторинг, который проводится на живом пациенте (читай, на проекте…

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments