Compare commits
2 commits
4ef3a1d553
...
9685e0bdbe
| Author | SHA1 | Date | |
|---|---|---|---|
| 9685e0bdbe | |||
| 2cf68c2d30 |
2 changed files with 126 additions and 0 deletions
93
CHANGELOG.md
93
CHANGELOG.md
|
|
@ -1,5 +1,98 @@
|
||||||
# CHANGELOG — Set-OPS
|
# 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
|
## 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
|
Quatorze machines detruites, quatorze refaites. **1 h 08**, 0 injoignable. La reconstruction
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,30 @@
|
||||||
#
|
#
|
||||||
# Le gabarit d'origine le documente lui-meme : « make changes to the master file in
|
# Le gabarit d'origine le documente lui-meme : « make changes to the master file in
|
||||||
# /etc/cloud/templates/hosts.debian.tmpl ».
|
# /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)
|
- name: Poser le plancher dans le gabarit maître de cloud-init (il survit au démarrage)
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: hosts.debian.tmpl.j2
|
src: hosts.debian.tmpl.j2
|
||||||
|
|
@ -149,6 +173,7 @@
|
||||||
when:
|
when:
|
||||||
- hosts_statiques_actif | bool
|
- hosts_statiques_actif | bool
|
||||||
- ansible_facts.os_family | default('') == 'Debian'
|
- 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).
|
# LA GARDE MESURE LE FAIT QUI COMPTE (2026-08-25).
|
||||||
#
|
#
|
||||||
|
|
@ -174,6 +199,8 @@
|
||||||
when:
|
when:
|
||||||
- hosts_statiques_actif | bool
|
- hosts_statiques_actif | bool
|
||||||
- ansible_facts.os_family | default('') == 'Debian'
|
- 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
|
- name: Refuser que le plancher et son gabarit maître divergent
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
|
|
@ -196,3 +223,9 @@
|
||||||
when:
|
when:
|
||||||
- hosts_statiques_actif | bool
|
- hosts_statiques_actif | bool
|
||||||
- ansible_facts.os_family | default('') == 'Debian'
|
- 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)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue