Я создал сценарий оболочки для автоматической подписи запросов на сертификат Puppet в /etc/puppet/autosign.sh и настроил этот путь в конфигурации мастера марионетки.
autosign = /etc/puppet/autosign.sh
На данный момент я дал всем пользователям права на чтение и выполнение этого скрипта. Однако, когда тестовый клиент пытается запросить сертификат, я получаю следующее уведомление на клиенте (облачном).
Exiting; no certificate found and waitforcert is disabled
И в журналах сервера следующее:
puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
puppet puppet-master[465]: www.test.com has a waiting certificate request
puppet puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
Я поместил запись для этого IP-адреса и хоста в / etc / hosts и проверил, могу ли я выполнять прямой и обратный поиск для этого хоста. Я не знаю, почему марионеточный мастер не может разрешить этот адрес или почему он не подписывает запрос автоматически. Я написал сценарий автоподписи для записи в файл журнала, и в него ничего не записывается. Когда я выполняю сценарий автоподписи вручную, он правильно записывается в файл журнала.
Я на centos 7.2, работаю марионеткой 3.8.7. Я также запускаю это под бригадиром v1.11.
Подписание запроса сертификата вручную позволяет марионеточному агенту работать в обычном режиме.
Как исправить эту ошибку?