Ресурсы кэширования Puppet

Я пытаюсь отладить проблему кеширования с помощью Puppet на RedHat 7. Мои версии указаны в конце этого вопроса.

Ниже приводится отрывок из моего site.pp манифест. Все в порядке, и проверка Nagios установлена ​​на узле foo.example.com .

node 'foo.example.com' {

  nagios::service {'my_database':
    check_command => 'check_tcp_nrpe!3306',
    service_description => 'My Database',
  }

}

Теперь, если я добавлю еще один nagios :: service , проверьте сайт .pp его также забирает,

puppet agent --noop --test

, но если я удалю тот же вызов nagios :: service и снова запустил агент, он все равно его увидит (это пробные прогоны - я не непонятно зачем кеширует). Это происходило во многих различных сценариях в нескольких манифестах. Если я удаляю puppetdb и запускаю агент, puppetdb создается заново, и на некоторое время все возвращается в нормальное состояние.

Есть предложения о том, где искать, прежде чем я пойду по пути обновления марионетки или переустановки последней версии? Я не уверен, какую еще информацию предоставить, поэтому дайте мне знать, если что-то может помочь.

Мои версии,

puppetlabs-release-7-12.noarch
puppet-server-3.8.6-1.el7.noarch
puppetdb-terminus-2.3.8-1.el7.noarch
puppet-3.8.6-1.el7.noarch
puppetdb-2.3.8-1.el7.noarch

Обновление 1

Ниже приведены результаты выполнения # puppet agent - -noop --test ,

# puppet agent --noop --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for foo.example.com
Info: Applying configuration version '1522355276'
.
.
.
Notice: /Stage[main]/Nagios::Server/Nagios::Service_file[/etc/nagios/conf.d/services/foo-my_database_nagios_service.cfg]/File[/etc/nagios/conf.d/services/foo-my_database_nagios_service.cfg]/ensure: current_value absent, should be present (noop)
.
.
.
Notice: Finished catalog run in 21.10 seconds

Уведомление о том, что этот файл должен присутствовать, является подделкой.

Все, что я сделал, это добавил,

nagios::service {'my_database':
    check_command => 'check_tcp_nrpe!3306',
    service_description => 'My Database',
}

запустил агент, затем удалил его и снова запустил агент. Каждый раз, когда я запускаю агент, он все еще думает, что проверка должна присутствовать, даже если она не определена ни в одном из моих манифестов.

Обновление 2

Это шаги, которые я использую для удаления кэшированного элемента. После выполнения этих шагов он больше не пытается добавить эту проверку my_database .

cd /var/lib/puppetdb
sudo mv db db.`date +%F` # create a backup
sudo systemctl restart puppetmaster
sudo systemctl restart puppetdb
1
задан 30 March 2018 в 01:40
1 ответ

Оказывается, эта проблема связана с тем, что я делал в «Обновлении 2». Когда puppetdb был удален, он потерял все свои ресурсы. После того, как puppet agent --test --noop был запущен на всех наших серверах, он знал, где искать ресурсы, и все, что можно было найти в каталоге.

Как правило, после удаления puppetdb вы должны запустить марионеточный агент --test --noop на всех хостах.

0
ответ дан 4 December 2019 в 04:08

Теги

Похожие вопросы