Кукольный не применяет конфигурацию, но возвращается без ошибки

Используя Puppet 3.2.1, пытаясь настроить сервер / клиент, запустив оба на одном хосте.

Я также использую puppet-dashboard и puppetdb.

Мой манифест / init.pp:

node 'my.fqdn' {
  file { '/tmp/test':
    ensure => present
}

Бег puppet agent --test --server my.fqdn --report где my.fqdn и dashboard определены в / etc / hosts

Урожайность:

Info: Retrieving plugin
Info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/puppi_projects.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/last_run.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/last_run.rb
Info: Caching catalog for my.fqdn
Info: Applying configuration version '1369841032'
Notice: Finished catalog run in 0.08 seconds
Changes:
Events:
Resources:
          Skipped: 6
            Total: 7
Time:
   Config retrieval: 0.42
            Total: 0.42
         Last run: 1369841033
       Filebucket: 0.00
Version:
           Config: 1369841032
           Puppet: 3.2.1

файл /tmp/test никогда не создается!

Также;

Панель инструментов Puppet сообщает, что не знает ни одного узла (например, отчеты EG никогда не доходят до нее)

puppet.conf для отчетов:

reports = store, http
reporturl = http://puppet.armed.us/reports/upload

Что здесь может происходить и как это исправить?

Бег puppet apply /etc/puppet/manifests/init.pp Работает, но не при попытке получить конфиг от мастера кукол. Как будто он получает пустой каталог.

* Редактировать:

puppet.conf:

[main]
  vardir      = /var/lib/puppet
  logdir      = /var/log/puppet
  rundir      = /var/run/puppet
  templatedir = /var/lib/puppet/templates
  ssldir      = $vardir/ssl
  usecacheonfailure = true
  user = puppet
  group = puppet

[agent]
  certname = my.fqdn
  server = my.fqdn
  pluginsync = true
  report = true
  reportserver = my.fqdn
  summarize = true
  graph = true
  listen = false
  runinterval = 1800
  classfile = $vardir/classes.txt
  localconfig = $vardir/localconfig

[master]
  masterport = 8140
  bindaddress = 0.0.0.0
  autosign = false
  storeconfigs = true
  environment = production
  manifest    = $confdir/manifests/site.pp
  modulepath  = /etc/puppet/modules:/usr/share/puppet/modules
  storeconfigs_backend = puppetdb
  reports = store, http
  reporturl = http://my.fqdn/reports/upload
  facts_terminus = active_record

И сертификаты:

root@my:~# puppet cert list --all
+ "my.fqdn" (SHA256) E1:F0:29:1...:31:93:F9

5 ответов

Решение

Вам , вероятно, следует переименовать манифесты /init.pp в манифесты /site.pp, так как это то, что вы настроили в puppet.conf

Является my.fqdn на самом деле подписанное имя сертификата, что мастер знает агента как? Похоже, что имя сертификата может не соответствовать определению вашего узла, и поэтому оно игнорирует разделы узла.

Вы можете попытаться заставить имя, сообщенное агентом, проверить, справится ли это с задачей:

puppet agent --test --server my.fqdn --report --certname my.fqdn

Я не знаю, так ли это на вашем сайте, но мне нужен pluginsync = true, чтобы некоторые настройки марионеток работали. Без этого внутри /etc/puppet/puppet.conf на узле запуск кукол не завершится неудачно, но не выполнит все, что я ожидал (например, с помощью file_line).

Я вижу, вы поместили его в мастер puppet.conf, но проверьте, что он тоже на узле.

Мне интересно, понимает ли ваш марионеточный сервер, что ваш клиент должен быть my.fqdn. Измените узел "my.fqdn" на узел по умолчанию и посмотрите, получите ли вы файл.

Вы поместили в свой узел puppet.conf в разделе [agent] эту директиву (и перезапустили)? отчет = правда

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