Eu criei um script de shell para autosignar pedidos de certificado Puppet em /etc/puppet/autosign.sh e configurei esse caminho na configuração do mestre de marionetes.
autosign = /etc/puppet/autosign.sh
Por enquanto, dei a todos os usuários permissões de leitura e execução neste script. No entanto, quando um cliente de teste tenta solicitar um certificado, recebo a seguinte notificação no cliente (que é baseado na nuvem).
Exiting; no certificate found and waitforcert is disabled
E o seguinte nos registros do servidor:
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
Eu coloquei uma entrada para este IP e host em / etc / hosts e verifiquei que eu posso fazer pesquisas diretas e inversas para este host. Não sei por que o mestre de marionetes não pode resolver esse endereço ou por que ele não está assinando automaticamente a solicitação. Eu escrevi o script autosign para escrever em um arquivo de log, e nada é escrito para ele. Quando executo o script de autosign manualmente, ele grava no arquivo de log corretamente.
Estou no centos 7.2, correndo o boneco 3.8.7. Eu também estou executando isso sob o capataz v1.11.
A assinatura manual do pedido de certificado permite que o agente fantoche seja executado normalmente.
Como posso corrigir esse erro?