`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>
29 lines
1.1 KiB
YAML
29 lines
1.1 KiB
YAML
---
|
|
# `lock_timeout` sur CHAQUE tache apt : au premier demarrage, l'image Debian lance ses
|
|
# propres mises a jour (apt-daily, unattended-upgrades) et tient le verrou dpkg par
|
|
# vagues. Sans attente, la premiere tache echoue sur un verrou — pas sur une vraie
|
|
# erreur — et le deploiement d'une VM neuve devient un tirage au sort.
|
|
#
|
|
# Attendre ici plutot que seulement avant le playbook : le verrou peut etre repris
|
|
# ENTRE deux taches, ce qu'une verification ponctuelle en amont ne peut pas empecher.
|
|
- name: Mettre à jour le cache APT
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
lock_timeout: "{{ common_packages_lock_timeout }}"
|
|
|
|
- name: Appliquer les mises à jour disponibles
|
|
ansible.builtin.apt:
|
|
upgrade: full
|
|
lock_timeout: "{{ common_packages_lock_timeout }}"
|
|
|
|
- name: Installer les paquets communs
|
|
ansible.builtin.apt:
|
|
name: "{{ common_packages_list }}"
|
|
state: present
|
|
lock_timeout: "{{ common_packages_lock_timeout }}"
|
|
|
|
- name: Supprimer les dépendances devenues inutiles
|
|
ansible.builtin.apt:
|
|
autoremove: true
|
|
lock_timeout: "{{ common_packages_lock_timeout }}"
|