1 votes

Puppet n'applique pas la configuration mais revient sans erreur

J'utilise Puppet 3.2.1 pour tenter de mettre en place une configuration serveur/client, en exécutant les deux sur le même hôte.

J'utilise également Puppet-dashboard et puppetdb.

Mon manifest/init.pp :

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

Running puppet agent --test --server my.fqdn --report où my.fqdn et dashboard est défini dans /etc/hosts

Rendement :

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

Fichier /tmp/test n'est jamais créé !

Aussi ;

Le tableau de bord de Puppet indique qu'il n'a pas connaissance d'un nœud (les rapports ne l'atteignent jamais).

Puppet.conf pour les rapports :

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

Qu'est-ce qui pourrait se passer ici, et comment le réparer ?

Running puppet apply /etc/puppet/manifests/init.pp FONCTIONNE, mais pas lorsqu'il s'agit de récupérer la configuration de Puppet master. C'est comme s'il obtenait un catalogue vide.

*Edit :

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

Et les certificats :

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

0 votes

Il serait utile pour moi si vous postiez la puppet.conf et la sortie de sudo puppet cert list --all . Je mettrai à jour ma réponse avec plus de suggestions avec cette information.

3voto

Ger Apeldoorn Points 565

Vous devriez probablement renommer manifests/init.pp en manifests/site.pp, puisque c'est ce que vous avez configuré dans Puppet.conf

0 votes

Bien vu. J'allais mettre à jour ma réponse avec cela aussi après que les configurations aient été postées. J'aurais pensé que le master afficherait un avertissement ou une erreur s'il ne pouvait pas charger le manifeste du site principal...

0 votes

Tout à fait d'accord :-) Il est cependant déroutant de ne pas avoir de message d'erreur, il faudrait probablement déposer un bogue Puppet à ce sujet.

2voto

Andy Shinn Points 4081

Est my.fqdn en fait le nom du certificat signé que le maître connaît à l'agent ? Il semble que le nom du certificat ne corresponde pas à votre définition de nœud et qu'il ignore donc les sections de nœud.

Vous pouvez essayer de forcer le nom signalé par l'agent pour voir si cela fait l'affaire :

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

0 votes

Oui, sinon vous obtiendriez une erreur indiquant que la négociation SSL a échoué.

0 votes

La négociation de cert n'a rien à voir avec le fait d'avoir ou non un nœud défini avec un nom particulier.

1voto

guest Points 11

Je ne sais pas si c'est le cas sur votre site, mais j'ai besoin de pluginsync = true pour que certaines des configurations de Puppet fonctionnent. Sans cela dans /etc/Puppet/Puppet.conf sur le noeud, l'exécution de Puppet n'échouera pas, mais ne fera pas tout ce que j'attendais (par exemple, utiliser file_line).

Je vois que vous l'avez mis dans le Puppet.conf maître, mais vérifiez s'il est aussi sur le nœud.

0voto

Tamara Wijsman Points 56163

Je me demande si votre serveur Puppet comprend que votre client est censé être my.fqdn. Remplacez le nœud 'my.fqdn' par le nœud par défaut et voyez si vous obtenez le fichier.

0 votes

Cat /etc/hostname --> my.fqdn + facter fqdn == my.fqdn + /etc/hosts contain 127.0.1.1 my.fqdn

0voto

Tiago Soares Points 13

Avez-vous mis dans votre nœud Puppet.conf dans la section [agent] cette directive (et redémarré) ? report = true

0 votes

Report = true est dans Puppet.conf - et puppetmaster a lu la configuration, alors que cette directive est en place, oui

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X