Smart variables

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Fonctionnalité Foreman / ENC Puppet
Rôle Surcharger la valeur d'une variable de classe Puppet depuis l'interface Foreman
Voir aussi Foreman · Smart proxies · Puppet · Puppet fonctions

Les smart variables permettent, depuis l'interface Foreman, de surcharger la valeur d'une variable définie dans une classe Puppet, sans modifier le code Puppet lui-même. Foreman agissant comme ENC (External Node Classifier), il peut injecter ces valeurs au moment de la compilation du catalogue, avec une granularité fine (par hôte, par groupe d'hôtes, par domaine, par organisation, par emplacement...).

Principe

Pour chaque classe Puppet importée dans Foreman, il est possible de définir une smart variable associée à un paramètre de cette classe. Foreman calcule la valeur à appliquer selon un ordre de priorité configurable (host > hostgroup > domain > ... > valeur par défaut) et l'expose au nœud via l'ENC.

Le type de la variable doit être précisé lors de la définition de la smart variable dans l'interface, afin que Puppet interprète correctement la valeur reçue.

Formats courants

Héritage via une clé de recherche ENC

Utile pour faire varier une valeur selon un attribut de l'hôte (par exemple son emplacement ou son organisation) :

"${::foreman_lookup_key}"

(syntaxe illustrative — à adapter selon la version de Foreman et le mécanisme de lookup utilisé ; à vérifier)

Tableau statique

Pour une variable de type tableau, définie en dur dans la smart variable :

["172.16.0.10", "172.16.0.20"]

Voir aussi

  • Foreman — plateforme exposant l'interface de gestion des smart variables
  • Smart proxies — agents distants Foreman
  • Puppet — gestionnaire de configuration dont les classes sont surchargées
  • Puppet fonctions — fonctions Puppet complémentaires