Compare commits

1 Commits

Author SHA1 Message Date
47b37fbcc8 typo 2022-04-26 09:40:38 +02:00
4 changed files with 9 additions and 21 deletions

View File

@@ -1,7 +1,10 @@
# Solution (proposition)
## Includes et import
Plutôt que de conditionner chaque tâche en fonction de la distribution (ce qui sera pénible et difficile à maintenir), la solution consistant à inclure un fichier de variables propre à chaque OS cible est plus élégante.
**Tâche**: écrire des playbooks modulaires
**Condition**: selon besoin
**Norme**: includes et import
**Préparation**:
@@ -11,18 +14,10 @@ En examinant les différents fichiers présents dans ce dépôt, essayez de
déterminez de quelle manière ce playbook a été adapté pour fonctionner aussi
bien sur une CentOS qu'une Debian.
L'idée est de transformer en variables toutes les spécificités de chaque distribution (nom
du paquet, du service, de l'utilisateur dédié au service, du répertoire de conf ...) et de définir ces variables dans des fichiers dont le nom correspond à la distribution cible.
Il suffit de faire ensuite un include de ces fichiers en construisant le nom du fichier autour de la variable "ansible_distribution"
L'exécution du block de tâches "firewalld", spécifique à CentOS est conditionné à cette distribution via la clause "when"
La tâche "conf httpd" ne fonctionnera pas sur Debian. Pourquoi ? Proposez une solution.
Le nom du groupe est différent, il faut en faire une variable
Ce playbook n'est pas complet. Déterminez les éléments manquants et corrigez.
** Validation:
le playbook s'exécute correctement sur la machine debian
le playbook s'exécute correctement sur la machine debian

View File

@@ -9,9 +9,6 @@
tasks:
- name: import OS variables
include_vars: "{{ ansible_distribution | lower }}.yml"
- name: install apache
package:
name: "{{ apache_package_name }}"
@@ -23,7 +20,7 @@
dest: "{{ apache_config_dir}}/vhost.conf"
mode: 0640
owner: root
group: "{{ apache_group_name }}"
group: apache
notify: restart apache
- name: activate apache
@@ -60,8 +57,6 @@
immediate: yes
state: enabled
ignore_errors: true
when: ansible_distribution == 'CentOS'
- name: create documentroot
file:
@@ -72,4 +67,4 @@
template:
src: index.txt
dest: /var/www/html/example.org/index.html
mode: 0644
mode: 0644

View File

@@ -3,4 +3,3 @@ apache_service_name: httpd
apache_package_name: httpd
apache_config_dir: /etc/httpd/conf.d
apache_log_dir: /var/log/httpd
apache_group_name: apache

View File

@@ -3,4 +3,3 @@ apache_service_name: apache2
apache_package_name: apache2
apache_config_dir: /etc/apache2/sites-enabled/
apache_log_dir: /var/log/apache2
apache_group_name: www-data