Я много часов борюсь с Puppet storeconfigs и, наконец, нашел одну вещь, которая меня смущала. Я хотел бы настроить storeconfigs, но когда я устанавливаю значения storeconfigs и storeconfigs_backend в разделе /etc/puppet/puppet.conf files [master], это не работает. Но когда я тестирую, помещаю эти значения в раздел [main], это как-то работает.
Почему Puppet игнорирует конфигурацию раздела [master], в то время как в их документации указано, что storeconfigs относится к разделу [master]?
Я использую Puppet 3.8.2 и Ubuntu 14.04.
https://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html
Чтобы разрешить сохранение фактов и каталогов в PuppetDB, добавьте следующие настройки в блок [master] файла puppet.conf (или отредактируйте их, если они уже есть):
[master] storeconfigs = true storeconfigs_backend = puppetdb
В начале мой файл puppet.conf.
$ cat /etc/puppet/puppet.conf
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
Я получил такой же ответ от Марионетки
$ sudo puppet config print | grep ^storeconfigs
storeconfigs = false
storeconfigs_backend = active_record
Я установил значения storeconfigs и storeconfigs_backend в разделе [master] файла puppet.conf, но он не работает, и значение storeconfigs по-прежнему равно false.
$ sudo puppet config set storeconfigs true --section master
$ sudo puppet config set storeconfigs_backend puppetdb --section master
$ sudo puppet config print | grep ^storeconfigs
storeconfigs = false
storeconfigs_backend = active_record
Я просто проверяю, помещаю эти значения в раздел [main] файла puppet.conf, и он работает.
$ sudo puppet config set storeconfigs true --section main
$ sudo puppet config set storeconfigs_backend puppetdb --section main
$ sudo puppet config print | grep ^storeconfigs
storeconfigs = true
storeconfigs_backend = puppetdb
Puppet несколько раз переставлял свои файлы конфигурации и разделы, в которых они живут. Я отказался от попыток отслеживать все это, и вместо этого просто использую puppet config print | less
и посмотрите, в каком разделе Puppet сегодня нужны определенные элементы конфигурации, а затем просто поместите их туда.
Чтобы увидеть конфигурацию, видимую из «марионеточного мастера», вы можете использовать
puppet master --configprint all | grep storeconfigs
или
puppet master --configprint storeconfigs
puppet master --configprint storeconfigs_backend
… Который будет использовать конфигурацию по умолчанию в разделе [main], а также в специальном разделе [master].