nomenclature : VMID 9 chiffres ip-miroir (opt-in, fédération)
Nouveau schema VMID 'ip-miroir' (vmid_schema dans la nomenclature) : 9 chiffres I·VVV·HHH·NN = index·VLAN·octet-hote·sequence. Le VMID contient l'IP (10.(10+index).VLAN.hote) + le tenant → lecture directe. Defaut 'compact' (retro-compatible) : les instances existantes (lab) gardent leurs VMID. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
20329895f7
commit
f7b8438cbd
1 changed files with 12 additions and 2 deletions
|
|
@ -325,10 +325,20 @@ def deriver_nomenclature(fonction: str, seq: int, nomenclature: dict) -> dict |
|
|||
# retro-compatible (instances sans index, bacs a sable). 1 chiffre -> 9 instances
|
||||
# prod federables avec un VMID a 5 chiffres ; elargir l'index pour davantage.
|
||||
index = nomenclature.get("index", 9)
|
||||
hote = svc * 10 + int(seq)
|
||||
# Schema du VMID. 'ip-miroir' (opt-in) : 9 chiffres mnemotechniques encodant
|
||||
# index + VLAN + octet-hote + sequence -> le VMID contient litteralement l'IP
|
||||
# (10.(10+index).VLAN.hote) et le tenant. 'compact' (defaut, retro-compatible) :
|
||||
# index.categorie.service.sequence (largeur variable, VMID des instances existantes).
|
||||
schema = nomenclature.get("vmid_schema", "compact")
|
||||
if schema == "ip-miroir":
|
||||
vmid = f"{index}{int(c.get('vlan', 0)):03d}{hote:03d}{int(seq):02d}"
|
||||
else:
|
||||
vmid = f"{index}{cat}{svc}{int(seq):02d}"
|
||||
return {
|
||||
"vmid": f"{index}{cat}{svc}{int(seq):02d}",
|
||||
"vmid": vmid,
|
||||
"vlan": c.get("vlan"),
|
||||
"adresse_ip": f"{base3}.{svc * 10 + int(seq)}",
|
||||
"adresse_ip": f"{base3}.{hote}",
|
||||
"passerelle": c.get("passerelle"),
|
||||
"cidr": nomenclature.get("cidr_hote", 24),
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue