Приношу свои извинения, если этот вопрос задавался раньше, но, возможно, я не использую правильную терминологию в своих поисках ...
В свободное время я управляю ограниченным количеством хостов (настольных компьютеров и ноутбуков с Debian Stretch) с помощью Ansible. Моя «инструкция по установке» создает единую конфигурацию на всех этих хостах с разным оборудованием, чтобы упростить управление. Время от времени я вручную запускаю роль средства обновления и время от времени нахожу полезную настройку, которую затем развертываю на тех хостах, которые находятся в сети. Но: некоторые из них редко приходят в офис, и если они доступны для обновления, всегда сложно определить, какие настройки мне еще нужно развернуть на этой машине ...
Конечно я могу:
{{ ansible_date_time.epoch }}
) в файл на каждом хосте, который можно получить и установить как фактЭто как надо делать?
если они доступны для обновления, всегда сложно определить, какие настройки мне еще нужно развернуть на этой машине ...
Это не способ использовать Ansible. Ваши playbooks должны быть написаны таким образом, чтобы не имело значения, применяли ли вы ранее установленную конфигурацию ("идемпотентность"). Если это так, вы просто можете применить последнюю версию playbook, и ваши системы должны быть в правильном состоянии.
Это может быть хорошим вариантом для анзибль. Хосты, которые не постоянно находятся в сети, могут быть настроены для запуска ansible-pull при подключении к офисной сети.
Однако это не отменяет необходимости создания идемпотентного сценария и ролей. Если время работы playbook является проблемой, есть возможность использовать stat
модуль для установки условий пропуска более длительных задач.
Селекторы здесь возможны, но требуют ручного управления. Так что, возможно, было бы лучше ускорить время выполнения самого playbook.