LINUX.ORG.RU
решено ФорумAdmin

puppet, tagmail, rhel: бесполезные письма.


0

1

Доброго времени суток.

Пытаюсь собрать puppet (тот, который не enterprise, а open source) под rhel 5.7 и 6.1. Собственно сборка rpm из исходников проблем не вызывает. Ставлю. В puppet.conf добавляю

[main]
    [...]
    report = true
[master]
    reports = store, tagmail, log

После чего мастер начинает слать совершенно бесполезные сообщения.

Tue Sep 20 03:34:25 +0400 2011 Puppet (notice): Finished catalog run in 0.14 seconds

Нашёл в багтрекере http://projects.puppetlabs.com/issues/9167

Пропатчил, эти сообщения пропали. (с тем же результатом можно было откатиться на 2.6.8) Но стоит добавить в манифест любой ресурс типа file, например

        package {'telnet':
                ensure  => purged
        }

или, наоборот, ensure => installed, как начинается следующий поток бесполеных сообщений

1) удаление. Мыло шлётся, это правильно.

Wed Sep 21 15:11:05 +0400 2011 /Stage[main]/Packages_default/Package[telnet]/ensure (notice): ensure changed '0.17-39.el5' to 'purged'

2) но при перезапуске puppet агента уже после удаления каждые почаса летит 100% мусор:

Wed Sep 21 15:11:18 +0400 2011 /Stage[main]/Packages_default/Package[telnet]/ensure (notice): created

Так вот. Как вы побороли эту проблему? Или dashboard полностью удовлетворяет ваши запросы и tagmail просто не настраиваете?

★★★★★

Поставил puppet-dashboard, теперь то же самое, но с web-мордой.

При каждом запуске puppet клиента на rhel в логе

Oct 23 14:30:41 vml-xymon puppet-agent[12935]: Starting Puppet client version 2.6.2
Oct 23 14:30:43 vml-xymon puppet-agent[12935]: (/Stage[main]/Packages_default/Package[telnet]/ensure) created
Oct 23 14:30:43 vml-xymon puppet-agent[12935]: Finished catalog run in 0.77 seconds

Хотя реально ничего не меняется. Но в dashboard отмечается, что на хосте были изменения.

При запуске puppet клиента на debian

Oct 23 14:44:19 one117 puppet-agent[10419]: Starting Puppet client version 2.6.2
Oct 23 14:44:21 one117 puppet-agent[10419]: Finished catalog run in 0.21 seconds
router ★★★★★
() автор топика
Ответ на: комментарий от router

И совершенно непонятно, что происходит с puppet клиентом на rhel:

либо он просто шлёт лишние сообщения (мусор) на сервер в отчётах
либо он не может что-то создать и при следующем запуске считает конфиг новым.

router ★★★★★
() автор топика
Ответ на: комментарий от router

В актуальной версии, ессно, то же самое. В версии с EPEL то же самое.

Пересобрал пакет puppet c дебиановскими патчами - то же самое

Patch0: 0001-Resist-directory-traversal-attacks-2.6.x.patch
Patch1: fix_logcheck
Patch2: 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch
Patch3: 2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch
Patch4: 2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch
Patch5: 2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch
Patch6: debian-changes-2.6.2-5+squeeze1
[...]
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1

Где же этот мерзкий глюк?

router ★★★★★
() автор топика
Ответ на: комментарий от router

Методом тыка нашёл функцию, которая в этом участвует:

puppet-2.6.2/lib/puppet/property/ensure.rb:45

  def change_to_s(currentvalue, newvalue)
    begin
      if currentvalue == :absent or currentvalue.nil?
        return "created"

В общем-то, подтверждаются подозрения. Puppet почему-то не хранит текущий конфиг.

router ★★★★★
() автор топика
Ответ на: комментарий от router

На debian снёс родной puppet, puppet-common, воткнул puppet из собранного на rhel 5.7 rpm"ки

mv /usr/lib/ruby/site_ruby/1.8/* /usr/lib/ruby/1.8/ rm rmdir /usr/lib/ruby/site_ruby/1.8 ln -s /usr/lib/ruby/1.8 /usr/lib/ruby/site_ruby/1.8

Исправил пусть к ruby в /usr/bin/puppet, запустил демона. Работает, бесполезными сообщениями не спамит.

Вывод. Либо либо это прошито в самом puppet, либо разное окружение

router ★★★★★
() автор топика
Ответ на: комментарий от router

Интересно убил несколько десятков часов. А решение простое: для ресурса package провадеры rpm и dpkg ПО-РАЗНОМУ реагируют на

ensure => purged

Для rpm правильным будет

ensure => absent

Теперь буду искать где исходники этих провайдеров и патчить их.

router ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.