04-TP-Classes.md

TP Classes

Contexte

Les classes puppet permettent de structurer les ressources, et d'en simplifier la gestion. Elles ajoutent flexibilité et une logique haut-niveau dans votre code.

Objectifs

  • Apprendre à manipuler les classes
  • Apprendre à utiliser les templates dans une ressource
  • Comprendre l'unicité de la déclaration des classes

Prérequis

  • être connecté sur votre VM (instructions ici)
  • Notion de ressource puppet
  • Maîtriser un éditeur de texte sous linux

Exercice 1: regroupement de ressources

Écrire une classe qui gère plusieurs fichiers et leur contenu.

  1. Créer le fichier TP_classes.pp. Y définir la classe appelée formation::tp::classes. La classe devra gérer 2 fichiers : /etc/toto.d/ et /etc/toto.d/fichier1.
  2. Appliquer le fichier avec sudo puppet apply TP_classes.pp
  3. Que se passe-t-il ? Les ressources sont-elles créées/modifiées ?
  4. Que se passe-t-il si l'on omet le répertoire /etc/toto.d/ des ressources gérées ?

Exercice 2: Paramétrisation

  1. Modifier le fichier source TP_classes.pp afin que le nom du fichier géré soit paramétrable
  2. Appliquer le catalogue résultant avec sudo puppet apply TP_classes.pp
  3. Que se passe-t-il si l'on ajoute les deux lignes suivantes au code ?
class {'formation::tp::classes': nom_fichier => 'fichier1'}
class {'formation::tp::classes': nom_fichier => 'fichier2'}