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
|
# 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.
|
# prod federables avec un VMID a 5 chiffres ; elargir l'index pour davantage.
|
||||||
index = nomenclature.get("index", 9)
|
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 {
|
return {
|
||||||
"vmid": f"{index}{cat}{svc}{int(seq):02d}",
|
"vmid": vmid,
|
||||||
"vlan": c.get("vlan"),
|
"vlan": c.get("vlan"),
|
||||||
"adresse_ip": f"{base3}.{svc * 10 + int(seq)}",
|
"adresse_ip": f"{base3}.{hote}",
|
||||||
"passerelle": c.get("passerelle"),
|
"passerelle": c.get("passerelle"),
|
||||||
"cidr": nomenclature.get("cidr_hote", 24),
|
"cidr": nomenclature.get("cidr_hote", 24),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue