Rendre le dry-run (--check) fiable sur les rôles applicatifs

« Vérifier » échouait faussement sur un hôte frais : les tâches
« démarrer service » et les handlers restart/reload/validate touchent
un paquet que --check n'installe pas vraiment → service/fichier absent
→ faux fatal, qui bloquait le déploiement (le dry-run doit passer pour
débloquer « Déployer »).

Ajout de « when: not ansible_check_mode » sur ces tâches + handlers des
13 rôles serveur_* (29 gardes). Sautées en dry-run, inchangées en réel.
Validé : powerdns dry-run failed=0 ; ansible-lint 0 échec ; 19 playbooks
syntax-OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-07-01 21:01:53 -04:00
parent 213724f566
commit f82630de6c
26 changed files with 42 additions and 0 deletions

View file

@ -15,6 +15,13 @@
- **Compteur « vivantes »** dans l'en-tête (depuis la sonde), à côté de actifs/planifiés.
### Corrigé
- **« Vérifier » (dry-run `--check`) échouait faussement sur un hôte frais.** Les tâches
« démarrer service » et les handlers « redémarrer / recharger / valider » des rôles
applicatifs touchent un paquet que `--check` n'installe pas réellement → le service
(ou le fichier de zone/conf) n'existe pas encore → faux `fatal`, qui **bloquait le
déploiement** (le dry-run doit réussir pour débloquer « Déployer »). Ajout de
`when: not ansible_check_mode` sur ces tâches et handlers des 13 rôles `serveur_*`
(29 gardes). En dry-run elles sont sautées ; en vrai déploiement, inchangées.
- **Le bouton ⚙ « Appliquer le plan » du GUI refusait en silence** dès que le plan
divergeait de l'inventaire (il appelait `instancier appliquer` **sans** `--force`).
Résultat : après une édition (disque, état, auto-actif), l'inventaire n'était jamais

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer forgejo
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_forgejo_service }}"
state: restarted

View file

@ -104,6 +104,7 @@
notify: Redemarrer forgejo
- name: Activer et demarrer Forgejo
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_forgejo_service }}"
enabled: true

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer grafana
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_grafana_service }}"
state: restarted

View file

@ -61,6 +61,7 @@
notify: Redemarrer grafana
- name: Activer et demarrer Grafana
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_grafana_service }}"
enabled: true

View file

@ -1,11 +1,13 @@
---
- name: Redemarrer icinga2
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_icinga_service_icinga2 }}"
state: restarted
listen: Redemarrer icinga2
- name: Redemarrer icingadb
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_icinga_service_icingadb }}"
state: restarted

View file

@ -65,6 +65,7 @@
notify: Redemarrer icinga2
- name: Activer et demarrer le Redis Icinga DB
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_icinga_service_redis }}"
enabled: true
@ -91,6 +92,7 @@
notify: Redemarrer icingadb
- name: Activer et demarrer Icinga 2 et Icinga DB
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ item }}"
enabled: true

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer keycloak
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_keycloak_service }}"
state: restarted

View file

@ -122,6 +122,7 @@
notify: Redemarrer keycloak
- name: Activer et demarrer keycloak
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_keycloak_service }}"
enabled: true

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer loki
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_loki_service }}"
state: restarted

View file

@ -45,6 +45,7 @@
notify: Redemarrer loki
- name: Activer et demarrer Loki
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_loki_service }}"
enabled: true

View file

@ -1,11 +1,13 @@
---
- name: Valider la configuration nginx
when: not ansible_check_mode
ansible.builtin.command:
cmd: nginx -t
changed_when: false
listen: Valider et recharger nginx
- name: Recharger nginx
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_nginx_service_name }}"
state: reloaded

View file

@ -79,6 +79,7 @@
notify: Valider et recharger nginx
- name: Activer et demarrer nginx
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_nginx_service_name }}"
enabled: true

View file

@ -41,6 +41,7 @@
cache_valid_time: 3600
- name: Activer et demarrer slapd
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_openldap_service }}"
enabled: true

View file

@ -1,10 +1,12 @@
---
- name: Recharger PostgreSQL
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_postgresql_service_name }}"
state: reloaded
- name: Redemarrer PostgreSQL
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_postgresql_service_name }}"
state: restarted

View file

@ -56,6 +56,7 @@
notify: Recharger PostgreSQL
- name: Activer et demarrer PostgreSQL
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_postgresql_service_name }}"
enabled: true

View file

@ -3,10 +3,12 @@
ansible.builtin.command:
cmd: "named-checkzone {{ serveur_powerdns_zone }} {{ serveur_powerdns_zone_directory }}/{{ serveur_powerdns_zone }}.zone"
changed_when: false
when: not ansible_check_mode # en dry-run le fichier de zone n'existe pas encore
listen: Validate and reload PowerDNS
- name: Restart PowerDNS
ansible.builtin.systemd:
name: "{{ serveur_powerdns_service_name }}"
state: restarted
when: not ansible_check_mode # en dry-run le service n'existe pas encore
listen: Validate and reload PowerDNS

View file

@ -46,3 +46,7 @@
name: "{{ serveur_powerdns_service_name }}"
enabled: true
state: started
# Dry-run (--check) : le paquet n'est pas reellement installe, donc le service
# n'existe pas encore et systemd echouerait. On saute en mode check seulement ;
# en vrai deploiement, la tache s'execute normalement.
when: not ansible_check_mode

View file

@ -1,11 +1,13 @@
---
- name: Valider la configuration prometheus
when: not ansible_check_mode
ansible.builtin.command:
cmd: "promtool check config {{ serveur_prometheus_config }}"
changed_when: false
listen: Valider et recharger prometheus
- name: Redemarrer prometheus
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_prometheus_service }}"
state: restarted

View file

@ -25,6 +25,7 @@
notify: Valider et recharger prometheus
- name: Activer et demarrer Prometheus
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_prometheus_service }}"
enabled: true

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer redis
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_redis_service }}"
state: restarted

View file

@ -31,6 +31,7 @@
notify: Redemarrer redis
- name: Activer et demarrer Redis
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_redis_service }}"
enabled: true

View file

@ -1,11 +1,13 @@
---
- name: Verifier la configuration Postfix
when: not ansible_check_mode
ansible.builtin.command:
cmd: postfix check
changed_when: false
listen: Valider et recharger postfix
- name: Recharger postfix
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_sendmail_service_name }}"
state: reloaded

View file

@ -28,6 +28,7 @@
notify: Valider et recharger postfix
- name: Activer et demarrer Postfix
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_sendmail_service_name }}"
enabled: true

View file

@ -1,5 +1,6 @@
---
- name: Redemarrer step-ca
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_step_ca_service }}"
state: restarted

View file

@ -101,6 +101,7 @@
notify: Redemarrer step-ca
- name: Activer et demarrer step-ca
when: not ansible_check_mode
ansible.builtin.systemd:
name: "{{ serveur_step_ca_service }}"
enabled: true