Compare commits

..

No commits in common. "9685e0bdbeac950c989424852028c023a0dca271" and "4ef3a1d5539311c1934ee94b4045e7a751777cf1" have entirely different histories.

2 changed files with 0 additions and 126 deletions

View file

@ -1,98 +1,5 @@
# CHANGELOG — Set-OPS
## 2026-09-10 (9) — La reconstruction de confirmation : 0 echec, 34 minutes
Seconde reconstruction complete de Chezlepro dans la journee, cette fois pour EPROUVER les
quatre correctifs livres entre les deux. Rien de nouveau n'a ete construit : c'est une
mesure.
rc=0 0 echec 0 injoignable 14 / 14 machines
34 min contre 68 le matin meme
### Les quatre points, et leur verdict
| ce qui etait a eprouver | verdict |
|---|---|
| gabarit sur `CephNVMe` | phase de clonage **4 min 30** contre ~30 min |
| placement declare (`noeud: asgard`) | `{'asgard': 14}` — les quatorze au bon endroit |
| `hosts_statiques` conditionne a cloud-init | `changed` au 1er passage, `skipping` au 2e |
| `monitoring-plugins-basic` au role | `ping4` **14/14 OK** sur une `mon-01` nee neuve |
Le troisieme est le plus instructif : **les deux branches sont exercees dans la meme
execution.** `infra-pki-01` recoit le gabarit maitre de cloud-init au premier passage
(cloud-init est encore la), puis la tache est SAUTEE au second (le durcissement l'a
retire). Aucune preuve statique ne pouvait montrer cela — il fallait une naissance.
### Le facteur 6,6, et pourquoi ce n'est pas 45
Un clone isole sur Ceph prend 8 s contre 352 a 480 s sur TrueNAS : facteur 45. En
conditions reelles il tombe a **6,6** — quatre clones se disputent le meme pool, et le
redimensionnement du disque s'ajoute a la copie. On retient la mesure en conditions
reelles : celle qui compte est celle qu'on paie.
### Ce que les echecs du matin sont devenus
- **`/etc/cloud`** — corrige, prouve dans ses deux branches.
- **Verrou `dpkg`** — ne s'est pas reproduit. C'etait une course, pas un defaut de
structure ; rien ne dit qu'elle ne reviendra pas, et le dire vaut mieux que la declarer
reglee.
- **Cache apt** — **n'etait pas un defaut**. Les deux seuls `fatal:` de cette execution
sont suivis de `...ignoring` : ce sont les sondes de `client_artefacts`, qui cherchent le
cache du tenant, ne le trouvent pas, et laissent la machine servie par le plancher du
SITE. C'est la filiation en train de fonctionner. Le matin, j'avais compte ces deux
lignes comme des echecs sans lire la suivante.
- **`auditd` sans regles dans le gabarit** — toujours la, mais invisible : aucune machine
n'ayant decroche avant le socle, le CRITICAL transitoire a ete repare partout avant
d'etre mesure. *Un defaut qui ne se voit que lorsqu'autre chose casse reste un defaut.*
### Etat mesure
Icinga 89 OK | 9 UNKNOWN sur 98 — aucun WARNING, aucun CRITICAL
les 9 tous des `sauvegarde` : le minuteur nocturne n'a pas encore visite
une flotte nee il y a vingt minutes
La condition posee avant de retirer les disques `unused0`/`unused1` du gabarit sur TrueNAS
est **levee** : une flotte complete est nee du nouveau gabarit, sans un echec.
## 2026-09-10 (8) — Une garde qui survit a ce qu'elle gardait
Le defaut le plus couteux de la reconstruction, corrige. Il n'arretait rien de visible :
il faisait **taire** la supervision de deux machines.
`hosts_statiques` pose `/etc/cloud/templates/hosts.debian.tmpl` — le gabarit maitre dont
cloud-init regenere `/etc/hosts` a chaque demarrage. Or **D-85 fait retirer cloud-init**
par `serveur_durci`. Le repertoire part avec lui :
Destination directory /etc/cloud/templates does not exist
L'echec n'a aucun sens : ce gabarit ne sert qu'a survivre a une reecriture qui n'a plus
lieu. Plus de cloud-init, plus de reecriture — le plancher tient tout seul, **ce qui est
le resultat recherche par D-85**.
### Ce que ca a coute, et pourquoi c'etait invisible
`_amorcer-socle` monte `infra-pki-01` et `infra-dns-01` EN ENTIER d'abord, durcissement
compris. Cloud-init y est donc deja parti quand la flotte rejoue `hosts_statiques`. La
tache echouait, **l'hote sortait du play — et tout ce qui suivait n'etait jamais pose**,
dont `icinga-ca.crt`. Leur porteur de sante s'installait ensuite normalement, tournait, et
chaque rapport echouait sur `curl: (77) error setting certificate file`.
Deux machines ont supervise dans le vide sans que rien ne le dise. *Un echec bruyant au
bon endroit avait produit une panne muette ailleurs.*
### Et le correctif evident aurait deplace l'echec d'un cran
Sauter la tache ne suffisait pas : la garde qui SUIT compare le nombre d'entrees du
plancher a celui du gabarit maitre. Sans gabarit, elle compare 21 a 0 et echoue — elle
accuserait une divergence la ou il ne reste qu'un seul fichier.
**Une garde qui survit a ce qu'elle gardait ne mesure plus rien : elle invente.** Les trois
taches — pose, releve, assertion — suivent desormais la meme condition : le repertoire des
gabarits maitres existe-t-il encore ?
Verifie sur les deux machines memes qui echouaient : `failed=0`, cloud-init absent,
plancher a 21 entrees.
## 2026-09-10 (7) — D-86 mis a l'epreuve : Chezlepro rasee et refaite depuis zero
Quatorze machines detruites, quatorze refaites. **1 h 08**, 0 injoignable. La reconstruction

View file

@ -139,30 +139,6 @@
#
# Le gabarit d'origine le documente lui-meme : « make changes to the master file in
# /etc/cloud/templates/hosts.debian.tmpl ».
# ... MAIS SEULEMENT TANT QUE CLOUD-INIT EST LA (2026-09-10).
#
# D-85 fait RETIRER cloud-init par `serveur_durci`. Le repertoire des gabarits maitres
# part avec lui, et cette tache echoue alors sur :
#
# Destination directory /etc/cloud/templates does not exist
#
# Or l'echec n'a aucun sens : ce gabarit ne sert qu'a une chose, survivre a la reecriture
# de `/etc/hosts` par cloud-init au demarrage. Plus de cloud-init, plus de reecriture —
# le plancher tient tout seul, ce qui EST le resultat recherche par D-85.
#
# CE QUE CA A COUTE (reconstruction du 2026-09-10). `_amorcer-socle` monte `infra-pki-01`
# et `infra-dns-01` EN ENTIER d'abord, durcissement compris : cloud-init y est donc deja
# parti quand la flotte rejoue `hosts_statiques`. La tache echouait, l'hote sortait du
# play — et TOUT ce qui suivait dans ce play n'etait jamais pose, dont `icinga-ca.crt`.
# Leur porteur de sante tournait ensuite normalement et chaque rapport echouait sur
# `curl: (77)`, en silence. Deux machines ont supervise dans le vide sans que rien ne le
# dise : un echec bruyant au bon endroit avait produit une panne muette ailleurs.
- name: Le gabarit maître de cloud-init existe-t-il encore ?
ansible.builtin.stat:
path: /etc/cloud/templates
register: hosts_statiques_gabarits_cloud_init
when: hosts_statiques_actif | bool
- name: Poser le plancher dans le gabarit maître de cloud-init (il survit au démarrage)
ansible.builtin.template:
src: hosts.debian.tmpl.j2
@ -173,7 +149,6 @@
when:
- hosts_statiques_actif | bool
- ansible_facts.os_family | default('') == 'Debian'
- hosts_statiques_gabarits_cloud_init.stat.isdir | default(false)
# LA GARDE MESURE LE FAIT QUI COMPTE (2026-08-25).
#
@ -199,8 +174,6 @@
when:
- hosts_statiques_actif | bool
- ansible_facts.os_family | default('') == 'Debian'
# Rien a relever quand le gabarit maitre n'existe plus (cloud-init retire, D-85).
- hosts_statiques_gabarits_cloud_init.stat.isdir | default(false)
- name: Refuser que le plancher et son gabarit maître divergent
ansible.builtin.assert:
@ -223,9 +196,3 @@
when:
- hosts_statiques_actif | bool
- ansible_facts.os_family | default('') == 'Debian'
# LA GARDE SUIT SON OBJET. Elle protege le plancher d'une REECRITURE par cloud-init ;
# sans cloud-init, il n'y a plus de reecriture et plus de gabarit a comparer. La
# laisser tourner ferait echouer sur « 34 contre 0 » — c'est-a-dire accuser une
# divergence la ou il n'y a plus qu'un seul fichier. Une garde qui survit a ce qu'elle
# gardait ne mesure plus rien : elle invente.
- hosts_statiques_gabarits_cloud_init.stat.isdir | default(false)