Rôles

Dans le monde de l’automatisation, attribuer un rôle à un serveur signifie tout faire pour qu’il devienne un serveur donné. Par exemple, pour qu’un serveur devienne un serveur de base de données mysql, on installe les dépendances de mysql, le package mysql lui-même, configure le service mysql et enfin la base de données et les utilisateurs.
On pourrait le faire directement dans un playbook, ou dans des fichiers inclus, mais les tâches d’installation et de configuration d’une base de données restent sensiblement les mêmes à chaque fois qu’on veut créer un serveur BDD, que ce soit aux niveaux des tâches, variables ou handlers. Pour rendre son travail plus réutilisable, on utilise des rôles.

Syntaxe

Créer un rôle

Par exemple, si on veut créer un rôle “nginx”, qui externalise en dehors du playbook les tâches qui installent et démarrent nginx:

Utiliser un rôle

Une fois le rôle crée


Hiérarchie de dossiers

À l’intérieur du répertoire d’un rôle, on peut au besoin créer les sous-répertoires suivants:

init

Emplacement par défaut

Pour trouver le répertoire correspondant au role, ansible cherche à deux emplacements:


Rôles publiés

install

list