#puppet
#кукольный
Вопрос:
Когда я запускаю
sudo puppet agent -t
после длительного этапа загрузки каталога я получаю сообщение:
информация: Применение версии конфигурации ‘1403590182’
На что ссылается это число 1403590182?
На самом деле я заметил, что если я запускаю два раза подряд sudo puppet agent -t
, я получаю разные номера версий конфигурации, даже если модули не изменились!
Как я могу определить, какая версия каждого модуля применяется к узлу?
Комментарии:
1. Обратите внимание, что в этом отчете об ошибке указано, что версия обычно стабильна. Однако, если в ваших манифестах или шаблонах используются такие факты, как
$uptime
,$memoryfree
, каталог может отличаться при проверке каждого агента.2. спасибо, Феликс, поэтому я думаю, что эта информация так же бесполезна, как и бесполезна, и может быть безопасно проигнорирована, и оставляет нас в неведении, если мы хотим точно определить, какая конфигурация применяется. В эпоху хешей git можно было бы ожидать, что отцы-основатели Puppet придумают что-то более детерминированное…
3. Ошибка на самом деле довольно давняя (см. Ссылку На более ранние заявки на Redmine) и, ну … есть проблемы 🙂
Ответ №1:
из документации config_version
Как определить версию конфигурации. По умолчанию это будет время анализа конфигурации, но вы можете предоставить сценарий оболочки, чтобы переопределить способ определения версии. Выходные данные этого скрипта будут добавлены к каждому сообщению журнала в отчетах, что позволит вам соотнести изменения на ваших хостах с исходной версией на сервере.
Установка глобального значения для config_version в puppet.conf не допускается (но его можно переопределить из командной строки). Пожалуйста, вместо этого установите значение для каждой среды в environment.conf. Для получения дополнительной информации см. https://puppet.com/docs/puppet/latest/environments_about.html
Время представлено в виде метки времени unix, поскольку у вас указано «24.06.2014 @ 6:09am» (и я только что понял, сколько лет этому Q было)
Ответ №2:
Если манифесты контролируются git, администратор может сообщить кукловоду, как описать версию, с помощью приведенного ниже инструкции в /etc/puppet/puppet.conf (для кукловода). Одно такое утверждение содержится в каждом разделе среды с путем, скорректированным на то, где среда ищет манифесты.
config_version = git --git-dir $confdir/modules/production/.git describe --all --long
Если вы используете какую-либо другую систему управления версиями, я уверен, что есть какая-то эквивалентная команда для получения указания на ревизию.