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