Я сижу перед довольно сложным проектом Ansible, который мы используем для создания наших локальных сред разработки (несколько виртуальных машин), и есть одна роль, которая использует факты, собранные Ansible to настройте файл /etc/hosts
на каждой виртуальной машине. К сожалению, если вы хотите запустить playbook только для одного хоста (используя параметр -limit), факты с других хостов (очевидно) отсутствуют.Сбор фактов на всех хостах
Есть ли способ заставить Ansible собирать факты на всех хостах, даже если вы ограничиваете Playbook одним конкретным хостом?
Мы попытались добавить игру в учебник для сбора фактов со всех хостов, но, конечно, это также ограничивается одним хостом, заданным параметром -limit. Если бы был способ заставить эту игру работать на всех хостах до того, как будет играть другая, это будет идеально.
Я немного искал Google и нашел решение с кешированием фактов с помощью redis, но так как наш плей-лист используется локально, я хотел избежать необходимости в дополнительном программном обеспечении. Я знаю, это неважно, но я просто искал «чище», единственное решение, и было интересно, если бы это существовало.
Спасибо за ваш ответ. Это было наше первое решение, но, похоже, кэширование на самом деле является единственным решением этой проблемы. Было бы неплохо иметь что-то, что может переопределить предельный параметр для сбора фактов. – tehK