agents for jboss
hosts: jboss
roles:
- { role: java_jboss, when: ansible_os_family == 'RedHat', become: yes}
- { role: java_jboss_win, when: ansible_os_family == 'Windows'}
То переменные из Windows роли доступны в Linux роли (несмотря на то что по when роль не должна была загрузиться.). В итоге это ломает плейбук
Если делаю так:
- name: Setup java agents for jboss
hosts: jboss
tasks:
- include_role:
name: java_jboss
apply:
become: yes
when: ansible_os_family == "RedHat"
- include_role:
name: java_jboss_win
when: ansible_os_family == "Windows"
То все нормально, переменные не “шарятся”
Это ожидаемое поведение? ansible 2.10
В первом варианте нельзя так when использовать.
- name: Load variables based on ansible_distribution include_vars: '{{ distribution }}' with_first_found: - '{{ ansible_distribution }}.yml' - default.yml loop_control: loop_var: distribution - name: Install epel include_tasks: '{{ distribution }}' with_first_found: - '{{ ansible_distribution }}.yml' - 'default.yml' loop_control: loop_var: distribution
видимо поэтому и получается черте что)
Это откуда скриншот?
в плане откуда?
Обсуждают сегодня