docs: synchroniser la doc avec l'état réel du cluster (revue Ansible + incident Qdrant)

- ops/ansible.md : tableau complet des rôles par playbook (15 storage-01, 6 gpu-01),
  caveat hermes_agent, note lm_studio inutilisé
- ia/hermes-auto-improve.md : NOUVEAU — doc du worker déployé (trigger :9095,
  modes du script, endpoints, PR squash, pièges connus)
- k8s/n8n.md : workflow 3 "Hermes Doc Worker" documenté (22h, /trigger/all,
  boucle de polling), clé API → vault
- incidents.md : Qdrant crash-loop depuis 2026-06-05 (segment funk-docs corrompu,
  invisible dans --state=failed) + procédure de réparation
- ia/rag.md : bandeau RAG HS
- CLAUDE.md : état 2026-06-10, rôle hermes_auto_improve, 3 workflows n8n,
  vault complet (n8n_api_key, Gmail au lieu de Brevo), section auto-improve
- README.md : lien admin/ops/cluster.md corrigé, arborescence complète
  (tools/, admin/, progress/, skills), roadmap à jour
- PROGRESS.md : entrée 2026-05-29 (migration NVMe) qui existait sans être référencée
- ansible : suppression effective des templates daily timer (cleanup b9be63c)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Alkatrazz 2026-06-10 15:11:53 +02:00
parent ddff71a0fb
commit 40fd7f0868
10 changed files with 270 additions and 42 deletions

View file

@ -1,9 +1,48 @@
# Incidents — Historique et résolutions
## 2026-06-05 — Qdrant en crash-loop : segment funk-docs corrompu (EN COURS)
### Symptômes
- `rag-query` et `rag-ingest``Connection refused` (port 6333 fermé)
- `systemctl status qdrant``activating (auto-restart)` en boucle, exit code 101
- **Invisible dans `systemctl --state=failed`** (l'unité reste en `activating`, jamais `failed`) — l'incident est passé inaperçu 5 jours
### Cause
Panic au démarrage de Qdrant 1.13.4 :
```
Failed to load local shard "/srv/data/qdrant/storage/collections/funk-docs/0":
Can't parse version from ".../segments/784eab54-.../version.info",
error: unexpected character 'D' while parsing minor version number
```
Le fichier `version.info` du segment contient `0.D\0` au lieu d'un numéro de version — corruption de données (première occurrence le 2026-06-05 à 21h10).
### Résolution (à appliquer)
La collection `funk-docs` est entièrement reconstructible depuis `admin/` :
```bash
sudo systemctl stop qdrant
sudo rm -rf /srv/data/qdrant/storage/collections/funk-docs
sudo systemctl start qdrant
curl -s http://127.0.0.1:6333/collections # doit répondre
/usr/local/bin/rag-ingest # ré-indexe /srv/data/rag/docs
```
### Prévention
- Ajouter une alerte Prometheus sur les unités systemd en `activating` prolongé (`node_systemd_unit_state`) — un crash-loop n'apparaît ni dans `failed` ni dans les alertes actuelles
---
## Index
| Date | Composant | Résumé | Sévérité |
|---|---|---|---|
| 2026-06-05 | Qdrant | **EN COURS** — crash-loop : segment `funk-docs` corrompu, RAG HS | Important |
| 2026-05-29 | RAID5 / sdb + storage-01 | sdb ATA bus errors sous I/O — migration /srv/data du RAID vers NVMe | Important |
| 2026-05-27 | RAID5 / sdd | Disque sdd défaillant (44 secteurs morts) — corruptions multiples en cascade | Critique |
| 2026-05-14 | Grafana | OOMKilled — limite 256Mi trop serrée pour Grafana 13 | Warning |