Назад | Перейти на главную страницу

Задачи Augeas отображаются как измененные, хотя файл не был изменен

Я установил puppet-dashboard и заметил, что все мои задачи augeas отображаются как "измененные". Я ожидал, что augeas автоматически проверяет, нужно ли установить значение является уже установлен, и в этом случае ничего не будет делать.

Мой рецепт:

$puppet_conf = "/etc/puppet/puppet.conf"
file { "${puppet_conf}": }

augeas { "puppet_conf":
        context => "/files/${puppet_conf}/",
        changes => [
                "set agent/report true",
        ],
        require => File["${puppet_conf}"],
}

Нормальный запуск, когда значение уже было установлено ранее:

info: Applying configuration version '1363882751'
debug: Augeas[puppet_conf](provider=augeas): Opening augeas with root /, lens path , flags 0
debug: Augeas[puppet_conf](provider=augeas): Closed the augeas connection
debug: Augeas[puppet_conf](provider=augeas): Opening augeas with root /, lens path , flags 0
debug: Augeas[puppet_conf](provider=augeas): sending command 'set' with params ["/files//etc/puppet/puppet.conf/agent/report", "true"]
debug: Augeas[puppet_conf](provider=augeas): Closed the augeas connection
notice: /Stage[main]/Puppet_agent/Augeas[puppet_conf]/returns: executed successfully

Дата / время файла не изменились, поэтому очевидно, что файл не изменится. Тем не менее, puppet-dashboard показывает файл как «измененный». Если я добавлю «onlyif», эта часть не появится, но я не хочу повторять все в onlyif, также я могу установить только одну опцию конфигурации за раз.

Debian Squeeze
Марионетка 2.6.2
Авгий 0.10.0

Как правильно это настроить?

Спасибо за информацию о версии. Похоже, вы столкнулись с ошибкой Puppet # 11414, что связано с комбинацией новой версии Augeas 0.10.0 и старой версии Puppet.

Поставщик Puppet неверно интерпретирует номер версии Augeas как очень старую версию (строка вместо правильного сравнения версий), и он работает не так, как ожидалось.

Вам нужно будет либо использовать Puppet 2.7.18 из сжатие-бэкпорты (или Репо Puppet Labs) с исправлением ошибки, либо используйте старую или новую версию Augeas (1.0.0 или 0.9.0).