Bonjour
Je regarde comment fonctionnent les custom facts dans Puppet.
Sur cette page :
require 'ldap'
Facter.add("platform") do
setcode do
host = Facter.value('hostname')
suffix = Facter.value('ldapsuffix')
base = "ou=Hosts,#{suffix}"
server = Puppet[:ldapserver]
port = LDAP::LDAP_PORT
scope = LDAP::LDAP_SCOPE_SUBTREE
filter = "(&(objectclass=puppetclient)(cn=#{host}))"
attrs = ['platform']
data = ""
conn = LDAP::Conn.new(server,port)
begin
conn.search(base,scope,filter,attrs) { |entry|
data = entry.vals('platform')
}
rescue ::LDAP::ResultError => e
raise Puppet::ParseError, ("ldapquery(): LDAP ResultError - #{e.message}")
end
data
end
end
Je ne comprends pas comment se valorise Puppet[:ldapserver]…
J'ai lu pas mal de posts, où on dit qu'il n'est pas possible de récupérer des variables Puppet dans le code des facts.
Une idée ?
Merci !
David.
# Variables Puppet
Posté par Cyril Brulebois (site web personnel) . Évalué à 2.
Cela semble fonctionner mais uniquement sur certaines variables exposées par Puppet. Un
grep
rapide dans la configuration Puppet utilisée pour l'infrastructure Debian (dsa-puppet.git) donne ces couples occurrence/variable :Cela ressemble beaucoup à ce qu'on peut configurer dans
/etc/puppet/puppet.conf
!Dans le cas
ldapserver
, on pourrait se poser la question d'une éventuelle variable « sortie du chapeau », mais c'est également défini dans Puppet. Dans 4.8.2 que j'ai sous la main, c'est via un appeldefine_settings
danslib/puppet/defaults.rb
.(Et si on se pose la question de tricher en ajoutant un
test = youhou
dans la section[agent]
de la configuration Puppet, ça semble être ignoré.)Debian Consultant @ DEBAMAX
[^] # Re: Variables Puppet
Posté par Anonyme . Évalué à 2.
Dans les
facts
,Puppet[:foobar]
permet d’accéder à la valeur defoobar
dans la configuration de Puppet.Pour
ldapserver
, c’est une configuration de Puppet documenté dans la documentation officiel. Ces variable servant à utiliser LDAP comme « external node classifer ».# Merci
Posté par David . Évalué à 1.
Merci !
Je vais étudier ça.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.