Nomenclature ip-miroir : socle VLAN 1000 -> longueurs uniformes

VLAN = 1000 + index*10 + zone (toujours 4 chiffres) -> VMID 9 chiffres.
Longueurs uniformes et mnemotechniques.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-07-07 15:46:00 -04:00
parent e8aba1ab74
commit 4de04ec0e1
2 changed files with 13 additions and 5 deletions

View file

@ -2,6 +2,14 @@
## 2026-07-07 (soir)
### Modifié
- **Nomenclature `ip-miroir` : longueurs UNIFORMES.** Le VLAN dérivé passe à
`1000 + index×10 + zone`**toujours 4 chiffres** (1011..4094), donc le VMID
(`VLAN·octet·seq`) fait **toujours 9 chiffres**. Longueurs uniformes et mnémotechniques
(retirer 1000 redonne `index×10+zone`). Les deux tenants sont **convergés** sur le réseau
fédéré 10/8 : Chezlepro (idx 1) → VLANs 1011-1016 / 10.11.x ; Technolibre (idx 2) →
VLANs 1021-1026 / 10.12.x. Chezlepro quitte le bac-à-sable plat 192.168.15/VLAN 15.
### Ajouté
- **GUI : erreurs de déploiement en LANGAGE CLAIR.** Quand une action (créer/vérifier/déployer)
échoue, le GUI n'oblige plus à lire le dump Ansible : un encadré résume les tâches en erreur —

View file

@ -335,11 +335,11 @@ def deriver_nomenclature(fonction: str, seq: int, nomenclature: dict) -> dict |
# index.categorie.service.sequence (largeur variable, VMID des instances existantes).
schema = nomenclature.get("vmid_schema", "compact")
if schema == "ip-miroir":
# VLAN DERIVE : index x 10 + zone. Unique GLOBALEMENT sur un trunk convergE
# (chaque tenant a son bloc de 10 ; 1-9 reserves a l'infra partagee). Le VLAN
# contient deja le tenant (1er chiffre = index), donc le VMID MENE avec le VLAN
# (pas de chiffre d'index separe) et tient dans les 9 chiffres max de Proxmox.
vlan = index * 10 + int(cat)
# VLAN DERIVE : 1000 + index x 10 + zone. Le socle 1000 force le VLAN a
# TOUJOURS 4 chiffres (1011..4094) -> le VMID (VLAN.octet.seq) fait TOUJOURS
# 9 chiffres : LONGUEURS UNIFORMES et mnemotechniques. Unique GLOBALEMENT sur
# un trunk convergE (retirer 1000 redonne index x 10 + zone = tenant + zone).
vlan = 1000 + index * 10 + int(cat)
vmid = f"{vlan}{hote:03d}{int(seq):02d}"
else:
vlan = c.get("vlan")