Некоторые роли Ansible, такие как https://github.com/bertvv/ansible-role-hostsиспользуйте файлы шаблонов, которые могут оказаться незамеченными для нужд этого проекта. Если автор роли не предоставил замену переменной для имени шаблона, есть ли способ заменить файл шаблона? Очевидно, я мог бы выполнить форк этой роли и использовать свой собственный форк, но я надеюсь, что есть лучший ответ, такой как «просто поместите файл шаблона замены в каталог шаблонов вашей роли, который зависит от роли Берта».
Путь к плейбуку имеет некоторую магию "делай то, что я имею в виду" для относительных путей. rolename/templates
сначала ищется в порядке зависимости, затем {{playbook_dir}}/templates
Вы не можете изменить это, не изменив каким-либо образом роль, одну из следующих:
изменение имени файла src
добавление зависимости от вашей роли, которая предоставляет другой шаблон с тем же именем
редактирование своего шаблона
Мне больше всего нравится менять имя файла. Отправьте им изменение, которое превратит имя исходного шаблона в переменную в значениях роли по умолчанию.
Если вы хотите, чтобы изменения происходили при каждом доступном запуске, вы можете использовать lineinfile
для созданного файла шаблона (т. е. dest
в template
задача) после применения роли.