Compare commits

2 Commits

Author SHA1 Message Date
b8297efac6 ajout readme 2021-05-06 16:59:16 +02:00
250b199fea solution 2021-03-16 22:14:17 +01:00
4 changed files with 34 additions and 26 deletions

View File

@@ -1,31 +1,17 @@
## Includes et import
# Solution (proposition)
**Tâche**: écrire des playbooks modulaires
**Condition**: selon besoin
**Norme**: includes et import
**Préparation**:
** Pratique **
Récupérer la solution de l'atelier handler
Identifier dans le playbook et le fichier vhost.conf toutes les spécificités de RedHat (qui vont empécher le playbook de fonctionner)
Trouver la solution à cette problématique (exécution conditionnelle, variabilisation ...)
Implémenter la solution
Sur la debian, la configuration par défaut entre en conflit avec la notre:
Modifier le playbook pour que le fichier /etc/apache2/sites-enabled/000-default.conf soit supprimé UNIQUEMENT sur la debian, avec redémarrage du service apache si besoin
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.
** Validation:
Autre cas d'utilisation des includes:
```bash
curl debian1
<span style="text-align: center;background-color: #FD5401; font-size: 42px;">Hello World</span>
```yaml
- name: ensure bootstrap role has been applied
include_role:
name: bootstrap
when: apply_bootstrap_role
- include: bash.yml
tags: bash
- include: local_repo.yml
when: ansible_distribution=='CentOS' and use_local_repo
```

18
apache.yml Normal file
View File

@@ -0,0 +1,18 @@
---
- name: install apache via ansible playbook
hosts: cibles
tasks:
- name: import OS Specific variables
include_vars: "{{ ansible_distribution | lower }}.yml"
- name: install apache
package:
name: "{{ apache_package_name }}"
state: present
- name: activate apache
service:
name: "{{ apache_service_name }}"
enabled: yes
state: started

2
centos.yml Normal file
View File

@@ -0,0 +1,2 @@
apache_package_name: httpd
apache_service_name: httpd

2
debian.yml Normal file
View File

@@ -0,0 +1,2 @@
apache_package_name: apache2
apache_service_name: apache2