[33] Ajout collecteur #109
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!109
Loading…
Reference in a new issue
No description provided.
Delete branch "justine/33-collecte-bronze"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce que ça change
Ajout de la collecte bronze avec :
Closes #
Preuve
Relecture
Ce qui suit le code
docs/runbooks/mis à jour, un geste d'exploitation a changédocs/adr/complété, une décision structurante a été prisedocs/journal.mdcomplété, un incident a été rencontré.env.exampleOù regarder en priorité
Du très bon travail, et les trois critères du #33 sont réellement couverts. L'exception est attrapée site par site, l'objet est écrit même quand la source est muette, la clé porte l'horodatage de mesure et l'enveloppe celui de réception. Les tests tiennent l'idempotence par la clé plutôt que par un compteur, c'est la bonne façon.
L'ADR 0007 est ce que j'attends d'une fiche : elle nomme la dérogation à l'ADR 0001 au lieu de la laisser s'installer, elle la borne, et elle nomme elle-même son point faible, les identifiants racine de MinIO. Rien à ajouter dessus.
Vérifié de mon côté :
/currenthorodate à la seconde et avance à chaque appel, donc la troncature à la minute donne bien une clé par minute et par site, sans collision. Et la disposition dupyprojectdans le paquet est celle deservices/api, donc cohérente avec le dépôt.Trois corrections, en commentaires de ligne. La première est la seule qui touche le comportement.
Plus deux points mécaniques. La branche est en conflit avec
developsurdocs/adr/README.md, un seul fichier. EtCloses #est resté vide dans la description, donc le ticket n'est pas lié à la demande.@ -26,3 +26,3 @@## 2. État au 1er septembre## 2. État au 3 septembreTant que tu es dans ce tableau : les deux lignes juste au-dessus sont périmées.
MinIO y est encore en « non déployé », et le versioning en « non encore vérifié sur le serveur ». Or le conteneur est
Upethealthydepuis 20 heures, le ticket #28 est fermé, et le versioning debronzea été livré par la #87 puis corrigé par la #90, ticket #85 fermé ce matin.La convention annoncée en haut du document est que chaque composant porte son état réel.
@ -4,0 +8,4 @@| `collector.current` | **fait** — relève `/current`, une passe par minute, écriture brute en bronze || `collector.backfill` | **non commencé** — rattrapage `/readings` (EF-02), ticket #33 rouvert || Alertes | **non commencé** — ingestion et historisation (EF-05), ticket #33 rouvert |Le rattrapage
/readingset les alertes ne sont plus au #33 : ils sont partis au #107 ce matin, quand on a séparé les deux sources.Le #33 ne porte plus que la relève à la minute, c'est-à-dire exactement ce que cette demande livre. Il n'est donc pas « rouvert », il est complet une fois les corrections passées.
@ -0,0 +188,4 @@indisponible en est un — c'est le seul cas où de la mesure se perd."""return 0 if any(r.ecrit for r in releves) else 1anylaisse passer l'échec partiel. Si l'écriture bronze échoue pour six sites sur sept, la passe rend 0 et cron ne dit rien, alors que six mesures sont perdues.C'est la perte silencieuse que le critère 3 du ticket interdit. Le tableau du
README.mdne couvre d'ailleurs que « MinIO injoignable », qui fait tomber les sept d'un coup, et pas le cas partiel : refus sur une clé, objet rejeté, 503 transitoire sur un seul PUT.allau lieu deany. Le raisonnement du docstring reste juste, il est simplement à écrire sur tous les relevés plutôt que sur au moins un.