`idm-01` a prouve le routage inter-zone dans le VRF (10.27.19.21 -> 10.27.17.11, deux passerelles anycast) et leve trois defauts qu'aucun devis ne pouvait montrer : 1. Le handler de `client_pki` rechargeait `slapd` avant son installation — consequence directe de l'ordre retabli. Un consommateur absent n'est pas une erreur ; un vrai echec de rechargement reste fatal. 2. `resoudre_base` ne trouvait aucune base de portee `application` : Keycloak declare `consommateur: keycloak`, le role cherchait `serveur_keycloak`. Le lien est declare dans applications.yml — on le suit au lieu de retirer un prefixe a la main. 3. Keycloak attend PostgreSQL, pas encore deploye. Pas un defaut : `deployer` ne connait que l'ordre intra-hote, l'ordre inter-hotes est celui de `site`. Et deux attentes, sans lesquelles on ne peut pas enchainer creation et deploiement — donc sans lesquelles `myDay` ne reconstruit pas seul : SSH, puis cloud-init et les maj automatiques. `creer-vm` rend desormais une VM PRETE. `lock_timeout: 300` sur chaque tache apt complete l'attente : le verrou peut etre repris ENTRE deux taches, ce qu'une verification en amont ne previent pas. Defaut dans l'attente elle-meme : `unattended-upgrades` est un demon, toujours actif — l'inclure rendait la condition impossible a satisfaire. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1.1 KiB
YAML
28 lines
1.1 KiB
YAML
---
|
|
- name: Recharger systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
listen: Recharger systemd
|
|
|
|
# Apres une re-emission du cert (ex: nouveau SAN), recharger les services qui le
|
|
# servent (nginx, postfix, slapd...) sinon ils continuent de servir l'ancien cert.
|
|
#
|
|
# Un consommateur PAS ENCORE INSTALLE n'est pas une erreur : `client_pki` s'execute
|
|
# AVANT les services (couches de deploiement), donc `slapd` n'existe pas quand l'hote
|
|
# recoit son premier certificat. Le service prendra le cert deja pose a son
|
|
# installation. On ne tait que ce cas precis — un vrai echec de rechargement doit
|
|
# rester fatal, sinon un service continuerait a servir un certificat perime en silence.
|
|
- name: Recharger les consommateurs du cert
|
|
ansible.builtin.systemd:
|
|
name: "{{ item }}"
|
|
state: reloaded
|
|
loop: "{{ client_pki_reload_services }}"
|
|
loop_control:
|
|
label: "{{ item }}"
|
|
register: client_pki_rechargements
|
|
failed_when:
|
|
- client_pki_rechargements is failed
|
|
- "'Could not find the requested service' not in (client_pki_rechargements.msg | default(''))"
|
|
when:
|
|
- not ansible_check_mode
|
|
- client_pki_reload_services | length > 0
|