J'ai installé Puppet 4.3 et centos7 afin d'utiliser Puppet Device pour gérer les routeurs Cisco. Le nom d'hôte du serveur est "puppetmaster" (en exécutant hostnamectl puppetmaster
) Le serveur centos exécute le maître et l'agent Puppet.
Après avoir tout installé et configuré device.conf, lorsque j'exécute sudo Puppet device --debug, je vois ces erreurs :
Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster]
Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster]
Je peux courir puppet agent --test
sur le serveur avec succès :
sudo puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppetmaster
Info: Applying configuration version '1449189804'
Voici mon /etc/puppetlabs/Puppet/device.conf
[r1]
type cisco
url telnet://puppet:123456@r1/
Voici mon /etc/puppetlabs/Puppet/Puppet.conf
[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /var/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /etc/puppetlabs/code
dns_alt_names = puppetmaster
[agent]
certname = puppetmaster
server = puppetmaster
Il doit s'agir d'un problème de certitude, comme une incompatibilité de nom, mais je ne sais pas ce qui peut en être la cause. L'agent est exécuté sur le même serveur que le maître et j'ai défini toutes les configurations correctement (du moins je le pense).
Voici le certificat renvoyé par Puppet :
sudo puppet cert --print --all | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=puppetmaster
Voici les certitudes brutes ca.pem et puppetmaster.pem :
openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/ca.pem -noout -text | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=Puppet CA: puppetmaster
DirName:/CN=Puppet CA: puppetmaster
openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem -noout -text | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=puppetmaster
Lorsque je lance openssl pour vérifier le certificat, je vois la même erreur :
sudo openssl verify -CApath /etc/puppetlabs/puppet/ssl/certs/ca.pem /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem
/etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem: CN = puppetmaster
error 20 at 0 depth lookup:unable to get local issuer certificate
J'ai confirmé les paramètres de configuration et j'ai parcouru le processus de nettoyage des certitudes (plusieurs fois) mais pas de résultat.