инвентори файле для группы:
ansible_user=user@DOMAIN.RU
ansible_password=***
ansible_connection=winrm
ansible_winrm_transport=kerberos
ansible_winrm_scheme=http
ansible_port=5985
есть роль, которая по идее должна переопределять эти параметры (в файлах переменных только пароль для пользователя vagrant):
- hosts: it-grad
gather_facts: yes
vars_files:
- ./vars/vault.yml
- ./vars/vars.yml
roles:
- role: config_winrm
vars:
ansible_user: vagrant
ansible_password: "{{ default_password }}"
ansible_winrm_transport: basic
when: not ansible_windows_domain_member
в итоге таск падает на моменте сбора фактов с ошибкой, что пользователь vagrant не найден в керберосе, и по логам он лезет собирать факты из-под пользователя vagrant (что логично, это локальный пользователь).
Я думал он должен использовать переменную, из hosts, а менять на vagrant только для этой конкретной роли, и продолжать использовать исходную переменную из hosts.
В чем косяк? я не так понимаю передачу параметров в роль? он перезаписывает переменную раньше, чем начинает выполнять сбор фактов?
Проверка-то простая - закомментировать этот блок переменных. Тут всё и вылезет.
Обсуждают сегодня