diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dc0a06..e675419 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,13 @@ rend `{'_erreur': …}`, et `rep or []` parcourait ce dict comme une liste vide. `ANCIEN_NOMMAGE` : sortie du devis sans cela, la zone aurait été lue comme étrangère et laissée en place, avec ses VLAN 1291-1296. +`devis_proxmox_fw.py` et `devis_proxmox_pools.py` balayaient encore TOUS les dossiers +frères (`decouvrir()`), alors que la frontière et le SDN s'en tiennent à +`underlay.tenants` (`decouvrir_du_site()`, dont la docstring le demandait déjà pour +« les devis qui équipent un site »). Le runner du site, qui gardait un clone de patient 0, +proposait donc de recréer ses groupes ; le poste comptait un dossier de CI comme tenant. +Les deux devis suivent maintenant la même liste : 2 tenants, et non 3. + Wiki republié (P60) : deux de ses pages nommaient patient 0. `make verifier` : 82 OK, 1 échec — P02, `test_ecriture_plan.py` sur `domaines.yml` (`'list' object has no attribute 'get'`), présent avant ce changement. diff --git a/scripts/devis_proxmox_fw.py b/scripts/devis_proxmox_fw.py index 194bf67..207e640 100644 --- a/scripts/devis_proxmox_fw.py +++ b/scripts/devis_proxmox_fw.py @@ -42,7 +42,7 @@ from resoudre_flux import ( # noqa: E402 _pairs, _resoudre_sources, ) -from devis_reseau import admin_de, decouvrir, inventaire_de, prefixe # noqa: E402 +from devis_reseau import admin_de, decouvrir_du_site, inventaire_de, prefixe # noqa: E402 LONGUEUR_MAX_GROUPE = 18 # limite de Proxmox pour un nom de groupe de securite @@ -385,7 +385,11 @@ def main(argv: list[str]) -> int: ap.add_argument("--verifier", action="store_true") args = ap.parse_args(argv) - devis = construire(decouvrir()) + # LES TENANTS DE CE SITE, PAS TOUTE LA FEDERATION (2026-09-28). Le balayage des + # dossiers freres ramenait un tenant retire dont le runner gardait le clone, et un + # dossier de CI sur le poste. La frontiere et le SDN filtraient deja par + # `underlay.tenants` ; ce devis equipe le meme cluster, il suit la meme liste. + devis = construire(decouvrir_du_site()) if args.verifier: total_g = sum(len(b["groupes"]) for b in devis["blocs"]) total_r = sum(len(g["regles"]) for b in devis["blocs"] for g in b["groupes"]) diff --git a/scripts/devis_proxmox_pools.py b/scripts/devis_proxmox_pools.py index 0846734..9f0fa12 100644 --- a/scripts/devis_proxmox_pools.py +++ b/scripts/devis_proxmox_pools.py @@ -49,7 +49,7 @@ from inventory_rules import (POOL_SITE, fonction_seq, pool_de, ) -from devis_reseau import DOSSIER_INSTANCES, decouvrir # noqa: E402 +from devis_reseau import DOSSIER_INSTANCES, decouvrir_du_site # noqa: E402 def _plan_de(nom_instance: str) -> dict: @@ -187,7 +187,8 @@ def main(argv: list[str]) -> int: print(POOL_SITE) return 0 - devis = construire(decouvrir()) + # Les tenants de CE SITE (voir `devis_proxmox_fw.main`, 2026-09-28). + devis = construire(decouvrir_du_site()) # LE SITE EST UN POOL AUSSI (2026-09-12). Les machines du genome — cache, forge, AC, # noms, depot, supervision — ne derivent d'aucun index : elles sont l'infrastructure # SUR laquelle les index vivent. D'ou un nom invariable, `Site-OPS`, identique d'un