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

Я пытаюсь отладить проблему кэширования с 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 регистрироваться site.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 ответ

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

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

Другие вопросы по тегам