кукольный: «применение версии конфигурации», к чему это относится?

#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
 

Если вы используете какую-либо другую систему управления версиями, я уверен, что есть какая-то эквивалентная команда для получения указания на ревизию.